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.
@@ -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):
@@ -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=${formula//[0-9]/}
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
- sudo sed -i '' "s/ keg.link(verbose: verbose?)/ keg.link(verbose: verbose?, overwrite: true)/" "$brew_repo"/Library/Homebrew/formula_installer.rb
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 "git -C $brew_repo stash >/dev/null 2>&1" exit
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 [ "${ImageOS:-}" != "" ] && [ "${ImageVersion:-}" != "" ]; then
259
- patch_brew
260
- while read -r formula; do
261
- (
262
- curl -o "$tap_dir/homebrew/homebrew-core/Formula/$formula.rb" "${curl_opts[@]}" "https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/$formula.rb"
263
- link_libraries "$formula"
264
- ) &
265
- to_wait+=( $! )
266
- done < "$tap_dir/shivammathur/homebrew-php/.github/deps/${ImageOS:?}_${ImageVersion:?}"
267
- wait "${to_wait[@]}"
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"
@@ -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")
@@ -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 $cmdlet -Force
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-InstalledModule).Name -notcontains 'VcRedist') {
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(version: string): Promise<string> {
249
- let cache_url = `https://github.com/shivammathur/composer-cache/releases/latest/download/composer-${version.replace(
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/develop/src/configs/php-versions.json';
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;