@broadcom/endevor-bridge-for-git-for-zowe-cli
Version:
Endevor Bridge for Git plug-in for Zowe CLI
83 lines • 4.74 kB
JavaScript
;
/*
* Copyright (c) 2019 Broadcom. All Rights Reserved. The term
* "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
*
* This software and all information contained therein is
* confidential and proprietary and shall not be duplicated,
* used, disclosed, or disseminated in any way except as
* authorized by the applicable license agreement, without the
* express written permission of Broadcom. All authorized
* reproductions must be marked with this language.
*
* EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO
* THE EXTENT PERMITTED BY APPLICABLE LAW, BROADCOM PROVIDES THIS
* SOFTWARE WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT
* LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL BROADCOM
* BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR
* DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS SOFTWARE,
* INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS
* INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF BROADCOM IS
* EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE.
*/
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 imperative_1 = require("@zowe/imperative");
const object_1 = require("../../../utils/object");
const BuildExecute_1 = require("../../../api/build/execute/BuildExecute");
const BuildExecute_handler_1 = require("../execute/BuildExecute.handler");
const BuildOptions_1 = require("../../options/BuildOptions");
const EndevorOptions_1 = require("../../options/EndevorOptions");
const BaseHandler_1 = require("../../BaseHandler");
class BuildJobSubmitHandler extends BaseHandler_1.BaseHandler {
processWithSession() {
return __awaiter(this, void 0, void 0, function* () {
const endevorSession = this.createEndevorSession();
const zosmfSession = this.createZosmfSession();
const endevorInstance = this.getOption(EndevorOptions_1.EndevorOptions.ENDEVOR_INSTANCE, false);
const workAreaID = this.getOption(BuildOptions_1.BuildOptions.ENDEVOR_OPTION_WORK_AREA_ID, false);
const buildSubsystemName = this.getOption(BuildOptions_1.BuildOptions.ENDEVOR_OPTION_SUBSYSTEM, false);
let buildSubsystem;
// Either work area or build subsystem needs to be specified
if ((0, object_1.isNil)(workAreaID)) {
if ((0, object_1.isNil)(buildSubsystemName)) {
throw new imperative_1.ImperativeError({
msg: BuildExecute_handler_1.default.MISSING_WORK_AREA_ID_OR_BUILD_SUBSYSTEM_MSG,
});
}
else {
const env = this.getOption(BuildOptions_1.BuildOptions.ENDEVOR_OPTION_ENVIRONMENT, true);
const sys = this.getOption(BuildOptions_1.BuildOptions.ENDEVOR_OPTION_SYSTEM, true);
buildSubsystem = {
env: env ? env.toUpperCase() : env,
sys: sys ? sys.toUpperCase() : sys,
sub: buildSubsystemName
};
}
}
const jclSkeletonPath = this.getOption(BuildOptions_1.BuildOptions.OPTION_SKELETON_JCL);
const workDir = this.getOption(BuildOptions_1.BuildOptions.OPTION_WORK_DIR);
const forceClean = this.getOption(BuildOptions_1.BuildOptions.OPTION_FORCE_CLEAN_UP, false);
const autogen = this.getOption(BuildOptions_1.BuildOptions.OPTION_AUTOGEN);
this.validateRequiredOptions();
const build = new BuildExecute_1.BuildExecute(endevorSession, endevorInstance, workDir, forceClean, undefined, undefined, workAreaID, buildSubsystem, {
iszosmf: true,
jclSkeletonPath,
autogen: autogen.toUpperCase(),
zosmfSession
});
yield build.buildDriver(this.params.response);
});
}
}
exports.default = BuildJobSubmitHandler;
//# sourceMappingURL=BuildJobSubmit.handler.js.map