diff --git a/schema/project.json b/schema/project.json index ded7706e2..cce438bd5 100644 --- a/schema/project.json +++ b/schema/project.json @@ -79,6 +79,17 @@ "Tools" ], "type": "string" + }, + "downloads": { + "description": "Optional list of download URLs.", + "type": "array", + "items": { + "type": "string", + "format": "uri" + }, + "minItems": 1, + "uniqueItems": true, + "optional": true } }, "required": [ diff --git a/schema/tests/project_test.py b/schema/tests/project_test.py index 6ca707cf5..6a090a04c 100644 --- a/schema/tests/project_test.py +++ b/schema/tests/project_test.py @@ -26,6 +26,8 @@ def test_positive(project_schema): ("level-invalid.yaml", "2.5 is not one of [2, 3, 3.5, 4]"), ("name-empty.yaml", "'' is too short"), ("name-none.yaml", "None is not of type 'string'"), + ("downloads-empty.yaml", "[] is too short"), + ("downloads-invalid.yaml", "'not-a-url' is not a valid URL"), ], ) def test_negative(project_schema, file_path, error_message):