221 lines
5.5 KiB
JSON
221 lines
5.5 KiB
JSON
{
|
|
"type": "object",
|
|
"properties": {
|
|
"schemaVersion": {
|
|
"const": "1.0"
|
|
},
|
|
"contexts": {
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"maxProperties": 128,
|
|
"propertyNames": {
|
|
"type": "string",
|
|
"pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$",
|
|
"maxLength": 128
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"applicationModule": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 512
|
|
},
|
|
"mavenProfiles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 512
|
|
},
|
|
"uniqueItems": true,
|
|
"maxItems": 128
|
|
},
|
|
"launchMode": {
|
|
"enum": [
|
|
"classpath",
|
|
"module-path"
|
|
]
|
|
},
|
|
"buildRuntime": {
|
|
"type": "string",
|
|
"pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$",
|
|
"maxLength": 128
|
|
},
|
|
"targetRuntime": {
|
|
"type": "string",
|
|
"pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$",
|
|
"maxLength": 128
|
|
},
|
|
"buildJava": {
|
|
"type": "integer",
|
|
"minimum": 21,
|
|
"maximum": 99
|
|
},
|
|
"targetJava": {
|
|
"type": "integer",
|
|
"minimum": 21,
|
|
"maximum": 99
|
|
},
|
|
"requiredCapabilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 512
|
|
},
|
|
"uniqueItems": true,
|
|
"maxItems": 128
|
|
},
|
|
"preview": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sourceSet": {
|
|
"enum": [
|
|
"module",
|
|
"test"
|
|
]
|
|
},
|
|
"module": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 512
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 512
|
|
},
|
|
"defaultExample": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 512
|
|
},
|
|
"examples": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 512
|
|
},
|
|
"uniqueItems": true,
|
|
"maxItems": 128
|
|
},
|
|
"requestTimeoutSeconds": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 300
|
|
},
|
|
"readinessTimeoutSeconds": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 300
|
|
}
|
|
},
|
|
"required": [
|
|
"sourceSet",
|
|
"provider"
|
|
],
|
|
"additionalProperties": false,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"sourceSet": {
|
|
"const": "module"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"required": [
|
|
"module"
|
|
]
|
|
},
|
|
"else": {
|
|
"not": {
|
|
"required": [
|
|
"module"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"modulePath": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entryModule": {
|
|
"type": "string",
|
|
"pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$",
|
|
"maxLength": 128
|
|
},
|
|
"addReads": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 512
|
|
},
|
|
"uniqueItems": true,
|
|
"maxItems": 128
|
|
},
|
|
"addOpens": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 512
|
|
},
|
|
"uniqueItems": true,
|
|
"maxItems": 128
|
|
}
|
|
},
|
|
"required": [
|
|
"entryModule"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"applicationModule",
|
|
"launchMode",
|
|
"buildRuntime",
|
|
"targetRuntime",
|
|
"preview"
|
|
],
|
|
"additionalProperties": false,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"launchMode": {
|
|
"const": "module-path"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"required": [
|
|
"modulePath"
|
|
]
|
|
},
|
|
"else": {
|
|
"not": {
|
|
"required": [
|
|
"modulePath"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"schemaVersion",
|
|
"contexts"
|
|
],
|
|
"additionalProperties": false,
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "urn:neitzelfxdesigner:configuration:1.0"
|
|
}
|