Fix wp-cli support

This commit is contained in:
Shivam Mathur 2020-02-22 21:41:40 +05:30
parent d95ca49e8d
commit 68c827cfcf
No known key found for this signature in database
GPG Key ID: 3E13E4C8591ACC2A
6 changed files with 25 additions and 24 deletions

View File

@ -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');

10
dist/index.js vendored
View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -316,14 +316,15 @@ export async function getSymfonyUri(
export async function getWpCliUrl(version: string): Promise<string> {
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: