2021-11-26 20:57:51 +08:00
|
|
|
"use strict";
|
|
|
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
|
|
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) : adopt(result.value).then(fulfilled, rejected); }
|
|
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
|
|
});
|
|
|
|
};
|
|
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
|
|
};
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
2022-04-04 21:27:01 +08:00
|
|
|
exports.stderr = exports.stdout = exports.execute = void 0;
|
2021-11-26 20:57:51 +08:00
|
|
|
const exec_1 = require("@actions/exec");
|
|
|
|
const buffer_1 = __importDefault(require("buffer"));
|
2022-04-04 21:27:01 +08:00
|
|
|
const output = { stdout: '', stderr: '' };
|
2021-11-26 20:57:51 +08:00
|
|
|
/** Wrapper around the GitHub toolkit exec command which returns the output.
|
|
|
|
* Also allows you to easily toggle the current working directory.
|
|
|
|
*
|
|
|
|
* @param {string} cmd - The command to execute.
|
|
|
|
* @param {string} cwd - The current working directory.
|
|
|
|
* @param {boolean} silent - Determines if the in/out should be silenced or not.
|
2022-04-04 21:27:01 +08:00
|
|
|
* @param {boolean} ignoreReturnCode - Determines whether to throw an error
|
|
|
|
* on a non-zero exit status or to leave implementation up to the caller.
|
2021-11-26 20:57:51 +08:00
|
|
|
*/
|
2022-04-04 21:27:01 +08:00
|
|
|
function execute(cmd, cwd, silent, ignoreReturnCode = false) {
|
2021-11-26 20:57:51 +08:00
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
2022-04-04 21:27:01 +08:00
|
|
|
output.stdout = '';
|
|
|
|
output.stderr = '';
|
2021-11-26 20:57:51 +08:00
|
|
|
yield (0, exec_1.exec)(cmd, [], {
|
|
|
|
// Silences the input unless the INPUT_DEBUG flag is set.
|
|
|
|
silent,
|
|
|
|
cwd,
|
2022-04-04 21:27:01 +08:00
|
|
|
listeners: { stdout, stderr },
|
|
|
|
ignoreReturnCode
|
2021-11-26 20:57:51 +08:00
|
|
|
});
|
|
|
|
return Promise.resolve(output);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
exports.execute = execute;
|
|
|
|
function stdout(data) {
|
|
|
|
const dataString = data.toString().trim();
|
2022-04-04 21:27:01 +08:00
|
|
|
if (output.stdout.length + dataString.length <
|
|
|
|
buffer_1.default.constants.MAX_STRING_LENGTH) {
|
|
|
|
output.stdout += dataString;
|
2021-11-26 20:57:51 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
exports.stdout = stdout;
|
2022-04-04 21:27:01 +08:00
|
|
|
function stderr(data) {
|
|
|
|
const dataString = data.toString().trim();
|
|
|
|
if (output.stderr.length + dataString.length <
|
|
|
|
buffer_1.default.constants.MAX_STRING_LENGTH) {
|
|
|
|
output.stderr += dataString;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
exports.stderr = stderr;
|