Files
setup-php/src/install.ts

59 lines
1.9 KiB
TypeScript
Raw Normal View History

2019-09-06 05:17:43 +05:30
import {exec} from '@actions/exec/lib/exec';
2019-09-20 08:11:20 +05:30
import * as core from '@actions/core';
import * as utils from './utils';
2019-10-08 18:12:54 +05:30
import * as extensions from './extensions';
import * as config from './config';
import * as coverage from './coverage';
2019-09-06 05:17:43 +05:30
2019-10-17 01:41:13 +05:30
/**
* Build the script
*
* @param filename
* @param version
* @param os_version
*/
async function build(filename: string, version: string, os_version: string) {
// taking inputs
let extension_csv: string = await utils.getInput('extension-csv', false);
let ini_values_csv: string = await utils.getInput('ini-values-csv', false);
let coverage_driver: string = await utils.getInput('coverage', false);
let script: string = await utils.readScript(filename, version, os_version);
if (extension_csv) {
script += await extensions.addExtension(extension_csv, version, os_version);
}
if (ini_values_csv) {
script += await config.addINIValues(ini_values_csv, os_version);
}
if (coverage_driver) {
script += await coverage.addCoverage(coverage_driver, version, os_version);
}
await utils.writeScript(filename, version, script);
}
2019-09-20 08:11:20 +05:30
/**
* Run the script
*/
2019-09-06 05:17:43 +05:30
async function run() {
try {
2019-09-20 08:11:20 +05:30
let os_version: string = process.platform;
2019-10-17 01:41:13 +05:30
let version: string = await utils.getInput('php-version', true);
2019-09-09 01:35:38 +05:30
// check the os version and run the respective script
2019-09-06 05:17:43 +05:30
if (os_version == 'darwin') {
2019-10-17 01:41:13 +05:30
await build('darwin.sh', version, os_version);
await exec('sh ./' + version + 'darwin.sh ' + version);
2019-09-06 05:17:43 +05:30
} else if (os_version == 'win32') {
2019-10-17 01:41:13 +05:30
await build('win32.ps1', version, os_version);
2019-09-20 08:11:20 +05:30
await exec('powershell .\\' + version + 'win32.ps1 -version ' + version);
2019-09-06 05:17:43 +05:30
} else if (os_version == 'linux') {
2019-10-17 01:41:13 +05:30
await build('linux.sh', version, os_version);
await exec('./' + version + 'linux.sh ' + version);
2019-09-06 05:17:43 +05:30
}
2019-10-17 01:41:13 +05:30
} catch (error) {
core.setFailed(error.message);
2019-09-06 05:17:43 +05:30
}
}
2019-09-07 18:01:50 +05:30
// call the run function
2019-10-11 04:41:25 +05:30
run();