36 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
							 | 
						||
| 
								 | 
							
								    return new (P || (P = Promise))(function (resolve, reject) {
							 | 
						||
| 
								 | 
							
								        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
							 | 
						||
| 
								 | 
							
								        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
							 | 
						||
| 
								 | 
							
								        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
							 | 
						||
| 
								 | 
							
								        step((generator = generator.apply(thisArg, _arguments || [])).next());
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						||
| 
								 | 
							
								const tr = require("./toolrunner");
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Exec a command.
							 | 
						||
| 
								 | 
							
								 * Output will be streamed to the live console.
							 | 
						||
| 
								 | 
							
								 * Returns promise with return code
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param     commandLine        command to execute (can include additional args). Must be correctly escaped.
							 | 
						||
| 
								 | 
							
								 * @param     args               optional arguments for tool. Escaping is handled by the lib.
							 | 
						||
| 
								 | 
							
								 * @param     options            optional exec options.  See ExecOptions
							 | 
						||
| 
								 | 
							
								 * @returns   Promise<number>    exit code
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								function exec(commandLine, args, options) {
							 | 
						||
| 
								 | 
							
								    return __awaiter(this, void 0, void 0, function* () {
							 | 
						||
| 
								 | 
							
								        const commandArgs = tr.argStringToArray(commandLine);
							 | 
						||
| 
								 | 
							
								        if (commandArgs.length === 0) {
							 | 
						||
| 
								 | 
							
								            throw new Error(`Parameter 'commandLine' cannot be null or empty.`);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        // Path to tool to execute should be first arg
							 | 
						||
| 
								 | 
							
								        const toolPath = commandArgs[0];
							 | 
						||
| 
								 | 
							
								        args = commandArgs.slice(1).concat(args || []);
							 | 
						||
| 
								 | 
							
								        const runner = new tr.ToolRunner(toolPath, args, options);
							 | 
						||
| 
								 | 
							
								        return runner.exec();
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.exec = exec;
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=exec.js.map
							 |