forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | const child_process = require("child_process"); | ||
|  | 
 | ||
|  | async function spawnCommand(command, args, exitOnErr) { | ||
|  | 	exitOnErr = exitOnErr === undefined ? true : exitOnErr; | ||
|  | 
 | ||
|  | 	const proc = child_process.spawn(command, args); | ||
|  | 
 | ||
|  | 	proc.stdout.on("data", function (data) { | ||
|  | 		console.log(data.toString().trim()); | ||
|  | 	}); | ||
|  | 
 | ||
|  | 	proc.stderr.on("data", function (data) { | ||
|  | 		console.error(data.toString().trim()); | ||
|  | 	}); | ||
|  | 
 | ||
|  | 	return new Promise(function(resolve, reject) { | ||
|  | 		proc.on("close", function (code) { | ||
|  | 			if (code == 0) { | ||
|  | 				console.log(`Child process exited with code ${code}`); | ||
|  | 				resolve(); | ||
|  | 			} else { | ||
|  | 				console.error(`Child process failed with code ${code}`); | ||
|  | 				if (exitOnErr) { | ||
|  | 					process.exit(code); | ||
|  | 				} | ||
|  | 				reject(); | ||
|  | 			} | ||
|  | 		}); | ||
|  | 	}); | ||
|  | } | ||
|  | 
 | ||
|  | function getEnvVarSafe(varname) { | ||
|  | 	const value = process.env[varname]; | ||
|  | 	if (value === undefined) { | ||
|  | 		exitWithError(`Environment variable '${varname}' not set!`) | ||
|  | 	} | ||
|  | 	return value; | ||
|  | } | ||
|  | 
 | ||
|  | function exitWithError(message, exitCode) { | ||
|  | 	exitCode = exitCode === undefined ? 1 : exitCode; | ||
|  | 
 | ||
|  | 	console.error("[Error]  " + message); | ||
|  | 	process.exit(exitCode); | ||
|  | } | ||
|  | 
 | ||
|  | async function install_deps() { | ||
|  | 	console.log("Downloading haxelib dependencies..."); | ||
|  | 	await spawnCommand("haxelib", ["newrepo"]); | ||
|  | 	await spawnCommand("haxelib", ["install", "TestDeps.hxml", "--always"]); | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = { | ||
|  | 	spawnCommand: spawnCommand, | ||
|  | 	getEnvVarSafe: getEnvVarSafe, | ||
|  | 	exitWithError: exitWithError, | ||
|  | 	install_deps: install_deps, | ||
|  | } |