UNPKG

trm-core

Version:

TRM (Transport Request Manager) Core

75 lines (74 loc) 3.89 kB
"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 }); exports.setDevclass = void 0; const logger_1 = require("../../logger"); const trmPackage_1 = require("../../trmPackage"); const inquirer_1 = require("../../inquirer"); const systemConnector_1 = require("../../systemConnector"); const commons_1 = require("../../commons"); exports.setDevclass = { name: 'set-devclass', run: (context) => __awaiter(void 0, void 0, void 0, function* () { logger_1.Logger.log('Set devclass step', true); var needsValidation; var devclass = context.rawInput.packageData.devclass; if (devclass === undefined) { const trmPackage = context.rawInput.contextData.systemPackages.find(o => trmPackage_1.TrmPackage.compare(o, new trmPackage_1.TrmPackage(context.rawInput.packageData.name, context.rawInput.packageData.registry))); if (trmPackage) { devclass = trmPackage.getDevclass(); } if (!context.rawInput.contextData.noInquirer) { devclass = (yield inquirer_1.Inquirer.prompt({ type: 'input', message: 'ABAP package name', name: 'devclass', default: devclass, validate: (input) => __awaiter(void 0, void 0, void 0, function* () { return yield (0, inquirer_1.validateDevclass)(input, false); }) })).devclass.trim().toUpperCase(); logger_1.Logger.log(`Publish devclass set to "${devclass}"`, true); needsValidation = false; } else { needsValidation = true; } } else { needsValidation = true; } if (needsValidation) { const validate = yield (0, inquirer_1.validateDevclass)(devclass, false); if (validate && validate !== true) { throw new Error(validate); } logger_1.Logger.info(`Publish ABAP package: "${devclass}"`); } context.rawInput.packageData.devclass = devclass; logger_1.Logger.loading(`Reading "${context.rawInput.packageData.devclass}" objects...`); context.runtime.packageData.tadir = yield systemConnector_1.SystemConnector.getDevclassObjects(context.rawInput.packageData.devclass, true); const packageNamespace = (0, commons_1.getPackageNamespace)(context.rawInput.packageData.devclass); if (packageNamespace[0] === '/') { logger_1.Logger.loading(`Reading namespace ${packageNamespace}...`); const namespace = yield systemConnector_1.SystemConnector.getNamespace(packageNamespace); if (namespace && namespace.trnspacet && namespace.trnspacett.length > 0) { context.runtime.packageData.namespace = { trnspacet: namespace.trnspacet, trnspacett: namespace.trnspacett }; } else { throw new Error(`Namespace ${packageNamespace} couldn't be found on ${systemConnector_1.SystemConnector.getDest()}.`); } } }) };