diff --git a/resource/schema.json b/resource/schema.json index baa81caf..56473b25 100644 --- a/resource/schema.json +++ b/resource/schema.json @@ -380,6 +380,49 @@ "example": "my-extension-source", "default": null }, + "download-url-method": { + "type": "string", + "description": "If specified, this technique will be used to override the URL that PIE uses to download the asset. The default, if not specified, is composer-default.", + "enum": [ + "composer-default", + "pre-packaged-source" + ], + "example": "composer-default" + }, + "os-families": { + "type": "array", + "minItems": 1, + "description": "An array of OS families to mark as compatible with the extension. Specifying this property will mean this package is not installable with PIE on any OS family not listed here. Must not be specified alongside os-families-exclude.", + "items": { + "type": "string", + "enum": [ + "windows", + "bsd", + "darwin", + "solaris", + "linux", + "unknown" + ], + "description": "The name of the OS family to mark as compatible." + } + }, + "os-families-exclude": { + "type": "array", + "minItems": 1, + "description": "An array of OS families to mark as incompatible with the extension. Specifying this property will mean this package is installable on any OS family except those listed here. Must not be specified alongside os-families.", + "items": { + "type": "string", + "enum": [ + "windows", + "bsd", + "darwin", + "solaris", + "linux", + "unknown" + ], + "description": "The name of the OS family to exclude." + } + }, "configure-options": { "type": "array", "description": "These configure options make up the flags that can be passed to ./configure when installing the extension.", @@ -409,7 +452,17 @@ } } } - } + }, + "allOf": [ + { + "not": { + "required": [ + "os-families", + "os-families-exclude" + ] + } + } + ] }, "config": { "type": "object",