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...
This commit is contained in:
Harmen Stoppels 2023-10-20 09:51:49 +02:00 committed by GitHub
parent 0907d43783
commit 468f6c757e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,63 +14,61 @@
properties = { properties = {
"compilers": { "compilers": {
"type": "array", "type": "array",
"items": [ "items": {
{ "type": "object",
"type": "object", "additionalProperties": False,
"additionalProperties": False, "properties": {
"properties": { "compiler": {
"compiler": { "type": "object",
"type": "object", "additionalProperties": False,
"additionalProperties": False, "required": ["paths", "spec", "modules", "operating_system"],
"required": ["paths", "spec", "modules", "operating_system"], "properties": {
"properties": { "paths": {
"paths": { "type": "object",
"type": "object", "required": ["cc", "cxx", "f77", "fc"],
"required": ["cc", "cxx", "f77", "fc"], "additionalProperties": False,
"additionalProperties": False, "properties": {
"properties": { "cc": {"anyOf": [{"type": "string"}, {"type": "null"}]},
"cc": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "cxx": {"anyOf": [{"type": "string"}, {"type": "null"}]},
"cxx": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "f77": {"anyOf": [{"type": "string"}, {"type": "null"}]},
"f77": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "fc": {"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"},
},
},
}
},
},
} }
} }