diff --git a/README.md b/README.md index ecd9638..7c35c4c 100644 --- a/README.md +++ b/README.md @@ -281,7 +281,7 @@ for the release the `ext-` prefix, and tooling such as PIE will be expected to normalise this appropriately. * Proposed JSON schema for this is - in [composer-json-php-ext-schema.json](./composer-json-php-ext-schema.json) + in [composer-json-php-ext-schema.json](https://github.com/php/pie/blob/main/resources/composer-json-php-ext-schema.json) * It is assumed that packages all support Zend Thread Safe mode (ZTS). If a package does **not** support ZTS mode, the key `"support-zts": false` should be set in `php-ext` section, but you diff --git a/composer-json-php-ext-schema.json b/composer-json-php-ext-schema.json deleted file mode 100644 index cba869e..0000000 --- a/composer-json-php-ext-schema.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/ThePHPF/pie-design/main/composer-json-php-ext-schema.json", - "title": "Proposed composer.json php-ext schema", - "description": "Schema for the proposed php-ext section in composer.json that the new PECL will use to build packages", - "type": "object", - "properties": { - "php-ext": { - "type": "object", - "description": "Settings for PHP extension packages.", - "properties": { - "extension-name": { - "type": "string", - "description": "If specified, this will be used as the name of the extension, where needed by tooling. If this is not specified, the extension name will be derived from the Composer package name (e.g. `vendor/name` would become `ext-name`). The extension name may be specified with or without the `ext-` prefix, and tools that use this must normalise this appropriately.", - "example": "ext-xdebug" - }, - "priority": { - "type": "integer", - "description": "This is used to add a prefix to the INI file, e.g. `90-xdebug.ini` which affects the loading order. The priority is a number in the range 10-99 inclusive, with 10 being the highest priority (i.e. will be processed first), and 99 being the lowest priority (i.e. will be processed last). There are two digits so that the files sort correctly on any platform, whether the sorting is natural or not.", - "minimum": 10, - "maximum": 99, - "example": 80, - "default": 80 - }, - "support-zts": { - "type": "boolean", - "description": "Does this package support Zend Thread Safety", - "example": false, - "default": true - }, - "support-nts": { - "type": "boolean", - "description": "Does this package support non-Thread Safe mode", - "example": false, - "default": true - }, - "build-path": { - "type": ["string", "null"], - "description": "If specified, this is the subdirectory that will be used to build the extension instead of the root of the project.", - "example": "my-extension-source", - "default": null - }, - "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.", - "items": { - "type": "object", - "required": ["name"], - "properties": { - "name": { - "type": "string", - "description": "The name of the flag, this would typically be prefixed with `--`, for example, the value 'the-flag' would be passed as `./configure --the-flag`.", - "example": "without-xdebug-compression", - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*$" - }, - "needs-value": { - "type": "boolean", - "description": "If this is set to true, the flag needs a value (e.g. --with-somelib=), otherwise it is a flag without a value (e.g. --enable-some-feature).", - "example": false, - "default": false - }, - "description": { - "type": "string", - "description": "The description of what the flag does or means.", - "example": "Disable compression through zlib" - } - } - } - } - }, - "allOf": [ - { - "not": { - "required": ["os-families", "os-families-exclude"] - } - } - ] - } - } -}