mirror of
https://github.com/shivammathur/setup-php.git
synced 2025-10-15 15:55:12 +07:00
Add support for blackfire client, agent and player
This commit is contained in:
88
src/tools.ts
88
src/tools.ts
@ -1,60 +1,20 @@
|
||||
import * as utils from './utils';
|
||||
|
||||
/**
|
||||
* Function to get command to setup tool
|
||||
* Function to get command to setup tools
|
||||
*
|
||||
* @param os_version
|
||||
*/
|
||||
export async function getArchiveCommand(os_version: string): Promise<string> {
|
||||
export async function getCommand(
|
||||
os_version: string,
|
||||
suffix: string
|
||||
): Promise<string> {
|
||||
switch (os_version) {
|
||||
case 'linux':
|
||||
case 'darwin':
|
||||
return 'add_tool ';
|
||||
return 'add_' + suffix + ' ';
|
||||
case 'win32':
|
||||
return 'Add-Tool ';
|
||||
default:
|
||||
return await utils.log(
|
||||
'Platform ' + os_version + ' is not supported',
|
||||
os_version,
|
||||
'error'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get command to setup tools using composer
|
||||
*
|
||||
* @param os_version
|
||||
*/
|
||||
export async function getPackageCommand(os_version: string): Promise<string> {
|
||||
switch (os_version) {
|
||||
case 'linux':
|
||||
case 'darwin':
|
||||
return 'add_composer_tool ';
|
||||
case 'win32':
|
||||
return 'Add-Composer-Tool ';
|
||||
default:
|
||||
return await utils.log(
|
||||
'Platform ' + os_version + ' is not supported',
|
||||
os_version,
|
||||
'error'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Function to get command to setup PECL
|
||||
*
|
||||
* @param os_version
|
||||
*/
|
||||
export async function getPECLCommand(os_version: string): Promise<string> {
|
||||
switch (os_version) {
|
||||
case 'linux':
|
||||
case 'darwin':
|
||||
return 'add_pecl ';
|
||||
case 'win32':
|
||||
return 'Add-PECL ';
|
||||
return 'Add-' + suffix.charAt(0).toUpperCase() + suffix.slice(1) + ' ';
|
||||
default:
|
||||
return await utils.log(
|
||||
'Platform ' + os_version + ' is not supported',
|
||||
@ -226,12 +186,12 @@ export async function addPhive(
|
||||
switch (version) {
|
||||
case 'latest':
|
||||
return (
|
||||
(await getArchiveCommand(os_version)) +
|
||||
(await getCommand(os_version, 'tool')) +
|
||||
'https://phar.io/releases/phive.phar phive'
|
||||
);
|
||||
default:
|
||||
return (
|
||||
(await getArchiveCommand(os_version)) +
|
||||
(await getCommand(os_version, 'tool')) +
|
||||
'https://github.com/phar-io/phive/releases/download/' +
|
||||
version +
|
||||
'/phive-' +
|
||||
@ -242,20 +202,21 @@ export async function addPhive(
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get the PHPUnit url
|
||||
* Function to get the phar url in domain/tool-version.phar format
|
||||
*
|
||||
* @param version
|
||||
*/
|
||||
export async function getPhpunitUrl(
|
||||
export async function getPharUrl(
|
||||
domain: string,
|
||||
tool: string,
|
||||
prefix: string,
|
||||
version: string
|
||||
): Promise<string> {
|
||||
const phpunit = 'https://phar.phpunit.de';
|
||||
switch (version) {
|
||||
case 'latest':
|
||||
return phpunit + '/' + tool + '.phar';
|
||||
return domain + '/' + tool + '.phar';
|
||||
default:
|
||||
return phpunit + '/' + tool + '-' + version + '.phar';
|
||||
return domain + '/' + tool + '-' + prefix + version + '.phar';
|
||||
}
|
||||
}
|
||||
|
||||
@ -382,7 +343,7 @@ export async function addArchive(
|
||||
url: string,
|
||||
os_version: string
|
||||
): Promise<string> {
|
||||
return (await getArchiveCommand(os_version)) + url + ' ' + tool;
|
||||
return (await getCommand(os_version, 'tool')) + url + ' ' + tool;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -434,7 +395,7 @@ export async function addPackage(
|
||||
prefix: string,
|
||||
os_version: string
|
||||
): Promise<string> {
|
||||
const tool_command = await getPackageCommand(os_version);
|
||||
const tool_command = await getCommand(os_version, 'composertool');
|
||||
return tool_command + tool + ' ' + release + ' ' + prefix;
|
||||
}
|
||||
|
||||
@ -467,6 +428,17 @@ export async function addTools(
|
||||
script += '\n';
|
||||
let url = '';
|
||||
switch (tool) {
|
||||
case 'blackfire':
|
||||
case 'blackfire-agent':
|
||||
script += await getCommand(
|
||||
os_version,
|
||||
'blackfire ' + (await utils.getBlackfireAgentVersion())
|
||||
);
|
||||
break;
|
||||
case 'blackfire-player':
|
||||
url = await getPharUrl('https://get.blackfire.io', tool, 'v', version);
|
||||
script += await addArchive(tool, version, url, os_version);
|
||||
break;
|
||||
case 'cs2pr':
|
||||
uri = await getUri(tool, '', version, 'releases', '', 'download');
|
||||
url = github + 'staabm/annotate-pull-request-from-checkstyle/' + uri;
|
||||
@ -512,7 +484,7 @@ export async function addTools(
|
||||
break;
|
||||
case 'phpcpd':
|
||||
case 'phpunit':
|
||||
url = await getPhpunitUrl(tool, version);
|
||||
url = await getPharUrl('https://phar.phpunit.de', tool, '', version);
|
||||
script += await addArchive(tool, version, url, os_version);
|
||||
break;
|
||||
case 'deployer':
|
||||
@ -537,7 +509,7 @@ export async function addTools(
|
||||
);
|
||||
break;
|
||||
case 'pecl':
|
||||
script += await getPECLCommand(os_version);
|
||||
script += await getCommand(os_version, 'pecl');
|
||||
break;
|
||||
case 'php-config':
|
||||
case 'phpize':
|
||||
|
Reference in New Issue
Block a user