| 
									
										
										
										
											2021-12-31 23:42:30 +00:00
										 |  |  | import { ReadLicense } from './input-readers/test-license-reader'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-15 17:58:39 +00:00
										 |  |  | class Parameter { | 
					
						
							|  |  |  |   public name; | 
					
						
							|  |  |  |   public value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ImageEnvironmentFactory { | 
					
						
							|  |  |  |   public static getEnvVarString(parameters) { | 
					
						
							|  |  |  |     const environmentVariables = ImageEnvironmentFactory.getEnvironmentVariables(parameters); | 
					
						
							|  |  |  |     let string = ''; | 
					
						
							|  |  |  |     for (const p of environmentVariables) { | 
					
						
							| 
									
										
										
										
											2021-12-29 17:15:27 +00:00
										 |  |  |       if (p.value === '' || p.value === undefined) { | 
					
						
							|  |  |  |         continue; | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2021-12-29 19:24:13 +00:00
										 |  |  |       if (p.value.toString().includes(`\n`)) { | 
					
						
							| 
									
										
										
										
											2021-12-29 19:08:41 +00:00
										 |  |  |         string += `--env ${p.name} `; | 
					
						
							|  |  |  |         continue; | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2021-12-29 17:25:38 +00:00
										 |  |  |       string += `--env ${p.name}="${p.value}" `; | 
					
						
							| 
									
										
										
										
											2021-08-15 17:58:39 +00:00
										 |  |  |     } | 
					
						
							|  |  |  |     return string; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   public static getEnvironmentVariables(parameters) { | 
					
						
							|  |  |  |     const { | 
					
						
							|  |  |  |       version, | 
					
						
							|  |  |  |       platform, | 
					
						
							|  |  |  |       projectPath, | 
					
						
							|  |  |  |       buildName, | 
					
						
							|  |  |  |       buildPath, | 
					
						
							|  |  |  |       buildFile, | 
					
						
							|  |  |  |       buildMethod, | 
					
						
							|  |  |  |       buildVersion, | 
					
						
							|  |  |  |       androidVersionCode, | 
					
						
							|  |  |  |       androidKeystoreName, | 
					
						
							|  |  |  |       androidKeystoreBase64, | 
					
						
							|  |  |  |       androidKeystorePass, | 
					
						
							|  |  |  |       androidKeyaliasName, | 
					
						
							|  |  |  |       androidKeyaliasPass, | 
					
						
							|  |  |  |       customParameters, | 
					
						
							|  |  |  |       sshAgent, | 
					
						
							|  |  |  |       chownFilesTo, | 
					
						
							|  |  |  |     } = parameters; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const environmentVariables: Parameter[] = [ | 
					
						
							| 
									
										
										
										
											2021-12-31 23:42:30 +00:00
										 |  |  |       { name: 'UNITY_LICENSE', value: process.env.UNITY_LICENSE || ReadLicense() }, | 
					
						
							| 
									
										
										
										
											2021-08-15 17:58:39 +00:00
										 |  |  |       { name: 'UNITY_LICENSE_FILE', value: process.env.UNITY_LICENSE_FILE }, | 
					
						
							|  |  |  |       { name: 'UNITY_EMAIL', value: process.env.UNITY_EMAIL }, | 
					
						
							|  |  |  |       { name: 'UNITY_PASSWORD', value: process.env.UNITY_PASSWORD }, | 
					
						
							|  |  |  |       { name: 'UNITY_SERIAL', value: process.env.UNITY_SERIAL }, | 
					
						
							|  |  |  |       { name: 'UNITY_VERSION', value: version }, | 
					
						
							|  |  |  |       { name: 'USYM_UPLOAD_AUTH_TOKEN', value: process.env.USYM_UPLOAD_AUTH_TOKEN }, | 
					
						
							|  |  |  |       { name: 'PROJECT_PATH', value: projectPath }, | 
					
						
							|  |  |  |       { name: 'BUILD_TARGET', value: platform }, | 
					
						
							|  |  |  |       { name: 'BUILD_NAME', value: buildName }, | 
					
						
							|  |  |  |       { name: 'BUILD_PATH', value: buildPath }, | 
					
						
							|  |  |  |       { name: 'BUILD_FILE', value: buildFile }, | 
					
						
							|  |  |  |       { name: 'BUILD_METHOD', value: buildMethod }, | 
					
						
							|  |  |  |       { name: 'VERSION', value: buildVersion }, | 
					
						
							|  |  |  |       { name: 'ANDROID_VERSION_CODE', value: androidVersionCode }, | 
					
						
							|  |  |  |       { name: 'ANDROID_KEYSTORE_NAME', value: androidKeystoreName }, | 
					
						
							|  |  |  |       { name: 'ANDROID_KEYSTORE_BASE64', value: androidKeystoreBase64 }, | 
					
						
							|  |  |  |       { name: 'ANDROID_KEYSTORE_PASS', value: androidKeystorePass }, | 
					
						
							|  |  |  |       { name: 'ANDROID_KEYALIAS_NAME', value: androidKeyaliasName }, | 
					
						
							|  |  |  |       { name: 'ANDROID_KEYALIAS_PASS', value: androidKeyaliasPass }, | 
					
						
							|  |  |  |       { name: 'CUSTOM_PARAMETERS', value: customParameters }, | 
					
						
							|  |  |  |       { name: 'CHOWN_FILES_TO', value: chownFilesTo }, | 
					
						
							|  |  |  |       { name: 'GITHUB_REF', value: process.env.GITHUB_REF }, | 
					
						
							|  |  |  |       { name: 'GITHUB_SHA', value: process.env.GITHUB_SHA }, | 
					
						
							|  |  |  |       { name: 'GITHUB_REPOSITORY', value: process.env.GITHUB_REPOSITORY }, | 
					
						
							|  |  |  |       { name: 'GITHUB_ACTOR', value: process.env.GITHUB_ACTOR }, | 
					
						
							|  |  |  |       { name: 'GITHUB_WORKFLOW', value: process.env.GITHUB_WORKFLOW }, | 
					
						
							|  |  |  |       { name: 'GITHUB_HEAD_REF', value: process.env.GITHUB_HEAD_REF }, | 
					
						
							|  |  |  |       { name: 'GITHUB_BASE_REF', value: process.env.GITHUB_BASE_REF }, | 
					
						
							|  |  |  |       { name: 'GITHUB_EVENT_NAME', value: process.env.GITHUB_EVENT_NAME }, | 
					
						
							|  |  |  |       { name: 'GITHUB_WORKSPACE', value: '/github/workspace' }, | 
					
						
							|  |  |  |       { name: 'GITHUB_ACTION', value: process.env.GITHUB_ACTION }, | 
					
						
							|  |  |  |       { name: 'GITHUB_EVENT_PATH', value: process.env.GITHUB_EVENT_PATH }, | 
					
						
							|  |  |  |       { name: 'RUNNER_OS', value: process.env.RUNNER_OS }, | 
					
						
							|  |  |  |       { name: 'RUNNER_TOOL_CACHE', value: process.env.RUNNER_TOOL_CACHE }, | 
					
						
							|  |  |  |       { name: 'RUNNER_TEMP', value: process.env.RUNNER_TEMP }, | 
					
						
							|  |  |  |       { name: 'RUNNER_WORKSPACE', value: process.env.RUNNER_WORKSPACE }, | 
					
						
							|  |  |  |     ]; | 
					
						
							|  |  |  |     if (sshAgent) environmentVariables.push({ name: 'SSH_AUTH_SOCK', value: '/ssh-agent' }); | 
					
						
							|  |  |  |     return environmentVariables; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export default ImageEnvironmentFactory; |