-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapplication.schema.json
165 lines (164 loc) · 5.16 KB
/
application.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://nordicsemiconductor.github.io/nrfprogrammer-firmware-images/application.schema.json",
"title": "nRF Programmer firmware images application manifest",
"description": "Describes the manifest that decribes application firmware.",
"type": "object",
"properties": {
"$schema": {
"description": "URL to the JSON schema in use",
"type": "string",
"format": "url"
},
"app_id": {
"description": "Globally unique application ID",
"examples": ["0e68201e-845d-424b-b3c9-1665b4788ef1"],
"type": "string",
"format": "uuid",
"minLength": 1
},
"app_name": {
"description": "Display name of the application",
"examples": ["Peripheral LBS"],
"type": "string",
"minLength": 1
},
"user_id": {
"description": "ID of the application author. '00005900-0000-1000-8000-00805F9B34FB' is Nordic Semiconductor.",
"examples": [
"00005900-0000-1000-8000-00805F9B34FB",
"9ff7fed0-ca14-42c2-94f0-c52ec849c51e"
],
"type": "string",
"format": "uuid",
"minLength": 1
},
"description": {
"description": "Application description",
"examples": [
"The Peripheral LBS sample demonstrates how to use the LED Button Service (LBS)."
],
"type": "string",
"minLength": 1
},
"tags": {
"description": "Listf of tags (only lowercase characters and space)",
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"pattern": "^[a-z ]{1,}$",
"examples": ["lbs", "led", "button"]
}
},
"versions": {
"description": "Available versions",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"version": {
"description": "The semantic version identifier",
"examples": ["1.0.0"],
"type": "string",
"pattern": "^[0-9]+.[0-9]+.[0-9]+$"
},
"release_notes": {
"description": "Release notes for this version",
"examples": ["Initial release"],
"type": "string",
"minLength": 1
},
"requires_bonding": {
"description": "Whether this version of the application requires Bluetooth Low Energy bonding.",
"type": "boolean"
},
"links": {
"description": "Links to further information about this version of the application",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"text": {
"description": "Label for the link",
"examples": ["Documentation"],
"type": "string",
"minLength": 1
},
"url": {
"description": "The URL to use for the link",
"examples": [
"https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.7.0/nrf/samples/bluetooth/peripheral_lbs/README.html"
],
"type": "string",
"format": "url"
}
},
"additionalProperties": false,
"required": ["text", "url"]
}
},
"board": {
"description": "Describes the hardware this application can be flashed to",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"name": {
"description": "The identifier of the board",
"enum": ["thingy53_nrf5340"]
},
"build_config": {
"description": "The available images for the board",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"name": {
"description": "The identifier of the image",
"examples": ["sample"],
"type": "string",
"minLength": 1
},
"file": {
"description": "The filename of the image, relative to the URL of the manifest",
"type": "string",
"minLength": 1
}
},
"required": ["name", "file"],
"additionalProperties": false
}
}
},
"required": ["name", "build_config"],
"additionalProperties": false
}
}
},
"additionalProperties": false,
"required": [
"version",
"release_notes",
"requires_bonding",
"links",
"board"
]
}
}
},
"additionalProperties": false,
"required": [
"$schema",
"app_id",
"app_name",
"user_id",
"description",
"tags",
"versions"
]
}