trm-core
Version:
TRM (Transport Request Manager) Core
65 lines (64 loc) • 3.29 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.generateCustTransport = void 0;
const trm_commons_1 = require("trm-commons");
const transport_1 = require("../../transport");
exports.generateCustTransport = {
name: 'generate-cust-transport',
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
if (context.runtime.systemData.originCustomizing.length > 0) {
return true;
}
else {
trm_commons_1.Logger.log(`Skipping CUST transport generation (no customizing transports)`, true);
return false;
}
}),
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
trm_commons_1.Logger.log('Generate CUST transport step', true);
trm_commons_1.Logger.loading(`Generating transports...`);
for (const origin of context.runtime.systemData.originCustomizing) {
trm_commons_1.Logger.loading(`Generating CUST transport...`, true);
const transport = yield transport_1.Transport.createToc({
trmIdentifier: transport_1.TrmTransportIdentifier.CUST,
target: context.rawInput.systemData.transportTarget,
text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (C) ${origin.description}`.trim()
});
for (const originTransport of origin.transports) {
yield transport.addObjectsFromTransport(originTransport.trkorr);
}
const e071 = yield transport.getE071();
if (e071.length === 0) {
trm_commons_1.Logger.info(`Customizing transport has no content, deleting.`, true);
yield transport.delete();
}
else {
context.runtime.systemData.custTransports.push(transport);
}
}
}),
revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
trm_commons_1.Logger.log('Rollback generate CUST transport step', true);
for (const transport of context.runtime.systemData.custTransports) {
try {
if (yield transport.canBeDeleted()) {
yield transport.delete();
trm_commons_1.Logger.success(`Executed rollback on transport ${transport.trkorr}`, true);
}
}
catch (e) {
trm_commons_1.Logger.error(`Unable to rollback transport ${transport.trkorr}!`);
trm_commons_1.Logger.error(e.toString(), true);
}
}
})
};