Rename os_version => os

This commit is contained in:
Shivam Mathur
2022-01-29 05:29:58 +05:30
parent c2c73b16c1
commit cad2a1bda3
12 changed files with 242 additions and 313 deletions

View File

@ -45,28 +45,28 @@ export async function addINIValuesWindows(
* Function to add custom ini values
*
* @param ini_values_csv
* @param os_version
* @param os
* @param no_step
*/
export async function addINIValues(
ini_values_csv: string,
os_version: string,
os: string,
no_step = false
): Promise<string> {
let script = '\n';
switch (no_step) {
case true:
script +=
(await utils.stepLog('Add php.ini values', os_version)) +
(await utils.suppressOutput(os_version)) +
(await utils.stepLog('Add php.ini values', os)) +
(await utils.suppressOutput(os)) +
'\n';
break;
case false:
default:
script += (await utils.stepLog('Add php.ini values', os_version)) + '\n';
script += (await utils.stepLog('Add php.ini values', os)) + '\n';
break;
}
switch (os_version) {
switch (os) {
case 'win32':
return script + (await addINIValuesWindows(ini_values_csv));
case 'darwin':
@ -74,8 +74,8 @@ export async function addINIValues(
return script + (await addINIValuesUnix(ini_values_csv));
default:
return await utils.log(
'Platform ' + os_version + ' is not supported',
os_version,
'Platform ' + os + ' is not supported',
os,
'error'
);
}

View File

@ -20,13 +20,13 @@ export async function checkXdebugError(
*
* @param extension
* @param version
* @param os_version
* @param os
* @param pipe
*/
export async function addCoverageXdebug(
extension: string,
version: string,
os_version: string,
os: string,
pipe: string
): Promise<string> {
let script = '\n';
@ -34,20 +34,14 @@ export async function addCoverageXdebug(
let status = '$cross';
if (!message) {
script +=
(await extensions.addExtension(
':pcov:false',
version,
os_version,
true
)) + pipe;
(await extensions.addExtension(':pcov:false', version, os, true)) + pipe;
extension = extension == 'xdebug3' ? 'xdebug' : extension;
script +=
(await extensions.addExtension(extension, version, os_version, true)) +
pipe;
(await extensions.addExtension(extension, version, os, true)) + pipe;
message = 'Xdebug enabled as coverage driver';
status = '$tick';
}
script += await utils.addLog(status, extension, message, os_version);
script += await utils.addLog(status, extension, message, os);
return script;
}
@ -55,36 +49,30 @@ export async function addCoverageXdebug(
* Function to setup PCOV
*
* @param version
* @param os_version
* @param os
* @param pipe
*/
export async function addCoveragePCOV(
version: string,
os_version: string,
os: string,
pipe: string
): Promise<string> {
let script = '\n';
switch (true) {
default:
script +=
(await extensions.addExtension(
':xdebug:false',
version,
os_version,
true
)) + pipe;
script +=
(await extensions.addExtension('pcov', version, os_version, true)) +
(await extensions.addExtension(':xdebug:false', version, os, true)) +
pipe;
script +=
(await config.addINIValues('pcov.enabled=1', os_version, true)) + '\n';
(await extensions.addExtension('pcov', version, os, true)) + pipe;
script += (await config.addINIValues('pcov.enabled=1', os, true)) + '\n';
// success
script += await utils.addLog(
'$tick',
'coverage: pcov',
'PCOV enabled as coverage driver',
os_version
os
);
// version is not supported
break;
@ -94,7 +82,7 @@ export async function addCoveragePCOV(
'$cross',
'pcov',
'PHP 7.1 or newer is required',
os_version
os
);
break;
}
@ -106,31 +94,20 @@ export async function addCoveragePCOV(
* Function to disable Xdebug and PCOV
*
* @param version
* @param os_version
* @param os
* @param pipe
*/
export async function disableCoverage(
version: string,
os_version: string,
os: string,
pipe: string
): Promise<string> {
let script = '\n';
script +=
(await extensions.addExtension(':pcov:false', version, os_version, true)) +
pipe;
(await extensions.addExtension(':pcov:false', version, os, true)) + pipe;
script +=
(await extensions.addExtension(
':xdebug:false',
version,
os_version,
true
)) + pipe;
script += await utils.addLog(
'$tick',
'none',
'Disabled Xdebug and PCOV',
os_version
);
(await extensions.addExtension(':xdebug:false', version, os, true)) + pipe;
script += await utils.addLog('$tick', 'none', 'Disabled Xdebug and PCOV', os);
return script;
}
@ -140,29 +117,27 @@ export async function disableCoverage(
*
* @param coverage_driver
* @param version
* @param os_version
* @param os
*/
export async function addCoverage(
coverage_driver: string,
version: string,
os_version: string
os: string
): Promise<string> {
coverage_driver = coverage_driver.toLowerCase();
const script: string =
'\n' + (await utils.stepLog('Setup Coverage', os_version));
const pipe: string = (await utils.suppressOutput(os_version)) + '\n';
const script: string = '\n' + (await utils.stepLog('Setup Coverage', os));
const pipe: string = (await utils.suppressOutput(os)) + '\n';
switch (coverage_driver) {
case 'pcov':
return script + (await addCoveragePCOV(version, os_version, pipe));
return script + (await addCoveragePCOV(version, os, pipe));
case 'xdebug':
case 'xdebug2':
case 'xdebug3':
return (
script +
(await addCoverageXdebug(coverage_driver, version, os_version, pipe))
script + (await addCoverageXdebug(coverage_driver, version, os, pipe))
);
case 'none':
return script + (await disableCoverage(version, os_version, pipe));
return script + (await disableCoverage(version, os, pipe));
default:
return '';
}

View File

@ -327,20 +327,20 @@ export async function addExtensionLinux(
*
* @param extension_csv
* @param version
* @param os_version
* @param os
* @param no_step
*/
export async function addExtension(
extension_csv: string,
version: string,
os_version: string,
os: string,
no_step = false
): Promise<string> {
const log: string = await utils.stepLog('Setup Extensions', os_version);
const log: string = await utils.stepLog('Setup Extensions', os);
let script = '\n';
switch (no_step) {
case true:
script += log + (await utils.suppressOutput(os_version));
script += log + (await utils.suppressOutput(os));
break;
case false:
default:
@ -348,7 +348,7 @@ export async function addExtension(
break;
}
switch (os_version) {
switch (os) {
case 'win32':
return script + (await addExtensionWindows(extension_csv, version));
case 'darwin':
@ -357,8 +357,8 @@ export async function addExtension(
return script + (await addExtensionLinux(extension_csv, version));
default:
return await utils.log(
'Platform ' + os_version + ' is not supported',
os_version,
'Platform ' + os + ' is not supported',
os,
'error'
);
}

View File

@ -13,12 +13,12 @@ import fs from 'fs';
*
* @param filename
* @param version
* @param os_version
* @param os
*/
export async function getScript(
filename: string,
version: string,
os_version: string
os: string
): Promise<string> {
const url = 'https://setup-php.com/sponsor';
// taking inputs
@ -30,17 +30,17 @@ export async function getScript(
const script_path = path.join(__dirname, '../src/scripts', filename);
let script = '\n';
if (extension_csv) {
script += await extensions.addExtension(extension_csv, version, os_version);
script += await extensions.addExtension(extension_csv, version, os);
}
script += await tools.addTools(tools_csv, version, os_version);
script += await tools.addTools(tools_csv, version, os);
if (coverage_driver) {
script += await coverage.addCoverage(coverage_driver, version, os_version);
script += await coverage.addCoverage(coverage_driver, version, os);
}
if (ini_values_csv) {
script += await config.addINIValues(ini_values_csv, os_version);
script += await config.addINIValues(ini_values_csv, os);
}
script += '\n' + (await utils.stepLog(`Sponsor setup-php`, os_version));
script += '\n' + (await utils.addLog('$tick', 'setup-php', url, os_version));
script += '\n' + (await utils.stepLog(`Sponsor setup-php`, os));
script += '\n' + (await utils.addLog('$tick', 'setup-php', url, os));
fs.appendFileSync(script_path, script, {mode: 0o755});
@ -65,10 +65,10 @@ export async function run(): Promise<void> {
await utils.getInput('ini-file', false)
);
if (version) {
const os_version: string = process.platform;
const tool = await utils.scriptTool(os_version);
const script = os_version + (await utils.scriptExtension(os_version));
const location = await getScript(script, version, os_version);
const os: string = process.platform;
const tool = await utils.scriptTool(os);
const script = os + (await utils.scriptExtension(os));
const location = await getScript(script, version, os);
await exec(
await utils.joins(tool, location, version, ini_file, __dirname)
);

View File

@ -185,7 +185,7 @@ export async function getPharUrl(data: RS): Promise<string> {
*/
export async function addArchive(data: RS): Promise<string> {
return (
(await utils.getCommand(data['os_version'], 'tool')) +
(await utils.getCommand(data['os'], 'tool')) +
(await utils.joins(data['url'], data['tool'], data['version_parameter']))
);
}
@ -196,7 +196,7 @@ export async function addArchive(data: RS): Promise<string> {
* @param data
*/
export async function addPackage(data: RS): Promise<string> {
const command = await utils.getCommand(data['os_version'], 'composertool');
const command = await utils.getCommand(data['os'], 'composertool');
const parts: string[] = data['repository'].split('/');
const args: string = await utils.joins(
parts[1],
@ -275,7 +275,7 @@ export async function addDeployer(data: RS): Promise<string> {
* @param data
*/
export async function addDevTools(data: RS): Promise<string> {
switch (data['os_version']) {
switch (data['os']) {
case 'linux':
case 'darwin':
return 'add_devtools ' + data['tool'];
@ -288,8 +288,8 @@ export async function addDevTools(data: RS): Promise<string> {
);
default:
return await utils.log(
'Platform ' + data['os_version'] + ' is not supported',
data['os_version'],
'Platform ' + data['os'] + ' is not supported',
data['os'],
'error'
);
}
@ -301,7 +301,7 @@ export async function addDevTools(data: RS): Promise<string> {
* @param data
*/
export async function addPECL(data: RS): Promise<string> {
return await utils.getCommand(data['os_version'], 'pecl');
return await utils.getCommand(data['os'], 'pecl');
}
/**
@ -327,7 +327,7 @@ export async function addPhive(data: RS): Promise<string> {
'$cross',
'phive',
'Phive is not supported on PHP ' + data['php_version'],
data['os_version']
data['os']
);
case /5\.6|7\.0/.test(data['php_version']):
data['version'] = '0.12.1';
@ -364,18 +364,18 @@ export async function addPHPUnitTools(data: RS): Promise<string> {
*/
export async function addSymfony(data: RS): Promise<string> {
let filename: string;
switch (data['os_version']) {
switch (data['os']) {
case 'linux':
case 'darwin':
filename = 'symfony_' + data['os_version'] + '_amd64';
filename = 'symfony_' + data['os'] + '_amd64';
break;
case 'win32':
filename = 'symfony_windows_amd64.exe';
break;
default:
return await utils.log(
'Platform ' + data['os_version'] + ' is not supported',
data['os_version'],
'Platform ' + data['os'] + ' is not supported',
data['os'],
'error'
);
}
@ -411,12 +411,12 @@ export async function addWPCLI(data: RS): Promise<string> {
*
* @param release
* @param php_version
* @param os_version
* @param os
*/
export async function getData(
release: string,
php_version: string,
os_version: string
os: string
): Promise<RS> {
const json_file_path = path.join(__dirname, '../src/configs/tools.json');
const json_file: string = fs.readFileSync(json_file_path, 'utf8');
@ -450,7 +450,7 @@ export async function getData(
data['github'] = 'https://github.com';
data['domain'] ??= data['github'];
data['extension'] ??= '.phar';
data['os_version'] = os_version;
data['os'] = os;
data['php_version'] = php_version;
data['prefix'] = data['github'] === data['domain'] ? 'releases' : '';
data['verb'] = data['github'] === data['domain'] ? 'download' : '';
@ -484,22 +484,22 @@ export const functionRecord: Record<string, (data: RS) => Promise<string>> = {
*
* @param tools_csv
* @param php_version
* @param os_version
* @param os
*/
export async function addTools(
tools_csv: string,
php_version: string,
os_version: string
os: string
): Promise<string> {
let script = '\n';
if (tools_csv === 'none') {
return '';
} else {
script += await utils.stepLog('Setup Tools', os_version);
script += await utils.stepLog('Setup Tools', os);
}
const tools_list = await filterList(await utils.CSVArray(tools_csv));
await utils.asyncForEach(tools_list, async function (release: string) {
const data: RS = await getData(release, php_version, os_version);
const data: RS = await getData(release, php_version, os);
script += '\n';
switch (true) {
case data['error'] !== undefined:
@ -507,7 +507,7 @@ export async function addTools(
'$cross',
data['tool'],
data['error'],
data['os_version']
data['os']
);
break;
case 'phar' === data['type']:
@ -522,7 +522,7 @@ export async function addTools(
data['tool'].split('-')[0],
'tools',
data['version'],
data['os_version']
data['os']
);
break;
case 'custom-function' === data['type']:
@ -535,7 +535,7 @@ export async function addTools(
'$cross',
data['tool'],
'Tool ' + data['tool'] + ' is not supported',
data['os_version']
data['os']
);
break;
}

View File

@ -170,15 +170,15 @@ export async function color(type: string): Promise<string> {
* Log to console
*
* @param message
* @param os_version
* @param os
* @param log_type
*/
export async function log(
message: string,
os_version: string,
os: string,
log_type: string
): Promise<string> {
switch (os_version) {
switch (os) {
case 'win32':
return (
'printf "\\033[' +
@ -201,24 +201,17 @@ export async function log(
* Function to log a step
*
* @param message
* @param os_version
* @param os
*/
export async function stepLog(
message: string,
os_version: string
): Promise<string> {
switch (os_version) {
export async function stepLog(message: string, os: string): Promise<string> {
switch (os) {
case 'win32':
return 'Step-Log "' + message + '"';
case 'linux':
case 'darwin':
return 'step_log "' + message + '"';
default:
return await log(
'Platform ' + os_version + ' is not supported',
os_version,
'error'
);
return await log('Platform ' + os + ' is not supported', os, 'error');
}
}
@ -227,26 +220,22 @@ export async function stepLog(
* @param mark
* @param subject
* @param message
* @param os_version
* @param os
*/
export async function addLog(
mark: string,
subject: string,
message: string,
os_version: string
os: string
): Promise<string> {
switch (os_version) {
switch (os) {
case 'win32':
return 'Add-Log "' + mark + '" "' + subject + '" "' + message + '"';
case 'linux':
case 'darwin':
return 'add_log "' + mark + '" "' + subject + '" "' + message + '"';
default:
return await log(
'Platform ' + os_version + ' is not supported',
os_version,
'error'
);
return await log('Platform ' + os + ' is not supported', os, 'error');
}
}
@ -322,21 +311,17 @@ export async function getExtensionPrefix(extension: string): Promise<string> {
/**
* Function to get the suffix to suppress console output
*
* @param os_version
* @param os
*/
export async function suppressOutput(os_version: string): Promise<string> {
switch (os_version) {
export async function suppressOutput(os: string): Promise<string> {
switch (os) {
case 'win32':
return ' >$null 2>&1';
case 'linux':
case 'darwin':
return ' >/dev/null 2>&1';
default:
return await log(
'Platform ' + os_version + ' is not supported',
os_version,
'error'
);
return await log('Platform ' + os + ' is not supported', os, 'error');
}
}
@ -345,12 +330,12 @@ export async function suppressOutput(os_version: string): Promise<string> {
*
* @param extension
* @param version
* @param os_version
* @param os
*/
export async function getUnsupportedLog(
extension: string,
version: string,
os_version: string
os: string
): Promise<string> {
return (
'\n' +
@ -358,7 +343,7 @@ export async function getUnsupportedLog(
'$cross',
extension,
[extension, 'is not supported on PHP', version].join(' '),
os_version
os
)) +
'\n'
);
@ -367,25 +352,18 @@ export async function getUnsupportedLog(
/**
* Function to get command to setup tools
*
* @param os_version
* @param os
* @param suffix
*/
export async function getCommand(
os_version: string,
suffix: string
): Promise<string> {
switch (os_version) {
export async function getCommand(os: string, suffix: string): Promise<string> {
switch (os) {
case 'linux':
case 'darwin':
return 'add_' + suffix + ' ';
case 'win32':
return 'Add-' + suffix.charAt(0).toUpperCase() + suffix.slice(1) + ' ';
default:
return await log(
'Platform ' + os_version + ' is not supported',
os_version,
'error'
);
return await log('Platform ' + os + ' is not supported', os, 'error');
}
}
@ -401,42 +379,34 @@ export async function joins(...str: string[]): Promise<string> {
/**
* Function to get script extensions
*
* @param os_version
* @param os
*/
export async function scriptExtension(os_version: string): Promise<string> {
switch (os_version) {
export async function scriptExtension(os: string): Promise<string> {
switch (os) {
case 'win32':
return '.ps1';
case 'linux':
case 'darwin':
return '.sh';
default:
return await log(
'Platform ' + os_version + ' is not supported',
os_version,
'error'
);
return await log('Platform ' + os + ' is not supported', os, 'error');
}
}
/**
* Function to get script tool
*
* @param os_version
* @param os
*/
export async function scriptTool(os_version: string): Promise<string> {
switch (os_version) {
export async function scriptTool(os: string): Promise<string> {
switch (os) {
case 'win32':
return 'pwsh';
case 'linux':
case 'darwin':
return 'bash';
default:
return await log(
'Platform ' + os_version + ' is not supported',
os_version,
'error'
);
return await log('Platform ' + os + ' is not supported', os, 'error');
}
}
@ -446,21 +416,21 @@ export async function scriptTool(os_version: string): Promise<string> {
* @param pkg
* @param type
* @param version
* @param os_version
* @param os
*/
export async function customPackage(
pkg: string,
type: string,
version: string,
os_version: string
os: string
): Promise<string> {
const pkg_name: string = pkg.replace(/\d+|(pdo|pecl)[_-]/, '');
const script_extension: string = await scriptExtension(os_version);
const script_extension: string = await scriptExtension(os);
const script: string = path.join(
__dirname,
'../src/scripts/' + type + '/' + pkg_name + script_extension
);
const command: string = await getCommand(os_version, pkg_name);
const command: string = await getCommand(os, pkg_name);
return '\n. ' + script + '\n' + command + version;
}