Skip to content

Instantly share code, notes, and snippets.

@janbrohl
Created June 2, 2016 08:35
Show Gist options
  • Save janbrohl/c614d2b4a2aee805d93428a2cbc44df5 to your computer and use it in GitHub Desktop.
Save janbrohl/c614d2b4a2aee805d93428a2cbc44df5 to your computer and use it in GitHub Desktop.
KSP-AVC version file JSON-Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "AVC-File",
"description": "A KSP-AVC Version file's content",
"type": "object",
"properties": {
"NAME": {
"description": "The display name for the add-on.",
"type": "string"
},
"URL": {
"description": "Location of a remote version file for update checking",
"type": "string",
"format": "uri"
},
"DOWNLOAD": {
"description": "Web address where the latest version can be downloaded",
"type": "string"
},
"CHANGE_LOG": {
"description": "The complete or incremental change log for the add-on",
"type": "string"
},
"CHANGE_LOG_URL": {
"description": "Populates the CHANGE_LOG field using the file at this url",
"type": "string"
},
"GITHUB": {
"description": "Allows KSP-AVC to do release checks with GitHub including setting a download location if one is not specified.\nIf the latest release version is not equal to the version in the file, an update notification will not appear",
"type": "object",
"properties": {
"USERNAME ": {
"description": "Your GitHub username",
"type": "string"
},
"REPOSITORY ": {
"description": "The name of the source repository",
"type": "string"
},
"ALLOW_PRE_RELEASE ": {
"description": "Include pre-releases in the latest release search",
"type": "boolean"
}
},
"required": [
"USERNAME",
"REPOSITORY"
]
},
"VERSION": {
"description": "The version of the add-on",
"$ref": "#/definitions/version"
},
"KSP_VERSION": {
"description": "Version of KSP that the add-on was made to support",
"$ref": "#/definitions/version"
},
"KSP_VERSION_MIN": {
"description": "Minimum version of KSP that the add-on supports",
"$ref": "#/definitions/version"
},
"KSP_VERSION_MAX": {
"description": "Maximum version of KSP that the add-on supports",
"$ref": "#/definitions/version"
}
},
"required": [
"NAME",
"VERSION"
],
"dependencies": {
"KSP_VERSION_MAX": [
"KSP_VERSION"
],
"KSP_VERSION_MIN": [
"KSP_VERSION"
]
},
"definitions": {
"version": {
"description": "A semantic(?) version",
"type": "object",
"properties": {
"MAJOR": {
"description": "Change major version when you make incompatible API changes",
"type": "integer"
},
"MINOR": {
"description": "Change minor version when you add functionality in a backwards-compatible manner",
"type": "integer"
},
"PATCH": {
"description": "Change patch version when you make backwards-compatible bug fixes",
"type": "integer"
},
"BUILD": {
"description": "Build informaion",
"type": "integer"
}
},
"required": [
"MAJOR"
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment