From 68c827cfcf4f31d9a63efc2909a2aa6d462d13c4 Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Sat, 22 Feb 2020 21:41:40 +0530 Subject: [PATCH] Fix wp-cli support --- __tests__/tools.test.ts | 10 +++++----- dist/index.js | 10 +++------- src/scripts/darwin.sh | 5 +++-- src/scripts/linux.sh | 5 +++-- src/scripts/win32.ps1 | 2 ++ src/tools.ts | 17 +++++++++-------- 6 files changed, 25 insertions(+), 24 deletions(-) diff --git a/__tests__/tools.test.ts b/__tests__/tools.test.ts index 7697be7b..41799e8f 100644 --- a/__tests__/tools.test.ts +++ b/__tests__/tools.test.ts @@ -278,10 +278,10 @@ describe('Tools tests', () => { it('checking getWpCliUri', async () => { expect(await tools.getWpCliUrl('latest')).toBe( - 'https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar' + 'wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true' ); expect(await tools.getWpCliUrl('2.4.0')).toBe( - 'https://github.com/wp-cli/wp-cli/releases/download/v2.4.0/wp-cli-2.4.0.phar' + 'wp-cli/wp-cli/releases/download/v2.4.0/wp-cli-2.4.0.phar' ); }); @@ -393,7 +393,7 @@ describe('Tools tests', () => { 'add_tool https://github.com/symfony/cli/releases/latest/download/symfony_linux_amd64 symfony' ); expect(script).toContain( - 'add_tool https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar wp-cli' + 'add_tool https://github.com/wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true wp-cli' ); expect(script).toContain('add_pecl'); expect(script).toContain('add_composer_tool phinx phinx robmorgan/'); @@ -443,7 +443,7 @@ describe('Tools tests', () => { 'add_tool https://github.com/symfony/cli/releases/download/v1.2.3/symfony_darwin_amd64 symfony' ); expect(script).toContain( - 'add_tool https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar wp-cli' + 'add_tool https://github.com/wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true wp-cli' ); expect(script).toContain('add_log "$tick" "phpize" "Added"'); expect(script).toContain('add_log "$tick" "php-config" "Added"'); @@ -477,7 +477,7 @@ describe('Tools tests', () => { 'Add-Tool https://github.com/symfony/cli/releases/latest/download/symfony_windows_amd64.exe symfony' ); expect(script).toContain( - 'Add-Tool https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar wp-cli' + 'Add-Tool https://github.com/wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true wp-cli' ); expect(script).toContain('phpize is not a windows tool'); expect(script).toContain('php-config is not a windows tool'); diff --git a/dist/index.js b/dist/index.js index e9e71cda..3bdb6394 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1872,13 +1872,9 @@ function getWpCliUrl(version) { return __awaiter(this, void 0, void 0, function* () { switch (version) { case 'latest': - return 'https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar'; + return 'wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true'; default: - return ('https://github.com/wp-cli/wp-cli/releases/download/v' + - version + - '/wp-cli-' + - version + - '.phar'); + return yield getUri('wp-cli', '-' + version + '.phar', version, 'wp-cli/wp-cli/releases', 'v', 'download'); } }); } @@ -2069,7 +2065,7 @@ function addTools(tools_csv, php_version, os_version) { script += yield addArchive('symfony', version, url, os_version); break; case 'wp-cli': - url = yield getWpCliUrl(version); + url = github + (yield getWpCliUrl(version)); script += yield addArchive(tool, version, url, os_version); break; default: diff --git a/src/scripts/darwin.sh b/src/scripts/darwin.sh index e743e785..76c84422 100644 --- a/src/scripts/darwin.sh +++ b/src/scripts/darwin.sh @@ -93,7 +93,8 @@ add_tool() { composer -q global config process-timeout 0 add_log "$tick" "$tool" "Added" else - tool_path=/usr/local/bin/"$tool" + tool_path_dir=/usr/local/bin + tool_path="$tool_path_dir/$tool" if [ ! -e "$tool_path" ]; then rm -rf "$tool_path" fi @@ -110,7 +111,7 @@ add_tool() { tr -d '\r' < "$tool_path" | sudo tee "$tool_path.tmp" >/dev/null 2>&1 && sudo mv "$tool_path.tmp" "$tool_path" sudo chmod a+x "$tool_path" elif [ "$tool" = "wp-cli" ]; then - sudo cp "$tool_path" /usr/local/bin/wp + sudo cp -p "$tool_path" "$tool_path_dir"/wp fi add_log "$tick" "$tool" "Added" else diff --git a/src/scripts/linux.sh b/src/scripts/linux.sh index ba4b6ee1..5a5de80e 100644 --- a/src/scripts/linux.sh +++ b/src/scripts/linux.sh @@ -150,7 +150,8 @@ update_extension() { add_tool() { url=$1 tool=$2 - tool_path=/usr/local/bin/"$tool" + tool_path_dir=/usr/local/bin + tool_path="$tool_path_dir/$tool" if [ ! -e "$tool_path" ]; then rm -rf "$tool_path" fi @@ -166,7 +167,7 @@ add_tool() { add_extension mbstring "$apt_install php$version-mbstring" extension >/dev/null 2>&1 add_extension xml "$apt_install php$version-xml" extension >/dev/null 2>&1 elif [ "$tool" = "wp-cli" ]; then - sudo cp "$tool_path" /usr/local/bin/wp + sudo cp -p "$tool_path" "$tool_path_dir"/wp fi add_log "$tick" "$tool" "Added" else diff --git a/src/scripts/win32.ps1 b/src/scripts/win32.ps1 index 6f990a6b..447022cf 100644 --- a/src/scripts/win32.ps1 +++ b/src/scripts/win32.ps1 @@ -124,6 +124,8 @@ Function Add-Tool() { (Get-Content $php_dir/cs2pr).replace('exit(9)', 'exit(0)') | Set-Content $php_dir/cs2pr } elseif($tool -eq "composer") { composer -q global config process-timeout 0 + } elseif($tool -eq "wp-cli") { + Copy-Item $php_dir\wp-cli.bat -Destination $php_dir\wp.bat } if (((Get-ChildItem -Path $php_dir/* | Where-Object Name -Match "^$tool(.exe|.phar)*$").Count -gt 0)) { Add-Log $tick $tool "Added" diff --git a/src/tools.ts b/src/tools.ts index 2c06ed15..ff211583 100644 --- a/src/tools.ts +++ b/src/tools.ts @@ -316,14 +316,15 @@ export async function getSymfonyUri( export async function getWpCliUrl(version: string): Promise { switch (version) { case 'latest': - return 'https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar'; + return 'wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true'; default: - return ( - 'https://github.com/wp-cli/wp-cli/releases/download/v' + - version + - '/wp-cli-' + - version + - '.phar' + return await getUri( + 'wp-cli', + '-' + version + '.phar', + version, + 'wp-cli/wp-cli/releases', + 'v', + 'download' ); } } @@ -544,7 +545,7 @@ export async function addTools( script += await addArchive('symfony', version, url, os_version); break; case 'wp-cli': - url = await getWpCliUrl(version); + url = github + (await getWpCliUrl(version)); script += await addArchive(tool, version, url, os_version); break; default: