This does a couple of nice things, one is that editors like vscode can be configured to use this schema to provide auto completion and error highlighting if invalid values are added or required values are missing. It also allows us test that the format of the test matrix work in a unit test, which I've added. It does require that the python jsonschema package is installed.pull/6816/head
parent
91050e0c7c
commit
e0c9259e79
4 changed files with 143 additions and 2 deletions
@ -0,0 +1,105 @@ |
||||
{ |
||||
"type": "object", |
||||
"properties": { |
||||
"env": { |
||||
"type": "object", |
||||
"additionalProperties": { |
||||
"type": "string" |
||||
} |
||||
}, |
||||
"installed": { |
||||
"type": "array", |
||||
"items": { |
||||
"type": "object", |
||||
"properties": { |
||||
"file": { |
||||
"type": "string" |
||||
}, |
||||
"type": { |
||||
"type": "string", |
||||
"enum": [ |
||||
"file", |
||||
"exe", |
||||
"shared_lib", |
||||
"pdb", |
||||
"implib", |
||||
"implibempty", |
||||
"expr" |
||||
] |
||||
}, |
||||
"platform": { |
||||
"type": "string", |
||||
"enum": [ |
||||
"msvc", |
||||
"gcc", |
||||
"cygwin", |
||||
"!cygwin" |
||||
] |
||||
}, |
||||
"version": { |
||||
"type": "string" |
||||
}, |
||||
"language": { |
||||
"type": "string" |
||||
} |
||||
}, |
||||
"required": [ |
||||
"file", |
||||
"type" |
||||
] |
||||
} |
||||
}, |
||||
"matrix": { |
||||
"type": "object", |
||||
"additionalProperties": { |
||||
"properties": { |
||||
"options": { |
||||
"type": "array", |
||||
"items": { |
||||
"type": "object", |
||||
"properties": { |
||||
"val": { |
||||
"type": "string" |
||||
}, |
||||
"compilers": { |
||||
"type": "object", |
||||
"additionalProperties": { |
||||
"type": "string" |
||||
} |
||||
}, |
||||
"skip_on_env": { |
||||
"type": "array", |
||||
"items": { |
||||
"type": "string" |
||||
} |
||||
} |
||||
}, |
||||
"required": [ |
||||
"val" |
||||
] |
||||
} |
||||
}, |
||||
"exclude": { |
||||
"type": "array", |
||||
"items": { |
||||
"type": "object", |
||||
"additionalProperties": { |
||||
"type": "string" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"do_not_set_opts": { |
||||
"type": "array", |
||||
"items": { |
||||
"type": "string", |
||||
"enum": [ |
||||
"libdir", |
||||
"prefix" |
||||
] |
||||
} |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue