summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHarmen Stoppels <me@harmenstoppels.nl>2023-10-20 09:51:49 +0200
committerGitHub <noreply@github.com>2023-10-20 09:51:49 +0200
commit468f6c757edbd7ae72b822bfab5f435ebfa4bf69 (patch)
treec2e4f7e9d4c550d0e3a90577297206bc6bc14e79 /lib
parent0907d437838cd3392708d2e0a2053b51e63f45ee (diff)
downloadspack-468f6c757edbd7ae72b822bfab5f435ebfa4bf69.tar.gz
spack-468f6c757edbd7ae72b822bfab5f435ebfa4bf69.tar.bz2
spack-468f6c757edbd7ae72b822bfab5f435ebfa4bf69.tar.xz
spack-468f6c757edbd7ae72b822bfab5f435ebfa4bf69.zip
schema/compilers.py: fix validation of 2+ entries (#40627)
Fix the following syntax which validates only the first array entry: ```python "compilers": { "type": "array", "items": [ { "type": ... } ] } ``` to ```python "compilers": { "type": "array", "items": { "type": ... } } ``` which validates the entire array. Oops...
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/schema/compilers.py106
1 files changed, 52 insertions, 54 deletions
diff --git a/lib/spack/spack/schema/compilers.py b/lib/spack/spack/schema/compilers.py
index 6caaf9cc23..924fee7a21 100644
--- a/lib/spack/spack/schema/compilers.py
+++ b/lib/spack/spack/schema/compilers.py
@@ -14,63 +14,61 @@ import spack.schema.environment
properties = {
"compilers": {
"type": "array",
- "items": [
- {
- "type": "object",
- "additionalProperties": False,
- "properties": {
- "compiler": {
- "type": "object",
- "additionalProperties": False,
- "required": ["paths", "spec", "modules", "operating_system"],
- "properties": {
- "paths": {
- "type": "object",
- "required": ["cc", "cxx", "f77", "fc"],
- "additionalProperties": False,
- "properties": {
- "cc": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- "cxx": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- "f77": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- "fc": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- },
+ "items": {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "compiler": {
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["paths", "spec", "modules", "operating_system"],
+ "properties": {
+ "paths": {
+ "type": "object",
+ "required": ["cc", "cxx", "f77", "fc"],
+ "additionalProperties": False,
+ "properties": {
+ "cc": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "cxx": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "f77": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "fc": {"anyOf": [{"type": "string"}, {"type": "null"}]},
},
- "flags": {
- "type": "object",
- "additionalProperties": False,
- "properties": {
- "cflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- "cxxflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- "fflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- "cppflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- "ldflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- "ldlibs": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- },
- },
- "spec": {"type": "string"},
- "operating_system": {"type": "string"},
- "target": {"type": "string"},
- "alias": {"anyOf": [{"type": "string"}, {"type": "null"}]},
- "modules": {
- "anyOf": [{"type": "string"}, {"type": "null"}, {"type": "array"}]
- },
- "implicit_rpaths": {
- "anyOf": [
- {"type": "array", "items": {"type": "string"}},
- {"type": "boolean"},
- ]
- },
- "environment": spack.schema.environment.definition,
- "extra_rpaths": {
- "type": "array",
- "default": [],
- "items": {"type": "string"},
+ },
+ "flags": {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "cflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "cxxflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "fflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "cppflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "ldflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "ldlibs": {"anyOf": [{"type": "string"}, {"type": "null"}]},
},
},
- }
- },
- }
- ],
+ "spec": {"type": "string"},
+ "operating_system": {"type": "string"},
+ "target": {"type": "string"},
+ "alias": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "modules": {
+ "anyOf": [{"type": "string"}, {"type": "null"}, {"type": "array"}]
+ },
+ "implicit_rpaths": {
+ "anyOf": [
+ {"type": "array", "items": {"type": "string"}},
+ {"type": "boolean"},
+ ]
+ },
+ "environment": spack.schema.environment.definition,
+ "extra_rpaths": {
+ "type": "array",
+ "default": [],
+ "items": {"type": "string"},
+ },
+ },
+ }
+ },
+ },
}
}