@@ -36,6 +36,7 @@ The following is the source download configuration corresponding to the `libeven
3636The most important field here is ` type ` . Currently, the types it supports are:
3737
3838- ` url ` : Directly use URL to download, for example: ` https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz ` .
39+ - ` pie ` : Download PHP extensions from Packagist using the PIE (PHP Installer for Extensions) standard.
3940- ` ghrel ` : Use the GitHub Release API to download, download the artifacts uploaded from the latest version released by maintainers.
4041- ` ghtar ` : Use the GitHub Release API to download.
4142 Different from ` ghrel ` , ` ghtar ` is downloaded from the ` source code (tar.gz) ` in the latest Release of the project.
@@ -89,6 +90,37 @@ Example (download the imagick extension and extract it to the extension storage
8990}
9091```
9192
93+ ## Download type - pie
94+
95+ PIE (PHP Installer for Extensions) type sources refer to downloading PHP extensions from Packagist that follow the PIE standard.
96+ This method automatically fetches extension information from the Packagist repository and downloads the appropriate distribution file.
97+
98+ The parameters included are:
99+
100+ - ` repo ` : The Packagist vendor/package name, such as ` vendor/package-name `
101+
102+ Example (download a PHP extension from Packagist using PIE):
103+
104+ ``` json
105+ {
106+ "ext-example" : {
107+ "type" : " pie" ,
108+ "repo" : " vendor/example-extension" ,
109+ "path" : " php-src/ext/example" ,
110+ "license" : {
111+ "type" : " file" ,
112+ "path" : " LICENSE"
113+ }
114+ }
115+ }
116+ ```
117+
118+ ::: tip
119+ The PIE download type will automatically detect the extension information from Packagist metadata,
120+ including the download URL, version, and distribution type.
121+ The extension must be marked as ` type: php-ext ` or contain ` php-ext ` metadata in its Packagist package definition.
122+ :::
123+
92124## Download type - ghrel
93125
94126ghrel will download files from Assets uploaded in GitHub Release.
0 commit comments