setup-php 1.11.4 → 1.11.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -82
- package/lib/config.d.ts +3 -3
- package/lib/config.js +75 -71
- package/lib/config.js.map +1 -1
- package/lib/coverage.d.ts +4 -4
- package/lib/coverage.js +101 -97
- package/lib/coverage.js.map +1 -1
- package/lib/extensions.d.ts +4 -4
- package/lib/extensions.js +192 -188
- package/lib/extensions.js.map +1 -1
- package/lib/install.d.ts +2 -2
- package/lib/install.js +100 -96
- package/lib/install.js.map +1 -1
- package/lib/tools.d.ts +18 -18
- package/lib/tools.js +310 -306
- package/lib/tools.js.map +1 -1
- package/lib/utils.d.ts +15 -15
- package/lib/utils.js +209 -205
- package/lib/utils.js.map +1 -1
- package/package.json +21 -24
- package/src/configs/brew_extensions +28 -0
- package/src/configs/phpunit.json +24 -24
- package/src/extensions.ts +2 -2
- package/src/scripts/darwin.sh +29 -20
- package/src/scripts/ext/phalcon.sh +1 -1
- package/src/scripts/linux.sh +7 -7
- package/src/scripts/win32.ps1 +2 -2
- package/src/tools.ts +6 -3
- package/src/utils.ts +1 -1
- package/lib/sapi.js +0 -64
package/src/configs/phpunit.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
{
|
|
2
|
-
"problemMatcher": [
|
|
3
|
-
{
|
|
4
|
-
"owner": "phpunit",
|
|
5
|
-
"pattern": [
|
|
6
|
-
{
|
|
7
|
-
"regexp": "^\\d+\\)\\s.*$"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"regexp": "^(.*Failed\\sasserting\\sthat.*)$",
|
|
11
|
-
"message": 1
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"regexp": "^\\s*$"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"regexp": "^(.*):(\\d+)$",
|
|
18
|
-
"file": 1,
|
|
19
|
-
"line": 2
|
|
20
|
-
}
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
]
|
|
24
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"problemMatcher": [
|
|
3
|
+
{
|
|
4
|
+
"owner": "phpunit",
|
|
5
|
+
"pattern": [
|
|
6
|
+
{
|
|
7
|
+
"regexp": "^\\d+\\)\\s.*$"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"regexp": "^(.*Failed\\sasserting\\sthat.*)$",
|
|
11
|
+
"message": 1
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"regexp": "^\\s*$"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"regexp": "^(.*):(\\d+)$",
|
|
18
|
+
"file": 1,
|
|
19
|
+
"line": 2
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
package/src/extensions.ts
CHANGED
|
@@ -30,10 +30,10 @@ export async function addExtensionDarwin(
|
|
|
30
30
|
' ' +
|
|
31
31
|
ext_prefix;
|
|
32
32
|
return;
|
|
33
|
-
// match 5.6 to 8.0 amqp, grpc, igbinary, imagick, imap, mongodb, msgpack, pecl_http, propro, protobuf, raphf, rdkafka, redis, swoole, xdebug, xdebug2, yaml, zmq
|
|
33
|
+
// match 5.6 to 8.0 amqp, expect, grpc, igbinary, imagick, imap, mongodb, msgpack, pecl_http, propro, protobuf, raphf, rdkafka, redis, ssh2, swoole, xdebug, xdebug2, yaml, zmq
|
|
34
34
|
// match 7.1pcov to 8.0pcov
|
|
35
35
|
// match 7.0vips to 8.0vips
|
|
36
|
-
case /(5\.6|7\.[0-4]|8.0)(amqp|grpc|igbinary|imagick|imap|mongodb|msgpack|^(pecl_)?http$|propro|protobuf|psr|raphf|rdkafka|redis|swoole|xdebug|xdebug2|yaml|zmq)/.test(
|
|
36
|
+
case /(5\.6|7\.[0-4]|8.0)(amqp|expect|grpc|igbinary|imagick|imap|mcrypt|mongodb|msgpack|^(pecl_)?http$|propro|protobuf|psr|raphf|rdkafka|redis|ssh2|swoole|xdebug|xdebug2|yaml|zmq)/.test(
|
|
37
37
|
version_extension
|
|
38
38
|
):
|
|
39
39
|
case /(7\.[1-4]|8\.0])pcov/.test(version_extension):
|
package/src/scripts/darwin.sh
CHANGED
|
@@ -18,7 +18,7 @@ add_log() {
|
|
|
18
18
|
|
|
19
19
|
# Function to remove extensions
|
|
20
20
|
remove_extension() {
|
|
21
|
-
extension=$1
|
|
21
|
+
local extension=$1
|
|
22
22
|
sudo sed -Ei '' "/=(.*\/)?\"?$extension/d" "$ini_file"
|
|
23
23
|
sudo rm -rf "$scan_dir"/*"$extension"* >/dev/null 2>&1
|
|
24
24
|
sudo rm -rf "$ext_dir"/"$extension".so >/dev/null 2>&1
|
|
@@ -26,7 +26,7 @@ remove_extension() {
|
|
|
26
26
|
|
|
27
27
|
# Function to test if extension is loaded
|
|
28
28
|
check_extension() {
|
|
29
|
-
extension=$1
|
|
29
|
+
local extension=$1
|
|
30
30
|
if [ "$extension" != "mysql" ]; then
|
|
31
31
|
php -m | grep -i -q -w "$extension"
|
|
32
32
|
else
|
|
@@ -42,7 +42,7 @@ pecl_install() {
|
|
|
42
42
|
|
|
43
43
|
# Function to get the PECL version
|
|
44
44
|
get_pecl_version() {
|
|
45
|
-
extension=$1
|
|
45
|
+
local extension=$1
|
|
46
46
|
stability="$(echo "$2" | grep -m 1 -Eio "(alpha|beta|rc|snapshot|preview)")"
|
|
47
47
|
pecl_rest='https://pecl.php.net/rest/r/'
|
|
48
48
|
response=$(curl "${curl_opts[@]}" "$pecl_rest$extension"/allreleases.xml)
|
|
@@ -55,7 +55,7 @@ get_pecl_version() {
|
|
|
55
55
|
|
|
56
56
|
# Function to install a PECL version
|
|
57
57
|
add_pecl_extension() {
|
|
58
|
-
extension=$1
|
|
58
|
+
local extension=$1
|
|
59
59
|
pecl_version=$2
|
|
60
60
|
prefix=$3
|
|
61
61
|
if [[ $pecl_version =~ .*(alpha|beta|rc|snapshot|preview).* ]]; then
|
|
@@ -103,7 +103,8 @@ add_brew_tap() {
|
|
|
103
103
|
# Function to install a php extension from shivammathur/extensions tap.
|
|
104
104
|
add_brew_extension() {
|
|
105
105
|
formula=$1
|
|
106
|
-
extension=$
|
|
106
|
+
extension=$(grep "$formula=" "$dist"/../src/configs/brew_extensions | cut -d '=' -f 2)
|
|
107
|
+
[[ -z "$extension" ]] && extension="$(echo "$formula" | sed -E "s/pecl_|[0-9]//g")"
|
|
107
108
|
add_brew_tap shivammathur/homebrew-php
|
|
108
109
|
add_brew_tap shivammathur/homebrew-extensions
|
|
109
110
|
sudo mv "$tap_dir"/shivammathur/homebrew-extensions/.github/deps/"$formula"/* "$tap_dir/homebrew/homebrew-core/Formula/" 2>/dev/null || true
|
|
@@ -113,7 +114,7 @@ add_brew_extension() {
|
|
|
113
114
|
|
|
114
115
|
# Function to setup extensions
|
|
115
116
|
add_extension() {
|
|
116
|
-
extension=$1
|
|
117
|
+
local extension=$1
|
|
117
118
|
install_command=$2
|
|
118
119
|
prefix=$3
|
|
119
120
|
if ! check_extension "$extension" && [ -e "$ext_dir/$extension.so" ]; then
|
|
@@ -131,7 +132,7 @@ add_extension() {
|
|
|
131
132
|
|
|
132
133
|
# Function to pre-release extensions using PECL
|
|
133
134
|
add_unstable_extension() {
|
|
134
|
-
extension=$1
|
|
135
|
+
local extension=$1
|
|
135
136
|
stability=$2
|
|
136
137
|
prefix=$3
|
|
137
138
|
pecl_version=$(get_pecl_version "$extension" "$stability")
|
|
@@ -241,30 +242,38 @@ link_libraries() {
|
|
|
241
242
|
formula_prefix="$(brew --prefix "$formula")"
|
|
242
243
|
sudo mkdir -p "$formula_prefix"/lib
|
|
243
244
|
for lib in "$formula_prefix"/lib/*.dylib; do
|
|
244
|
-
[ -f "$lib" ] || break
|
|
245
245
|
lib_name=$(basename "$lib")
|
|
246
246
|
sudo cp -a "$lib" "$brew_prefix/lib/$lib_name" 2>/dev/null || true
|
|
247
247
|
done
|
|
248
248
|
}
|
|
249
249
|
|
|
250
250
|
patch_brew() {
|
|
251
|
-
|
|
251
|
+
formula_installer="$brew_repo"/Library/Homebrew/formula_installer.rb
|
|
252
|
+
code=" keg.link\(verbose: verbose\?"
|
|
253
|
+
sudo sed -Ei '' "s/$code.*/$code, overwrite: true\)/" "$formula_installer"
|
|
252
254
|
# shellcheck disable=SC2064
|
|
253
|
-
trap "
|
|
255
|
+
trap "sudo sed -Ei '' 's/$code.*/$code, overwrite: overwrite?\)/' $formula_installer" exit
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
# Helper function to update the dependencies.
|
|
259
|
+
update_dependencies_helper() {
|
|
260
|
+
dependency=$1
|
|
261
|
+
curl -o "$tap_dir/homebrew/homebrew-core/Formula/$formula.rb" "${curl_opts[@]}" "https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/$formula.rb"
|
|
262
|
+
link_libraries "$dependency"
|
|
254
263
|
}
|
|
255
264
|
|
|
256
265
|
# Function to update dependencies
|
|
257
266
|
update_dependencies() {
|
|
258
|
-
if
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
to_wait
|
|
266
|
-
|
|
267
|
-
|
|
267
|
+
if ! [ -e /tmp/update_dependencies ]; then
|
|
268
|
+
if [ "${ImageOS:-}" != "" ] && [ "${ImageVersion:-}" != "" ]; then
|
|
269
|
+
patch_brew
|
|
270
|
+
while read -r dependency; do
|
|
271
|
+
update_dependencies_helper "$dependency" &
|
|
272
|
+
to_wait+=($!)
|
|
273
|
+
done <"$tap_dir/shivammathur/homebrew-php/.github/deps/${ImageOS:?}_${ImageVersion:?}"
|
|
274
|
+
wait "${to_wait[@]}"
|
|
275
|
+
fi
|
|
276
|
+
echo '' | sudo tee /tmp/update_dependencies >/dev/null 2>&1
|
|
268
277
|
fi
|
|
269
278
|
}
|
|
270
279
|
|
|
@@ -20,7 +20,7 @@ update_ppa() {
|
|
|
20
20
|
|
|
21
21
|
# Function to install phalcon
|
|
22
22
|
install_phalcon() {
|
|
23
|
-
extension=$1
|
|
23
|
+
local extension=$1
|
|
24
24
|
version=$2
|
|
25
25
|
(update_ppa && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y "php$version-psr" "php$version-$extension" >/dev/null 2>&1 && add_log "$tick" "$extension" "Installed and enabled") ||
|
|
26
26
|
add_log "$cross" "$extension" "Could not install $extension on PHP $semver"
|
package/src/scripts/linux.sh
CHANGED
|
@@ -62,7 +62,7 @@ configure_pecl() {
|
|
|
62
62
|
|
|
63
63
|
# Function to get the PECL version
|
|
64
64
|
get_pecl_version() {
|
|
65
|
-
extension=$1
|
|
65
|
+
local extension=$1
|
|
66
66
|
stability="$(echo "$2" | grep -m 1 -Eio "(alpha|beta|rc|snapshot|preview)")"
|
|
67
67
|
pecl_rest='https://pecl.php.net/rest/r/'
|
|
68
68
|
response=$(curl "${curl_opts[@]}" "$pecl_rest$extension"/allreleases.xml)
|
|
@@ -89,7 +89,7 @@ enable_extension() {
|
|
|
89
89
|
|
|
90
90
|
# Function to test if extension is loaded
|
|
91
91
|
check_extension() {
|
|
92
|
-
extension=$1
|
|
92
|
+
local extension=$1
|
|
93
93
|
if [ "$extension" != "mysql" ]; then
|
|
94
94
|
php -m | grep -i -q -w "$extension"
|
|
95
95
|
else
|
|
@@ -99,7 +99,7 @@ check_extension() {
|
|
|
99
99
|
|
|
100
100
|
# Function to delete extensions
|
|
101
101
|
delete_extension() {
|
|
102
|
-
extension=$1
|
|
102
|
+
local extension=$1
|
|
103
103
|
sudo sed -Ei "/=(.*\/)?\"?$extension/d" "$ini_file"
|
|
104
104
|
sudo sed -Ei "/=(.*\/)?\"?$extension/d" "$pecl_file"
|
|
105
105
|
sudo rm -rf "$scan_dir"/*"$extension"* >/dev/null 2>&1
|
|
@@ -109,7 +109,7 @@ delete_extension() {
|
|
|
109
109
|
|
|
110
110
|
# Function to disable and delete extensions
|
|
111
111
|
remove_extension() {
|
|
112
|
-
extension=$1
|
|
112
|
+
local extension=$1
|
|
113
113
|
if [ -e /etc/php/"$version"/mods-available/"$extension".ini ]; then
|
|
114
114
|
sudo phpdismod -v "$version" "$extension"
|
|
115
115
|
fi
|
|
@@ -118,7 +118,7 @@ remove_extension() {
|
|
|
118
118
|
|
|
119
119
|
# Function to setup extensions
|
|
120
120
|
add_extension() {
|
|
121
|
-
extension=$1
|
|
121
|
+
local extension=$1
|
|
122
122
|
install_command=$2
|
|
123
123
|
prefix=$3
|
|
124
124
|
enable_extension "$extension" "$prefix"
|
|
@@ -135,7 +135,7 @@ add_extension() {
|
|
|
135
135
|
|
|
136
136
|
# Function to install a PECL version
|
|
137
137
|
add_pecl_extension() {
|
|
138
|
-
extension=$1
|
|
138
|
+
local extension=$1
|
|
139
139
|
pecl_version=$2
|
|
140
140
|
prefix=$3
|
|
141
141
|
configure_pecl
|
|
@@ -158,7 +158,7 @@ add_pecl_extension() {
|
|
|
158
158
|
|
|
159
159
|
# Function to pre-release extensions using PECL
|
|
160
160
|
add_unstable_extension() {
|
|
161
|
-
extension=$1
|
|
161
|
+
local extension=$1
|
|
162
162
|
stability=$2
|
|
163
163
|
prefix=$3
|
|
164
164
|
pecl_version=$(get_pecl_version "$extension" "$stability")
|
package/src/scripts/win32.ps1
CHANGED
|
@@ -77,7 +77,7 @@ Function Install-PSPackage() {
|
|
|
77
77
|
Add-ToProfile $current_profile "$package-search" "Import-Module $module_path"
|
|
78
78
|
|
|
79
79
|
if($null -eq (Get-Command $cmdlet -ErrorAction SilentlyContinue)) {
|
|
80
|
-
Install-Module -Name $
|
|
80
|
+
Install-Module -Name $package -Force
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
|
|
@@ -303,7 +303,7 @@ if (Test-Path -LiteralPath $php_dir -PathType Container) {
|
|
|
303
303
|
}
|
|
304
304
|
$status = "Installed"
|
|
305
305
|
if ($null -eq $installed -or -not("$($installed.Version).".StartsWith(($version -replace '^(\d+(\.\d+)*).*', '$1.'))) -or $ts -ne $installed.ThreadSafe) {
|
|
306
|
-
if ($version -lt '7.0' -and (Get-
|
|
306
|
+
if ($version -lt '7.0' -and ($null -eq (Get-Module -ListAvailable -Name VcRedist))) {
|
|
307
307
|
Install-PSPackage VcRedist VcRedist-main\VcRedist\VcRedist "$github/aaronparker/VcRedist/archive/main.zip" Get-VcList >$null 2>&1
|
|
308
308
|
}
|
|
309
309
|
try {
|
package/src/tools.ts
CHANGED
|
@@ -245,8 +245,11 @@ export async function addComposer(tools_list: string[]): Promise<string[]> {
|
|
|
245
245
|
*
|
|
246
246
|
* @param version
|
|
247
247
|
*/
|
|
248
|
-
export async function getComposerUrl(
|
|
249
|
-
|
|
248
|
+
export async function getComposerUrl(
|
|
249
|
+
version: string,
|
|
250
|
+
php_version: string
|
|
251
|
+
): Promise<string> {
|
|
252
|
+
let cache_url = `https://github.com/shivammathur/composer-cache/releases/latest/download/composer-${php_version}-${version.replace(
|
|
250
253
|
'latest',
|
|
251
254
|
'stable'
|
|
252
255
|
)}.phar`;
|
|
@@ -415,7 +418,7 @@ export async function addTools(
|
|
|
415
418
|
script += await addArchive(tool, url, os_version);
|
|
416
419
|
break;
|
|
417
420
|
case 'composer':
|
|
418
|
-
url = await getComposerUrl(version);
|
|
421
|
+
url = await getComposerUrl(version, php_version);
|
|
419
422
|
script += await addArchive('composer', url, os_version);
|
|
420
423
|
break;
|
|
421
424
|
case 'codeception':
|
package/src/utils.ts
CHANGED
|
@@ -71,7 +71,7 @@ export async function fetch(url: string): Promise<string> {
|
|
|
71
71
|
*/
|
|
72
72
|
export async function parseVersion(version: string): Promise<string> {
|
|
73
73
|
const manifest =
|
|
74
|
-
'https://raw.githubusercontent.com/shivammathur/setup-php/
|
|
74
|
+
'https://raw.githubusercontent.com/shivammathur/setup-php/releases/v1/src/configs/php-versions.json';
|
|
75
75
|
switch (true) {
|
|
76
76
|
case /^(latest|\d+\.x)$/.test(version):
|
|
77
77
|
return JSON.parse(await fetch(manifest))[version];
|
package/lib/sapi.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.addSAPI = exports.getSapiList = void 0;
|
|
23
|
-
const utils = __importStar(require("./utils"));
|
|
24
|
-
async function getSapiList(sapi_csv) {
|
|
25
|
-
const sapi_list = await utils.packageArray(sapi_csv);
|
|
26
|
-
const servers = sapi_list.filter(sapi => /.*:.*/.test(sapi));
|
|
27
|
-
return [servers[servers.length - 1]].concat(sapi_list.filter(sapi => /.*[^:].*/.test(sapi)));
|
|
28
|
-
}
|
|
29
|
-
exports.getSapiList = getSapiList;
|
|
30
|
-
/**
|
|
31
|
-
* Function to set sapi
|
|
32
|
-
*
|
|
33
|
-
* @param sapi_csv
|
|
34
|
-
* @param os_version
|
|
35
|
-
*/
|
|
36
|
-
async function addSAPI(sapi_csv, os_version) {
|
|
37
|
-
let script = '\n' + (await utils.stepLog('Setup SAPI', os_version));
|
|
38
|
-
let sapi_list;
|
|
39
|
-
switch (true) {
|
|
40
|
-
case sapi_csv.split(':').length - 1 > 1:
|
|
41
|
-
sapi_list = await getSapiList(sapi_csv);
|
|
42
|
-
script +=
|
|
43
|
-
'\n' +
|
|
44
|
-
utils.log('Multiple SAPI with web servers specified, choosing the last one ' +
|
|
45
|
-
sapi_list[0], os_version, 'warning');
|
|
46
|
-
break;
|
|
47
|
-
default:
|
|
48
|
-
sapi_list = await utils.packageArray(sapi_csv);
|
|
49
|
-
}
|
|
50
|
-
await utils.asyncForEach(sapi_list, async function (sapi) {
|
|
51
|
-
sapi = sapi.toLowerCase();
|
|
52
|
-
switch (os_version) {
|
|
53
|
-
case 'linux':
|
|
54
|
-
case 'darwin':
|
|
55
|
-
script += '\nadd_sapi ' + sapi;
|
|
56
|
-
break;
|
|
57
|
-
case 'win32':
|
|
58
|
-
script += '\nAdd-Sapi ' + sapi;
|
|
59
|
-
break;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
return script;
|
|
63
|
-
}
|
|
64
|
-
exports.addSAPI = addSAPI;
|