-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathextension-schema.json
More file actions
152 lines (152 loc) · 6.83 KB
/
extension-schema.json
File metadata and controls
152 lines (152 loc) · 6.83 KB
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
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Extension schema",
"description": "Schema for extension.json file in an OCDS extension.",
"type": "object",
"required": [
"name",
"description",
"documentationUrl",
"contactPoint",
"compatibility"
],
"additionalProperties": false,
"properties": {
"name": {
"title": "Name",
"description": "The sentence-case name of the extension.\n\nFor backwards compatibility, it is an object in which keys are language codes (ISO 639-1), and values are the name in that language.",
"type": "object",
"required": [
"en"
],
"minProperties": 1,
"additionalProperties": false,
"patternProperties": {
"^(ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bl|bm|bn|bo|bq|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|en|er|es|et|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mf|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sq|sr|ss|st|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)$": {
"type": "string",
"minLength": 1
}
}
},
"description": {
"title": "Description",
"description": "The concise description of the changes made by the extension, at a high level.\n\nFor backwards compatibility, it is an object in which keys are language codes (ISO 639-1), and values are the description in that language.",
"type": "object",
"required": [
"en"
],
"minProperties": 1,
"additionalProperties": false,
"patternProperties": {
"^(ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bl|bm|bn|bo|bq|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|en|er|es|et|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mf|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sq|sr|ss|st|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)$": {
"type": "string",
"minLength": 1
}
}
},
"documentationUrl": {
"title": "Documentation URL",
"description": "The URL of the documentation for the extension. For example, the extension's GitHub page.\n\nFor backwards compatibility, it is an object in which keys are language codes (ISO 639-1), and values are the URL of the documentation in that language.",
"type": "object",
"required": [
"en"
],
"minProperties": 1,
"additionalProperties": false,
"patternProperties": {
"^(ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bl|bm|bn|bo|bq|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|en|er|es|et|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mf|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sq|sr|ss|st|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)$": {
"type": "string",
"format": "uri"
}
}
},
"contactPoint": {
"title": "Contact point",
"description": "The contact point to communicate with the extension's authors or maintainers. The contact point can be an individual or organization.",
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"title": "Name",
"description": "The name of the contact point.",
"type": "string",
"minLength": 1
},
"email": {
"title": "Email",
"description": "The email address of the contact point.",
"type": "string",
"format": "email"
}
},
"minProperties": 1
},
"compatibility": {
"title": "Compatibility",
"description": "The minor versions of OCDS that the extension is compatible with. For example: `[\"1.1\"]`",
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"enum": [
"1.1"
]
},
"uniqueItems": true
},
"codelists": {
"title": "Extension codelists",
"description": "The filenames of the codelist files in the extension's codelists directory. For example: `[\"codelistName.csv\", \"+partyRole.csv\"]`",
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"pattern": "^.+\\.csv$"
},
"uniqueItems": true
},
"schemas": {
"title": "Extension schemas",
"description": "The filenames of the schema files in the extension's root directory. For example: `[\"release-schema.json\"]`",
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"enum": [
"record-package-schema.json",
"release-package-schema.json",
"release-schema.json"
]
},
"uniqueItems": true
},
"dependencies": {
"title": "Dependencies",
"description": "The URLs of other extensions, whose definitions are referenced by the extension's schema, using $ref. For example: `[\"https://raw.githubusercontent.com/open-contracting-extensions/ocds_location_extension/master/extension.json\"]`",
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"format": "uri",
"pattern": "^.+/extension\\.json$"
},
"uniqueItems": true
},
"testDependencies": {
"title": "Test dependencies",
"description": "The URLs of other extensions, needed to test the extension.",
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"format": "uri",
"pattern": "^.+/extension\\.json$"
},
"uniqueItems": true
}
},
"minProperties": 1
}