1# SPDX-License-Identifier: Apache-2.0
2#
3# Copyright (c) 2024, Nordic Semiconductor ASA
4
5# A pykwalify schema for basic validation of the Zephyr build info YAML file.
6
7type: map
8mapping:
9  version:
10    required: true
11    type: str
12  cmake:
13    type: map
14    mapping:
15      application:
16        type: map
17        mapping:
18          source-dir:
19            type: str
20          configuration-dir:
21            type: str
22      board:
23        type: map
24        mapping:
25          name:
26            required: true
27            type: str
28          qualifiers:
29            type: str
30          revision:
31            type: str
32          path:
33            type: seq
34            sequence:
35              - type: str
36      devicetree:
37        type: map
38        mapping:
39          files:
40            type: seq
41            sequence:
42              - type: str
43          user-files:
44            type: seq
45            sequence:
46              - type: str
47          extra-user-files:
48            type: seq
49            sequence:
50              - type: str
51          include-dirs:
52            type: seq
53            sequence:
54              - type: str
55          bindings-dirs:
56            type: seq
57            sequence:
58              - type: str
59      images:
60        type: seq
61        sequence:
62          - type: map
63            mapping:
64              name:
65                type: str
66              source-dir:
67                type: str
68              type:
69                type: str
70      kconfig:
71        type: map
72        mapping:
73          files:
74            type: seq
75            sequence:
76              - type: str
77          user-files:
78            type: seq
79            sequence:
80              - type: str
81          extra-user-files:
82            type: seq
83            sequence:
84              - type: str
85      llext-edk:
86        type: map
87        mapping:
88          cflags:
89            type: seq
90            sequence:
91              - type: str
92          file:
93            type: str
94          include-dirs:
95            type: seq
96            sequence:
97              - type: str
98      sysbuild:
99        type: bool
100      toolchain:
101        type: map
102        mapping:
103          name:
104            type: str
105          version:
106            type: str
107          path:
108            type: str
109      zephyr:
110        type: map
111        mapping:
112          zephyr-base:
113            type: str
114          version:
115            type: str
116      vendor-specific:
117        type: map
118        mapping:
119          regex;(.*):
120            type: map
121            mapping:
122              regex;(.*):
123                type: str
124  west:
125    type: map
126    mapping:
127      command:
128        type: str
129      topdir:
130        type: str
131      version:
132        type: str
133