183 строки
4.2 KiB
JSON
183 строки
4.2 KiB
JSON
{
|
|
"title": "JSON schema for EVM configuration files",
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"$schema": {
|
|
"type": "string",
|
|
"format": "uri-reference"
|
|
},
|
|
"defaultTarget": {
|
|
"description": "Default build target",
|
|
"type": "string",
|
|
"default": "electron"
|
|
},
|
|
"preserveSDK": {
|
|
"description": "Preserve the N most recent Xcode SDK versions",
|
|
"type": "integer",
|
|
"default": 5,
|
|
"minimum": 1
|
|
},
|
|
"execName": {
|
|
"description": "Name of the built executable to run",
|
|
"type": "string",
|
|
"default": "Electron",
|
|
"minLength": 1
|
|
},
|
|
"extends": {
|
|
"description": "Name of base config to extend",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"reclient": {
|
|
"description": "Whether to use the Electron RBE infrastructure",
|
|
"type": "string",
|
|
"enum": [
|
|
"remote_exec",
|
|
"none"
|
|
]
|
|
},
|
|
"reclientHelperPath": {
|
|
"description": "Path to alternative reclient credential helper",
|
|
"type": "string"
|
|
},
|
|
"reclientServiceAddress": {
|
|
"description": "Alternative RBE cluster address",
|
|
"type": "string"
|
|
},
|
|
"root": {
|
|
"description": "Path of the top directory. Home of the .gclient file",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"remotes": {
|
|
"description": "Remotes for Git checkouts",
|
|
"type": "object",
|
|
"properties": {
|
|
"electron": {
|
|
"description": "Remotes for the Electron repo",
|
|
"type": "object",
|
|
"properties": {
|
|
"fork": {
|
|
"description": "Fork remote",
|
|
"type": "string",
|
|
"anyOf": [
|
|
{
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"pattern": "^git@.+$"
|
|
}
|
|
],
|
|
"minLength": 1
|
|
},
|
|
"origin": {
|
|
"description": "Origin remote",
|
|
"type": "string",
|
|
"anyOf": [
|
|
{
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"pattern": "^git@.+$"
|
|
}
|
|
],
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"origin"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"electron"
|
|
]
|
|
},
|
|
"gen": {
|
|
"description": "Configuration for GN",
|
|
"type": "object",
|
|
"properties": {
|
|
"args": {
|
|
"description": "Extra arguments for GN",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"out": {
|
|
"description": "Output directory",
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"args",
|
|
"out"
|
|
]
|
|
},
|
|
"env": {
|
|
"description": "Environment variables set when building Electron",
|
|
"type": "object",
|
|
"properties": {
|
|
"GIT_CACHE_PATH": {
|
|
"description": "Path to use as git cache for gclient",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"CHROMIUM_BUILDTOOLS_PATH": {
|
|
"description": "Path of Chromium buildtools in the checkout",
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"CHROMIUM_BUILDTOOLS_PATH"
|
|
]
|
|
},
|
|
"configValidationLevel": {
|
|
"description": "Validation level for this configuration",
|
|
"type": "string",
|
|
"enum": [
|
|
"strict",
|
|
"warn",
|
|
"none"
|
|
],
|
|
"default": "strict"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"oneOf": [
|
|
{
|
|
"required": [
|
|
"extends"
|
|
]
|
|
},
|
|
{
|
|
"properties": {
|
|
"defaultTarget": {
|
|
"type": "string",
|
|
"pattern": "chrome"
|
|
}
|
|
},
|
|
"required": [
|
|
"defaultTarget",
|
|
"env",
|
|
"root"
|
|
]
|
|
},
|
|
{
|
|
"required": [
|
|
"root",
|
|
"remotes",
|
|
"gen",
|
|
"env"
|
|
]
|
|
}
|
|
]
|
|
}
|