Skip to content

Commit

Permalink
Improve schema
Browse files Browse the repository at this point in the history
* Use architecture definition

* Arrays of string shouldn't be empty

* Add back uniqueItems directive

* match version against pattern from install.ps1

* reindent
  • Loading branch information
Richard Kuhnt committed Feb 18, 2017
1 parent b9d33e9 commit ecd2d16
Showing 1 changed file with 50 additions and 118 deletions.
168 changes: 50 additions & 118 deletions schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,27 @@
"bin": {
"$ref": "#/definitions/stringOrArrayOfStringsOrAnArrayOfArrayOfStrings"
},
"checkver": {
"$ref": "#/definitions/checkver"
},
"extract_dir": {
"$ref": "#/definitions/stringOrArrayOfOneOrMoreStrings"
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"hash": {
"$ref": "#/definitions/stringOrArrayOfOneOrMoreStrings"
"$ref": "#/definitions/stringOrArrayOfUniqueStrings"
},
"installer": {
"$ref": "#/definitions/installer"
},
"msi": {
"$ref": "#/definitions/stringOrArrayOfOneOrMoreStrings",
"$ref": "#/definitions/stringOrArrayOfStrings",
"description": "Deprecated"
},
"post_install": {
"$ref": "#/definitions/stringOrArrayOfOneOrMoreStrings"
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"pre_install": {
"$ref": "#/definitions/stringOrArrayOfOneOrMoreStrings"
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"uninstaller": {
"$ref": "#/definitions/uninstaller"
Expand All @@ -42,8 +45,10 @@
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"minItems": 1,
"type": "array"
},
"autoupdate": {
Expand Down Expand Up @@ -82,7 +87,7 @@
"type": "object"
},
"extract_dir": {
"$ref": "#/definitions/stringOrArrayOfOneOrMoreStrings"
"type": "string"
},
"hash": {
"additionalProperties": false,
Expand Down Expand Up @@ -185,44 +190,37 @@
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
}
]
},
"stringOrArrayOfOneOrMoreStrings": {
"stringOrArrayOfStringsOrAnArrayOfArrayOfStrings": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"minItems": 1,
"type": "array"
}
]
},
"stringOrArrayOfStringsOrAnArrayOfArrayOfStrings": {
"stringOrArrayOfUniqueStrings": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
"type": "string"
},
"type": "array"
"minItems": 1,
"type": "array",
"uniqueItems": true
}
]
},
Expand All @@ -244,21 +242,22 @@
"anyOf": [
{
"format": "uri",
"type": "string",
"not": {
"pattern": "(\\$)"
}
},
"type": "string"
},
{
"items": {
"format": "uri",
"type": "string",
"not": {
"pattern": "(\\$)"
}
},
"type": "string"
},
"minItems": 1,
"type": "array"
"type": "array",
"uniqueItems": true
}
]
}
Expand All @@ -272,78 +271,10 @@
"additionalProperties": false,
"properties": {
"32bit": {
"additionalProperties": false,
"properties": {
"bin": {
"$ref": "#/definitions/stringOrArrayOfStringsOrAnArrayOfArrayOfStrings"
},
"checkver": {
"$ref": "#/definitions/checkver"
},
"extract_dir": {
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"hash": {
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"installer": {
"$ref": "#/definitions/installer"
},
"msi": {
"$ref": "#/definitions/stringOrArrayOfStrings",
"description": "Deprecated"
},
"post_install": {
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"pre_install": {
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"uninstaller": {
"$ref": "#/definitions/uninstaller"
},
"url": {
"$ref": "#/definitions/uriOrArrayOfUris"
}
},
"type": "object"
"$ref": "#/definitions/architecture"
},
"64bit": {
"additionalProperties": false,
"properties": {
"bin": {
"$ref": "#/definitions/stringOrArrayOfStringsOrAnArrayOfArrayOfStrings"
},
"checkver": {
"$ref": "#/definitions/checkver"
},
"extract_dir": {
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"hash": {
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"installer": {
"$ref": "#/definitions/installer"
},
"msi": {
"$ref": "#/definitions/stringOrArrayOfStrings",
"description": "Deprecated"
},
"post_install": {
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"pre_install": {
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"uninstaller": {
"$ref": "#/definitions/uninstaller"
},
"url": {
"$ref": "#/definitions/uriOrArrayOfUris"
}
},
"type": "object"
"$ref": "#/definitions/architecture"
}
},
"type": "object"
Expand Down Expand Up @@ -382,7 +313,7 @@
"description": "Undocumented: only found in scoop/ruby*"
},
"hash": {
"$ref": "#/definitions/stringOrArrayOfStrings"
"$ref": "#/definitions/stringOrArrayOfUniqueStrings"
},
"homepage": {
"format": "uri",
Expand Down Expand Up @@ -411,9 +342,27 @@
"pre_install": {
"$ref": "#/definitions/stringOrArrayOfStrings"
},
"psmodule": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
}
},
"type": "object"
},
"shortcuts": {
"$ref": "#/definitions/arrayOfArrayOfStrings"
},
"suggest": {
"additionalProperties": false,
"patternProperties": {
"^(.*)$": {
"$ref": "#/definitions/stringOrArrayOfStrings"
}
},
"type": "object"
},
"travel_dirs": {
"$ref": "#/definitions/stringOrArrayOfStrings",
"description": "Undocumented: only found in scoop-extras/kibana"
Expand All @@ -425,30 +374,13 @@
"$ref": "#/definitions/uriOrArrayOfUris"
},
"version": {
"pattern": "^[\\w\\.\\-_]+$",
"type": "string"
},
"suggest": {
"additionalProperties": false,
"patternProperties": {
"^(.*)$": {
"$ref": "#/definitions/stringOrArrayOfStrings"
}
},
"type": "object"
},
"psmodule": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
}
},
"type": "object"
}
},
"title": "scoop app manifest schema",
"type": "object",
"required": [
"version"
]
],
"title": "scoop app manifest schema",
"type": "object"
}

0 comments on commit ecd2d16

Please sign in to comment.