mirror of
https://github.com/gradle/gradle-build-action.git
synced 2024-10-19 12:11:11 +08:00
177 lines
5.3 KiB
JavaScript
177 lines
5.3 KiB
JavaScript
|
"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());
|
||
|
});
|
||
|
};
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
const command_1 = require("./command");
|
||
|
const os = require("os");
|
||
|
const path = require("path");
|
||
|
/**
|
||
|
* The code to exit an action
|
||
|
*/
|
||
|
var ExitCode;
|
||
|
(function (ExitCode) {
|
||
|
/**
|
||
|
* A code indicating that the action was successful
|
||
|
*/
|
||
|
ExitCode[ExitCode["Success"] = 0] = "Success";
|
||
|
/**
|
||
|
* A code indicating that the action was a failure
|
||
|
*/
|
||
|
ExitCode[ExitCode["Failure"] = 1] = "Failure";
|
||
|
})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Variables
|
||
|
//-----------------------------------------------------------------------
|
||
|
/**
|
||
|
* sets env variable for this action and future actions in the job
|
||
|
* @param name the name of the variable to set
|
||
|
* @param val the value of the variable
|
||
|
*/
|
||
|
function exportVariable(name, val) {
|
||
|
process.env[name] = val;
|
||
|
command_1.issueCommand('set-env', { name }, val);
|
||
|
}
|
||
|
exports.exportVariable = exportVariable;
|
||
|
/**
|
||
|
* exports the variable and registers a secret which will get masked from logs
|
||
|
* @param name the name of the variable to set
|
||
|
* @param val value of the secret
|
||
|
*/
|
||
|
function exportSecret(name, val) {
|
||
|
exportVariable(name, val);
|
||
|
// the runner will error with not implemented
|
||
|
// leaving the function but raising the error earlier
|
||
|
command_1.issueCommand('set-secret', {}, val);
|
||
|
throw new Error('Not implemented.');
|
||
|
}
|
||
|
exports.exportSecret = exportSecret;
|
||
|
/**
|
||
|
* Prepends inputPath to the PATH (for this action and future actions)
|
||
|
* @param inputPath
|
||
|
*/
|
||
|
function addPath(inputPath) {
|
||
|
command_1.issueCommand('add-path', {}, inputPath);
|
||
|
process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
|
||
|
}
|
||
|
exports.addPath = addPath;
|
||
|
/**
|
||
|
* Gets the value of an input. The value is also trimmed.
|
||
|
*
|
||
|
* @param name name of the input to get
|
||
|
* @param options optional. See InputOptions.
|
||
|
* @returns string
|
||
|
*/
|
||
|
function getInput(name, options) {
|
||
|
const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
|
||
|
if (options && options.required && !val) {
|
||
|
throw new Error(`Input required and not supplied: ${name}`);
|
||
|
}
|
||
|
return val.trim();
|
||
|
}
|
||
|
exports.getInput = getInput;
|
||
|
/**
|
||
|
* Sets the value of an output.
|
||
|
*
|
||
|
* @param name name of the output to set
|
||
|
* @param value value to store
|
||
|
*/
|
||
|
function setOutput(name, value) {
|
||
|
command_1.issueCommand('set-output', { name }, value);
|
||
|
}
|
||
|
exports.setOutput = setOutput;
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Results
|
||
|
//-----------------------------------------------------------------------
|
||
|
/**
|
||
|
* Sets the action status to failed.
|
||
|
* When the action exits it will be with an exit code of 1
|
||
|
* @param message add error issue message
|
||
|
*/
|
||
|
function setFailed(message) {
|
||
|
process.exitCode = ExitCode.Failure;
|
||
|
error(message);
|
||
|
}
|
||
|
exports.setFailed = setFailed;
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Logging Commands
|
||
|
//-----------------------------------------------------------------------
|
||
|
/**
|
||
|
* Writes debug message to user log
|
||
|
* @param message debug message
|
||
|
*/
|
||
|
function debug(message) {
|
||
|
command_1.issueCommand('debug', {}, message);
|
||
|
}
|
||
|
exports.debug = debug;
|
||
|
/**
|
||
|
* Adds an error issue
|
||
|
* @param message error issue message
|
||
|
*/
|
||
|
function error(message) {
|
||
|
command_1.issue('error', message);
|
||
|
}
|
||
|
exports.error = error;
|
||
|
/**
|
||
|
* Adds an warning issue
|
||
|
* @param message warning issue message
|
||
|
*/
|
||
|
function warning(message) {
|
||
|
command_1.issue('warning', message);
|
||
|
}
|
||
|
exports.warning = warning;
|
||
|
/**
|
||
|
* Writes info to log with console.log.
|
||
|
* @param message info message
|
||
|
*/
|
||
|
function info(message) {
|
||
|
process.stdout.write(message + os.EOL);
|
||
|
}
|
||
|
exports.info = info;
|
||
|
/**
|
||
|
* Begin an output group.
|
||
|
*
|
||
|
* Output until the next `groupEnd` will be foldable in this group
|
||
|
*
|
||
|
* @param name The name of the output group
|
||
|
*/
|
||
|
function startGroup(name) {
|
||
|
command_1.issue('group', name);
|
||
|
}
|
||
|
exports.startGroup = startGroup;
|
||
|
/**
|
||
|
* End an output group.
|
||
|
*/
|
||
|
function endGroup() {
|
||
|
command_1.issue('endgroup');
|
||
|
}
|
||
|
exports.endGroup = endGroup;
|
||
|
/**
|
||
|
* Wrap an asynchronous function call in a group.
|
||
|
*
|
||
|
* Returns the same type as the function itself.
|
||
|
*
|
||
|
* @param name The name of the group
|
||
|
* @param fn The function to wrap in the group
|
||
|
*/
|
||
|
function group(name, fn) {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
startGroup(name);
|
||
|
let result;
|
||
|
try {
|
||
|
result = yield fn();
|
||
|
}
|
||
|
finally {
|
||
|
endGroup();
|
||
|
}
|
||
|
return result;
|
||
|
});
|
||
|
}
|
||
|
exports.group = group;
|
||
|
//# sourceMappingURL=core.js.map
|