trm-core
Version:
TRM (Transport Request Manager) Core
72 lines (71 loc) • 3.67 kB
JavaScript
;
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.executePostActivities = void 0;
const trm_commons_1 = require("trm-commons");
const manifest_1 = require("../../manifest");
const transport_1 = require("../../transport");
exports.executePostActivities = {
name: 'execute-post-activities',
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
if (context.rawInput.installData.skipPostActivities) {
trm_commons_1.Logger.log(`Skipping post activities (user input)`, true);
return false;
}
else {
if (context.runtime.remotePackageData.manifest.postActivities && context.runtime.remotePackageData.manifest.postActivities.length > 0) {
return true;
}
else {
trm_commons_1.Logger.log(`Skipping post activities (none defined)`, true);
return false;
}
}
}),
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
trm_commons_1.Logger.log('Execute post activities step', true);
var counter = 0;
for (var data of context.runtime.remotePackageData.manifest.postActivities) {
counter++;
trm_commons_1.Logger.setPrefix(`(${counter}/${context.runtime.remotePackageData.manifest.postActivities.length}) `);
try {
if (Array.isArray(data.parameters)) {
data.parameters.forEach(param => {
switch (param.value) {
case '&INSTALL_WB_TRANSPORT&':
try {
param.value = context.runtime.installData.transports.find(o => o.type === transport_1.TrmTransportIdentifier.TADIR).transport.trkorr;
}
catch (x) {
throw new Error(`Cannot find install workbench transport number`);
}
break;
case '&INSTALL_CUST_TRANSPORT&':
try {
param.value = context.runtime.installData.transports.find(o => o.type === transport_1.TrmTransportIdentifier.CUST).transport.trkorr;
}
catch (x) {
throw new Error(`Cannot find install customizing transport number`);
}
break;
}
});
}
const postActivity = new manifest_1.PostActivity(data);
yield postActivity.execute();
}
catch (e) {
trm_commons_1.Logger.error(`Failed execution of post activity: ${e.message}`);
}
trm_commons_1.Logger.removePrefix();
}
})
};