mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-30 23:07:56 +07:00 
			
		
		
		
	Refactor install.ts
This commit is contained in:
		| @ -14,26 +14,19 @@ import * as matchers from './matchers'; | ||||
|  * @param version | ||||
|  * @param os_version | ||||
|  */ | ||||
| export async function build( | ||||
| export async function getScript( | ||||
|   filename: string, | ||||
|   version: string, | ||||
|   os_version: string | ||||
| ): Promise<string> { | ||||
|   const name = 'setup-php'; | ||||
|   const url = 'setup-php.com/support'; | ||||
|   const url = 'https://setup-php.com/support'; | ||||
|   // taking inputs | ||||
|   const extension_csv: string = | ||||
|     (await utils.getInput('extensions', false)) || | ||||
|     (await utils.getInput('extension', false)); | ||||
|   const extension_csv: string = await utils.getInput('extensions', false); | ||||
|   const ini_values_csv: string = await utils.getInput('ini-values', false); | ||||
|   const coverage_driver: string = await utils.getInput('coverage', false); | ||||
|   const pecl: string = await utils.getInput('pecl', false); | ||||
|   let tools_csv: string = await utils.getInput('tools', false); | ||||
|   if ( | ||||
|     pecl == 'true' || | ||||
|     /.*-(beta|alpha|devel|snapshot).*/.test(extension_csv) || | ||||
|     /.*-(\d+\.\d+\.\d+).*/.test(extension_csv) | ||||
|   ) { | ||||
|   if (/.*-(beta|alpha|devel|snapshot|\d+\.\d+\.\d+).*/.test(extension_csv)) { | ||||
|     tools_csv = 'pecl, ' + tools_csv; | ||||
|   } | ||||
|  | ||||
| @ -65,20 +58,10 @@ export async function run(): Promise<void> { | ||||
|       await utils.getInput('php-version', true) | ||||
|     ); | ||||
|     const os_version: string = process.platform; | ||||
|  | ||||
|     // check the os version and run the respective script | ||||
|     let script_path = ''; | ||||
|     switch (os_version) { | ||||
|       case 'darwin': | ||||
|       case 'linux': | ||||
|         script_path = await build(os_version + '.sh', version, os_version); | ||||
|         await exec('bash ' + script_path + ' ' + version + ' ' + __dirname); | ||||
|         break; | ||||
|       case 'win32': | ||||
|         script_path = await build('win32.ps1', version, os_version); | ||||
|         await exec('pwsh ' + script_path + ' ' + version + ' ' + __dirname); | ||||
|         break; | ||||
|     } | ||||
|     const tool = await utils.scriptTool(os_version); | ||||
|     const script = os_version + (await utils.scriptExtension(os_version)); | ||||
|     const location = await getScript(script, version, os_version); | ||||
|     await exec(await utils.joins(tool, location, version, __dirname)); | ||||
|     await matchers.addMatchers(); | ||||
|   } catch (error) { | ||||
|     core.setFailed(error.message); | ||||
|  | ||||
							
								
								
									
										21
									
								
								src/utils.ts
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								src/utils.ts
									
									
									
									
									
								
							| @ -377,6 +377,27 @@ export async function scriptExtension(os_version: string): Promise<string> { | ||||
|   } | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Function to get script tool | ||||
|  * | ||||
|  * @param os_version | ||||
|  */ | ||||
| export async function scriptTool(os_version: string): Promise<string> { | ||||
|   switch (os_version) { | ||||
|     case 'win32': | ||||
|       return 'pwsh'; | ||||
|     case 'linux': | ||||
|     case 'darwin': | ||||
|       return 'bash'; | ||||
|     default: | ||||
|       return await log( | ||||
|         'Platform ' + os_version + ' is not supported', | ||||
|         os_version, | ||||
|         'error' | ||||
|       ); | ||||
|   } | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Function to get script to add tools with custom support. | ||||
|  * | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shivam Mathur
					Shivam Mathur