trm-core 8.5.3 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -5
- package/changelog.txt +17 -0
- package/dist/actions/commons/prompts/index.d.ts +1 -0
- package/dist/actions/commons/prompts/index.js +17 -0
- package/dist/actions/commons/prompts/setTransportTarget.d.ts +2 -0
- package/dist/actions/commons/prompts/setTransportTarget.js +63 -0
- package/dist/actions/install/addNamespace.js +19 -46
- package/dist/actions/install/{migrate.d.ts → checkObjectsLock.d.ts} +1 -1
- package/dist/actions/install/checkObjectsLock.js +52 -0
- package/dist/actions/install/checkTransports.js +76 -55
- package/dist/actions/install/executePostActivities.js +13 -11
- package/dist/actions/install/generateDevclass.js +1 -7
- package/dist/actions/install/generateInstallTransport.js +85 -99
- package/dist/actions/install/importCustTransport.js +34 -33
- package/dist/actions/install/importDevcTransport.js +1 -1
- package/dist/actions/install/importLangTransport.js +1 -1
- package/dist/actions/install/importTadirTransport.js +2 -18
- package/dist/actions/install/index.d.ts +5 -5
- package/dist/actions/install/index.js +7 -9
- package/dist/actions/install/init.js +6 -9
- package/dist/actions/install/readDevc.js +6 -2
- package/dist/actions/install/readTadir.js +4 -2
- package/dist/actions/install/refreshTmsTxt.js +2 -8
- package/dist/actions/install/{setPackageIntegrity.d.ts → updatePackageData.d.ts} +1 -1
- package/dist/actions/install/updatePackageData.js +35 -0
- package/dist/actions/publish/checkAllObjectsReleased.d.ts +3 -0
- package/dist/actions/publish/checkAllObjectsReleased.js +46 -0
- package/dist/actions/publish/generateCustTransport.js +24 -20
- package/dist/actions/publish/generateDevcTransport.js +0 -2
- package/dist/actions/publish/generateTadirTransport.js +0 -16
- package/dist/actions/publish/getSourceCode.js +1 -1
- package/dist/actions/publish/index.d.ts +7 -3
- package/dist/actions/publish/index.js +5 -3
- package/dist/actions/publish/init.js +9 -22
- package/dist/actions/publish/releaseTransports.js +3 -4
- package/dist/actions/publish/setCustomizingTransports.js +100 -44
- package/dist/actions/publish/setManifestValues.js +1 -1
- package/dist/actions/publish/setReadme.js +1 -1
- package/dist/actions/publish/setTransportTarget.js +2 -36
- package/dist/actions/publish/{finalizePublish.d.ts → updatePackageData.d.ts} +1 -1
- package/dist/actions/publish/{finalizePublish.js → updatePackageData.js} +10 -10
- package/dist/actions/stopWarning.js +5 -1
- package/dist/client/RESTClient.d.ts +5 -6
- package/dist/client/RESTClient.js +36 -51
- package/dist/client/RFCClient.d.ts +5 -6
- package/dist/client/RFCClient.js +168 -205
- package/dist/client/components/DDLANGUAGE.d.ts +1 -0
- package/dist/client/components/TARSYSTEM.d.ts +1 -0
- package/dist/client/components/index.d.ts +2 -0
- package/dist/client/components/index.js +2 -0
- package/dist/client/struct/E07T.d.ts +6 -0
- package/dist/client/struct/E07T.js +2 -0
- package/dist/client/struct/TADIR_KEY.d.ts +6 -0
- package/dist/client/struct/TADIR_KEY.js +2 -0
- package/dist/client/struct/ZTRM_DIRTY.d.ts +7 -0
- package/dist/client/struct/ZTRM_DIRTY.js +2 -0
- package/dist/client/struct/ZTRM_OBJ_LOCK.d.ts +7 -0
- package/dist/client/struct/ZTRM_OBJ_LOCK.js +2 -0
- package/dist/client/struct/ZTRM_PACKAGE.d.ts +14 -0
- package/dist/client/struct/ZTRM_PACKAGE.js +2 -0
- package/dist/client/struct/index.d.ts +5 -2
- package/dist/client/struct/index.js +5 -2
- package/dist/commons/index.d.ts +0 -1
- package/dist/commons/index.js +0 -1
- package/dist/dependencies/PackageDependencies.js +16 -5
- package/dist/lockfile/Lockfile.js +1 -1
- package/dist/manifest/Manifest.js +0 -31
- package/dist/registry/AbstractRegistry.d.ts +2 -1
- package/dist/registry/FileSystem.d.ts +1 -0
- package/dist/registry/FileSystem.js +5 -0
- package/dist/registry/RegistryV2.d.ts +2 -1
- package/dist/registry/RegistryV2.js +116 -6
- package/dist/systemConnector/ISystemConnector.d.ts +4 -5
- package/dist/systemConnector/ISystemConnectorBase.d.ts +0 -3
- package/dist/systemConnector/RESTSystemConnector.d.ts +5 -6
- package/dist/systemConnector/RESTSystemConnector.js +20 -25
- package/dist/systemConnector/RFCSystemConnector.d.ts +5 -6
- package/dist/systemConnector/RFCSystemConnector.js +20 -25
- package/dist/systemConnector/SystemConnector.d.ts +5 -9
- package/dist/systemConnector/SystemConnector.js +21 -42
- package/dist/systemConnector/SystemConnectorBase.d.ts +7 -9
- package/dist/systemConnector/SystemConnectorBase.js +41 -220
- package/dist/transport/Transport.d.ts +9 -4
- package/dist/transport/Transport.js +49 -52
- package/dist/trmPackage/TrmArtifact.d.ts +1 -1
- package/dist/trmPackage/TrmArtifact.js +9 -2
- package/dist/trmPackage/TrmPackage.d.ts +11 -5
- package/dist/trmPackage/TrmPackage.js +11 -22
- package/dist/validators/validateTransportTarget.d.ts +2 -2
- package/dist/validators/validateTransportTarget.js +1 -1
- package/package.json +4 -4
- package/dist/actions/install/migrate.js +0 -35
- package/dist/actions/install/setPackageIntegrity.js +0 -28
- package/dist/actions/install/setTrmServerUpgradeService.d.ts +0 -3
- package/dist/actions/install/setTrmServerUpgradeService.js +0 -32
- package/dist/client/struct/ZTRM_INTEGRITY.d.ts +0 -6
- package/dist/client/struct/ZTY_TRM_PACKAGE.d.ts +0 -14
- package/dist/commons/TrmServerUpgradeService.d.ts +0 -16
- package/dist/commons/TrmServerUpgradeService.js +0 -89
- /package/dist/client/{struct/ZTRM_INTEGRITY.js → components/DDLANGUAGE.js} +0 -0
- /package/dist/client/{struct/ZTY_TRM_PACKAGE.js → components/TARSYSTEM.js} +0 -0
|
@@ -17,10 +17,9 @@ const trm_commons_1 = require("trm-commons");
|
|
|
17
17
|
const commons_1 = require("../../commons");
|
|
18
18
|
const systemConnector_1 = require("../../systemConnector");
|
|
19
19
|
const transport_1 = require("../../transport");
|
|
20
|
-
const registry_1 = require("../../registry");
|
|
21
|
-
const trmPackage_1 = require("../../trmPackage");
|
|
22
20
|
const manifest_1 = require("../../manifest");
|
|
23
21
|
const chalk_1 = __importDefault(require("chalk"));
|
|
22
|
+
const prompts_1 = require("../commons/prompts");
|
|
24
23
|
exports.generateInstallTransport = {
|
|
25
24
|
name: 'generate-install-transport',
|
|
26
25
|
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -36,67 +35,28 @@ exports.generateInstallTransport = {
|
|
|
36
35
|
trm_commons_1.Logger.log('Generate install transport step', true);
|
|
37
36
|
try {
|
|
38
37
|
if ((0, commons_1.getPackageNamespace)(context.runtime.installData.namespace) === '$') {
|
|
39
|
-
trm_commons_1.Logger.warning(`Install transport was not generated because the install package is temporary ($).`, true);
|
|
40
38
|
return;
|
|
41
39
|
}
|
|
42
|
-
trm_commons_1.Logger.loading(`
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var transports = yield systemConnector_1.SystemConnector.getWbTransports(context.rawInput.packageData.name);
|
|
49
|
-
if (context.runtime.registry.getRegistryType() !== registry_1.RegistryType.LOCAL) {
|
|
50
|
-
for (var i = transports.length - 1; i >= 0; i--) {
|
|
51
|
-
const linkedPackage = yield transports[i].getLinkedPackage();
|
|
52
|
-
if (linkedPackage.registry.getRegistryType() !== registry_1.RegistryType.LOCAL) {
|
|
53
|
-
transports.splice(i, 1);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (transports.length > 0) {
|
|
58
|
-
const trkorr = (yield trm_commons_1.Inquirer.prompt({
|
|
59
|
-
name: 'trkorr',
|
|
60
|
-
message: `Found ${transports.length} install transport(s) that might be linked to ${context.rawInput.packageData.name}, do you want to use one of these?`,
|
|
61
|
-
type: 'select',
|
|
62
|
-
choices: transports.map(o => {
|
|
63
|
-
return {
|
|
64
|
-
name: o.trkorr,
|
|
65
|
-
value: o.trkorr
|
|
66
|
-
};
|
|
67
|
-
}).concat([{
|
|
68
|
-
name: 'Generate new',
|
|
69
|
-
value: null
|
|
70
|
-
}])
|
|
71
|
-
})).trkorr;
|
|
72
|
-
if (trkorr) {
|
|
73
|
-
context.runtime.installData.transport = transports.find(o => o.trkorr === trkorr);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (context.runtime.installData.transport) {
|
|
79
|
-
trm_commons_1.Logger.log(`Install transport (${context.runtime.installData.transport.trkorr}) already exists, won't create a new one.`, true);
|
|
80
|
-
trm_commons_1.Logger.loading(`Updating install transport...`);
|
|
81
|
-
if (commons_1.TrmServerUpgrade.getInstance().changeTrOwner()) {
|
|
82
|
-
yield context.runtime.installData.transport.changeOwner(systemConnector_1.SystemConnector.getLogonUser());
|
|
83
|
-
}
|
|
84
|
-
if (commons_1.TrmServerUpgrade.getInstance().removeComments()) {
|
|
85
|
-
yield context.runtime.installData.transport.removeComments();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
trm_commons_1.Logger.loading(`Generating install transport...`);
|
|
90
|
-
context.runtime.installData.transport = yield transport_1.Transport.createWb({
|
|
40
|
+
trm_commons_1.Logger.loading(`Reading ${systemConnector_1.SystemConnector.getDest()} transport targets...`);
|
|
41
|
+
const transportTarget = yield (0, prompts_1.setTransportTarget)(context.rawInput.contextData.noInquirer, yield systemConnector_1.SystemConnector.getTransportTargets(), context.rawInput.installData.installTransport.targetSystem, "Install transport target");
|
|
42
|
+
trm_commons_1.Logger.loading(`Generating install transports...`);
|
|
43
|
+
context.runtime.installData.transports.push({
|
|
44
|
+
type: transport_1.TrmTransportIdentifier.TADIR,
|
|
45
|
+
transport: yield transport_1.Transport.createWb({
|
|
91
46
|
text: `TRM generated transport`,
|
|
92
|
-
target:
|
|
47
|
+
target: transportTarget
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
const noCustomizing = context.rawInput.installData.import.noCust || context.runtime.packageTransports.cust.length === 0;
|
|
51
|
+
if (!noCustomizing) {
|
|
52
|
+
context.runtime.installData.transports.push({
|
|
53
|
+
type: transport_1.TrmTransportIdentifier.CUST,
|
|
54
|
+
transport: yield transport_1.Transport.createCust({
|
|
55
|
+
text: `TRM generated transport`,
|
|
56
|
+
target: transportTarget
|
|
57
|
+
})
|
|
93
58
|
});
|
|
94
|
-
trm_commons_1.Logger.log(`Generated transport ${context.runtime.installData.transport.trkorr}`, true);
|
|
95
59
|
}
|
|
96
|
-
yield context.runtime.installData.transport.addComment(`name=${context.runtime.remotePackageData.manifest.name}`);
|
|
97
|
-
yield context.runtime.installData.transport.addComment(`version=${context.runtime.remotePackageData.manifest.version}`);
|
|
98
|
-
yield context.runtime.installData.transport.setDocumentation(new manifest_1.Manifest(context.runtime.remotePackageData.manifest).getAbapXml());
|
|
99
|
-
yield context.runtime.installData.transport.rename(`@X1@TRM: ${context.runtime.remotePackageData.manifest.name} v${context.runtime.remotePackageData.manifest.version}`);
|
|
100
60
|
var tadirObjects = context.runtime.packageTransportsData.tadir;
|
|
101
61
|
if (context.rawInput.installData.installDevclass.keepOriginal) {
|
|
102
62
|
tadirObjects = tadirObjects.concat(context.runtime.packageTransportsData.tdevc.map(o => {
|
|
@@ -118,74 +78,100 @@ exports.generateInstallTransport = {
|
|
|
118
78
|
};
|
|
119
79
|
}));
|
|
120
80
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
for (const task of tasks) {
|
|
125
|
-
trObjs = trObjs.concat(yield task.getE071());
|
|
81
|
+
try {
|
|
82
|
+
trm_commons_1.Logger.log(`Adding ${tadirObjects.length} workbench objects with lock in bulk`, true);
|
|
83
|
+
yield (context.runtime.installData.transports.find(o => o.type == transport_1.TrmTransportIdentifier.TADIR)).transport.addObjects(tadirObjects, true);
|
|
126
84
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
for (const tadir of tadirObjects) {
|
|
131
|
-
try {
|
|
85
|
+
catch (_a) {
|
|
86
|
+
trm_commons_1.Logger.log(`Failed adding in bulk, adding one by one`, true);
|
|
87
|
+
for (const tadir of tadirObjects) {
|
|
132
88
|
try {
|
|
133
|
-
|
|
134
|
-
|
|
89
|
+
try {
|
|
90
|
+
trm_commons_1.Logger.log(`Adding object ${tadir.pgmid} ${tadir.object} ${tadir.objName} with lock`, true);
|
|
91
|
+
yield (context.runtime.installData.transports.find(o => o.type == transport_1.TrmTransportIdentifier.TADIR)).transport.addObjects([tadir], true);
|
|
92
|
+
}
|
|
93
|
+
catch (e) {
|
|
94
|
+
trm_commons_1.Logger.log(`Failed ${e.toString()}, adding without lock`, true);
|
|
95
|
+
yield (context.runtime.installData.transports.find(o => o.type == transport_1.TrmTransportIdentifier.TADIR)).transport.addObjects([tadir], false);
|
|
96
|
+
}
|
|
135
97
|
}
|
|
136
98
|
catch (e) {
|
|
137
|
-
trm_commons_1.Logger.
|
|
138
|
-
|
|
99
|
+
trm_commons_1.Logger.warning(`Failed adding ${tadir.pgmid}${tadir.object}${tadir.objName} to transport ${(context.runtime.installData.transports.find(o => o.type == transport_1.TrmTransportIdentifier.TADIR)).transport.trkorr}`);
|
|
100
|
+
trm_commons_1.Logger.error(e.toString(), true);
|
|
139
101
|
}
|
|
140
102
|
}
|
|
141
|
-
catch (e) {
|
|
142
|
-
trm_commons_1.Logger.warning(`Failed adding ${tadir.pgmid}${tadir.object}${tadir.objName} to transport ${context.runtime.installData.transport.trkorr}`);
|
|
143
|
-
trm_commons_1.Logger.error(e.toString(), true);
|
|
144
|
-
}
|
|
145
103
|
}
|
|
146
104
|
if (context.runtime.packageTransports.lang.instance) {
|
|
147
105
|
try {
|
|
148
106
|
trm_commons_1.Logger.log(`Including language transport ${context.runtime.packageTransports.lang.instance.trkorr}`, true);
|
|
149
|
-
yield context.runtime.installData.transport.addObjectsFromTransport(context.runtime.packageTransports.lang.instance.trkorr);
|
|
107
|
+
yield (context.runtime.installData.transports.find(o => o.type == transport_1.TrmTransportIdentifier.TADIR)).transport.addObjectsFromTransport(context.runtime.packageTransports.lang.instance.trkorr);
|
|
150
108
|
}
|
|
151
109
|
catch (e) {
|
|
152
|
-
trm_commons_1.Logger.warning(`Failed including language transport ${context.runtime.packageTransports.lang.instance.trkorr}
|
|
110
|
+
trm_commons_1.Logger.warning(`Failed including language transport ${context.runtime.packageTransports.lang.instance.trkorr} in transport ${(context.runtime.installData.transports.find(o => o.type == transport_1.TrmTransportIdentifier.TADIR)).transport.trkorr}`);
|
|
153
111
|
trm_commons_1.Logger.error(e.toString(), true);
|
|
154
112
|
}
|
|
155
113
|
}
|
|
156
|
-
if (
|
|
114
|
+
if (!noCustomizing) {
|
|
115
|
+
for (const cust of context.runtime.packageTransports.cust) {
|
|
116
|
+
try {
|
|
117
|
+
trm_commons_1.Logger.log(`Including customizing transport ${cust.instance.trkorr}`, true);
|
|
118
|
+
yield (context.runtime.installData.transports.find(o => o.type == transport_1.TrmTransportIdentifier.CUST)).transport.addObjectsFromTransport(cust.instance.trkorr);
|
|
119
|
+
}
|
|
120
|
+
catch (e) {
|
|
121
|
+
trm_commons_1.Logger.warning(`Failed including customizing transport ${cust.instance.trkorr}`);
|
|
122
|
+
trm_commons_1.Logger.error(e.toString(), true);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
var transportsStatus = [];
|
|
127
|
+
trm_commons_1.Logger.loading(`Releasing install transports...`);
|
|
128
|
+
for (const transport of context.runtime.installData.transports) {
|
|
129
|
+
var len;
|
|
130
|
+
const index = (transportsStatus.push({
|
|
131
|
+
type: transport.type,
|
|
132
|
+
trkorr: transport.transport.trkorr,
|
|
133
|
+
len: 0,
|
|
134
|
+
success: false
|
|
135
|
+
}) - 1);
|
|
157
136
|
try {
|
|
158
|
-
|
|
159
|
-
yield
|
|
137
|
+
yield transport.transport.removeComments();
|
|
138
|
+
len = (yield transport.transport.getE071()).length;
|
|
139
|
+
transportsStatus[index].len = len;
|
|
140
|
+
if (len === 0) {
|
|
141
|
+
yield transport.transport.delete();
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
yield transport.transport.addComment(`name=${context.runtime.remotePackageData.manifest.name}`);
|
|
145
|
+
yield transport.transport.addComment(`version=${context.runtime.remotePackageData.manifest.version}`);
|
|
146
|
+
yield transport.transport.setDocumentation(new manifest_1.Manifest(context.runtime.remotePackageData.manifest).getAbapXml());
|
|
147
|
+
yield transport.transport.rename(`@X1@TRM: ${context.runtime.remotePackageData.manifest.name} v${context.runtime.remotePackageData.manifest.version} ${transport.type === transport_1.TrmTransportIdentifier.CUST ? '(C)' : ''}`.trim());
|
|
148
|
+
yield transport.transport.release(true, true);
|
|
149
|
+
}
|
|
150
|
+
transportsStatus[index].success = true;
|
|
160
151
|
}
|
|
161
152
|
catch (e) {
|
|
162
|
-
trm_commons_1.Logger.
|
|
153
|
+
trm_commons_1.Logger.error(`Error on finalize step of transport ${transport.transport.trkorr}`, true);
|
|
163
154
|
trm_commons_1.Logger.error(e.toString(), true);
|
|
155
|
+
transportsStatus[index].success = false;
|
|
164
156
|
}
|
|
165
157
|
}
|
|
166
|
-
|
|
167
|
-
if (
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
pgmid: 'R3TR',
|
|
172
|
-
object: 'NSPC',
|
|
173
|
-
objName: context.runtime.installData.namespace
|
|
174
|
-
}], false);
|
|
175
|
-
}
|
|
176
|
-
catch (e) {
|
|
177
|
-
trm_commons_1.Logger.warning(`Failed adding namespace ${context.runtime.installData.namespace} to transport ${context.runtime.installData.transport.trkorr}`);
|
|
178
|
-
trm_commons_1.Logger.error(e.toString(), true);
|
|
158
|
+
transportsStatus.forEach(o => {
|
|
159
|
+
if (o.success) {
|
|
160
|
+
if (o.len > 0) {
|
|
161
|
+
trm_commons_1.Logger.success(`Use ${o.type === transport_1.TrmTransportIdentifier.TADIR ? 'workbench' : 'customizing'} transport ${chalk_1.default.bold(o.trkorr)} in ${systemConnector_1.SystemConnector.getDest()} landscape transports.`);
|
|
162
|
+
context.runtime.installData.transports = context.runtime.installData.transports.filter(o => o.transport.trkorr !== o.transport.trkorr);
|
|
179
163
|
}
|
|
180
164
|
}
|
|
181
165
|
else {
|
|
182
|
-
|
|
166
|
+
if (o.len > 0) {
|
|
167
|
+
trm_commons_1.Logger.error(`Error on release of ${o.type === transport_1.TrmTransportIdentifier.TADIR ? 'workbench' : 'customizing'} transport ${chalk_1.default.bold(o.trkorr)}.`);
|
|
168
|
+
}
|
|
183
169
|
}
|
|
184
|
-
}
|
|
185
|
-
trm_commons_1.Logger.success(`Use ${chalk_1.default.bold(context.runtime.installData.transport.trkorr)} for transports in ${systemConnector_1.SystemConnector.getDest()} landscape.`);
|
|
170
|
+
});
|
|
186
171
|
}
|
|
187
172
|
catch (e) {
|
|
188
|
-
trm_commons_1.Logger.error(`An error occurred during install transport generation
|
|
173
|
+
trm_commons_1.Logger.error(`An error occurred during install transport generation.`);
|
|
174
|
+
trm_commons_1.Logger.error(`This error may be ignored.`);
|
|
189
175
|
trm_commons_1.Logger.error(e.toString(), true);
|
|
190
176
|
}
|
|
191
177
|
})
|
|
@@ -22,7 +22,7 @@ exports.importCustTransport = {
|
|
|
22
22
|
return false;
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
|
-
if (context.runtime.packageTransports.cust.
|
|
25
|
+
if (context.runtime.packageTransports.cust.length > 0) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
@@ -33,41 +33,42 @@ exports.importCustTransport = {
|
|
|
33
33
|
}),
|
|
34
34
|
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
35
|
trm_commons_1.Logger.log('Import CUST Transport step', true);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
context.runtime.stopWarningShown
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
36
|
+
for (var transport of context.runtime.packageTransports.cust) {
|
|
37
|
+
trm_commons_1.Logger.loading(`Importing ${context.rawInput.packageData.name} customizing...`);
|
|
38
|
+
trm_commons_1.Logger.loading(`Uploading ${transport.binaries.trkorr}`, true);
|
|
39
|
+
if (!context.runtime.stopWarningShown) {
|
|
40
|
+
context.runtime.stopWarningShown = true;
|
|
41
|
+
(0, stopWarning_1.stopWarning)('install');
|
|
42
|
+
}
|
|
43
|
+
transport.instance = yield transport_1.Transport.upload({
|
|
44
|
+
binary: transport.binaries.binaries,
|
|
45
|
+
trTarget: systemConnector_1.SystemConnector.getDest(),
|
|
46
|
+
r3transOption: context.rawInput.contextData.r3transOptions
|
|
47
|
+
});
|
|
48
|
+
yield transport.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
|
|
49
|
+
const originalLPrefix = trm_commons_1.Logger.getPrefix();
|
|
50
|
+
const originalIPrefix = trm_commons_1.Inquirer.getPrefix();
|
|
51
|
+
const prefix = `(${transport_1.Transport.getTransportIcon()} Customizing) `;
|
|
52
|
+
if (originalLPrefix) {
|
|
53
|
+
trm_commons_1.Logger.setPrefix(`${originalLPrefix}-> ${prefix}`);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
trm_commons_1.Logger.setPrefix(prefix);
|
|
57
|
+
}
|
|
58
|
+
if (originalIPrefix) {
|
|
59
|
+
trm_commons_1.Inquirer.setPrefix(`${originalIPrefix}-> ${prefix}`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
trm_commons_1.Inquirer.setPrefix(prefix);
|
|
63
|
+
}
|
|
64
|
+
trm_commons_1.Logger.loading(`Importing ${transport.binaries.trkorr}`, true);
|
|
65
|
+
yield transport.instance.import();
|
|
66
|
+
trm_commons_1.Logger.success(`Transport ${transport.binaries.trkorr} imported`, true);
|
|
67
|
+
trm_commons_1.Logger.setPrefix(originalLPrefix);
|
|
68
|
+
trm_commons_1.Inquirer.setPrefix(originalIPrefix);
|
|
62
69
|
}
|
|
63
|
-
trm_commons_1.Logger.loading(`Importing ${context.runtime.packageTransports.cust.binaries.trkorr}`, true);
|
|
64
|
-
yield context.runtime.packageTransports.cust.instance.import();
|
|
65
|
-
trm_commons_1.Logger.success(`Transport ${context.runtime.packageTransports.cust.binaries.trkorr} imported`, true);
|
|
66
|
-
trm_commons_1.Logger.setPrefix(originalLPrefix);
|
|
67
|
-
trm_commons_1.Inquirer.setPrefix(originalIPrefix);
|
|
68
70
|
}),
|
|
69
71
|
revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
72
|
trm_commons_1.Logger.log('Rollback CUST Transport step', true);
|
|
71
|
-
trm_commons_1.Logger.warning(`Customizing transport ${context.runtime.packageTransports.cust.binaries.trkorr} can't be reverted.`);
|
|
72
73
|
})
|
|
73
74
|
};
|
|
@@ -43,7 +43,7 @@ exports.importDevcTransport = {
|
|
|
43
43
|
yield context.runtime.packageTransports.devc.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
|
|
44
44
|
const originalLPrefix = trm_commons_1.Logger.getPrefix();
|
|
45
45
|
const originalIPrefix = trm_commons_1.Inquirer.getPrefix();
|
|
46
|
-
const prefix = `(${transport_1.Transport.getTransportIcon()}
|
|
46
|
+
const prefix = `(${transport_1.Transport.getTransportIcon()} SAP Packages) `;
|
|
47
47
|
if (originalLPrefix) {
|
|
48
48
|
trm_commons_1.Logger.setPrefix(`${originalLPrefix}-> ${prefix}`);
|
|
49
49
|
}
|
|
@@ -47,7 +47,7 @@ exports.importLangTransport = {
|
|
|
47
47
|
yield context.runtime.packageTransports.lang.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
|
|
48
48
|
const originalLPrefix = trm_commons_1.Logger.getPrefix();
|
|
49
49
|
const originalIPrefix = trm_commons_1.Inquirer.getPrefix();
|
|
50
|
-
const prefix = `(${transport_1.Transport.getTransportIcon()}
|
|
50
|
+
const prefix = `(${transport_1.Transport.getTransportIcon()} Translations) `;
|
|
51
51
|
if (originalLPrefix) {
|
|
52
52
|
trm_commons_1.Logger.setPrefix(`${originalLPrefix}-> ${prefix}`);
|
|
53
53
|
}
|
|
@@ -17,7 +17,6 @@ const trm_commons_1 = require("trm-commons");
|
|
|
17
17
|
const systemConnector_1 = require("../../systemConnector");
|
|
18
18
|
const transport_1 = require("../../transport");
|
|
19
19
|
const lodash_1 = __importDefault(require("lodash"));
|
|
20
|
-
const commons_1 = require("../../commons");
|
|
21
20
|
const stopWarning_1 = require("../stopWarning");
|
|
22
21
|
exports.importTadirTransport = {
|
|
23
22
|
name: 'import-tadir-transport',
|
|
@@ -34,12 +33,10 @@ exports.importTadirTransport = {
|
|
|
34
33
|
trTarget: systemConnector_1.SystemConnector.getDest(),
|
|
35
34
|
r3transOption: context.rawInput.contextData.r3transOptions
|
|
36
35
|
});
|
|
37
|
-
|
|
38
|
-
yield context.runtime.packageTransports.tadir.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
|
|
39
|
-
}
|
|
36
|
+
yield context.runtime.packageTransports.tadir.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
|
|
40
37
|
const originalLPrefix = trm_commons_1.Logger.getPrefix();
|
|
41
38
|
const originalIPrefix = trm_commons_1.Inquirer.getPrefix();
|
|
42
|
-
const prefix = `(${transport_1.Transport.getTransportIcon()}
|
|
39
|
+
const prefix = `(${transport_1.Transport.getTransportIcon()} Workbench) `;
|
|
43
40
|
if (originalLPrefix) {
|
|
44
41
|
trm_commons_1.Logger.setPrefix(`${originalLPrefix}-> ${prefix}`);
|
|
45
42
|
}
|
|
@@ -73,21 +70,8 @@ exports.importTadirTransport = {
|
|
|
73
70
|
trm_commons_1.Logger.log(`Running TADIR interface for object ${object.pgmid} ${object.object} ${object.objName}, devclass ${tadir.devclass} -> ${object.devclass}, src system ${tadir.srcsystem} -> ${object.srcsystem}`, true);
|
|
74
71
|
yield systemConnector_1.SystemConnector.tadirInterface(object);
|
|
75
72
|
}
|
|
76
|
-
if (commons_1.TrmServerUpgrade.getInstance().deleteFromTms()) {
|
|
77
|
-
yield systemConnector_1.SystemConnector.removeSkipTrkorr(context.runtime.packageTransports.tadir.binaries.trkorr);
|
|
78
|
-
}
|
|
79
73
|
}),
|
|
80
74
|
revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
81
75
|
trm_commons_1.Logger.log('Rollback TADIR Transport step', true);
|
|
82
|
-
trm_commons_1.Logger.loading(`Rollback...`);
|
|
83
|
-
trm_commons_1.Logger.loading(`Rollback transport ${context.runtime.packageTransports.tadir.binaries.trkorr}...`, true);
|
|
84
|
-
try {
|
|
85
|
-
yield systemConnector_1.SystemConnector.addSkipTrkorr(context.runtime.packageTransports.tadir.binaries.trkorr);
|
|
86
|
-
trm_commons_1.Logger.success(`Rollback transport ${context.runtime.packageTransports.tadir.binaries.trkorr} done`, true);
|
|
87
|
-
}
|
|
88
|
-
catch (e) {
|
|
89
|
-
trm_commons_1.Logger.info(`Unable to rollback transport ${context.runtime.packageTransports.tadir.binaries.trkorr}`);
|
|
90
|
-
trm_commons_1.Logger.error(e.toString(), true);
|
|
91
|
-
}
|
|
92
76
|
})
|
|
93
77
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { R3trans, R3transOptions } from "node-r3trans";
|
|
2
2
|
import { Transport } from "../../transport";
|
|
3
|
-
import { TransportBinary, TrmArtifact, TrmPackage } from "../../trmPackage";
|
|
3
|
+
import { TransportBinary, TrmArtifact, TrmPackage, TrmPackageInstallTransport } from "../../trmPackage";
|
|
4
4
|
import { TrmManifest, TrmManifestDependency } from "../../manifest";
|
|
5
5
|
import { IActionContext } from "..";
|
|
6
6
|
import { DEVCLASS, E071, NAMESPACE, TADIR, TDEVC, TDEVCT } from "../../client";
|
|
@@ -66,12 +66,13 @@ type WorkflowRuntime = {
|
|
|
66
66
|
data: Package;
|
|
67
67
|
manifest: TrmManifest;
|
|
68
68
|
artifact: TrmArtifact;
|
|
69
|
+
contents: boolean;
|
|
69
70
|
};
|
|
70
71
|
packageTransports: {
|
|
71
72
|
devc: TransportRuntime;
|
|
72
73
|
tadir: TransportRuntime;
|
|
73
74
|
lang: TransportRuntime;
|
|
74
|
-
cust: TransportRuntime;
|
|
75
|
+
cust: TransportRuntime[];
|
|
75
76
|
};
|
|
76
77
|
packageTransportsData: {
|
|
77
78
|
tdevc: TDEVC[];
|
|
@@ -87,20 +88,19 @@ type WorkflowRuntime = {
|
|
|
87
88
|
installData: {
|
|
88
89
|
namespace: string;
|
|
89
90
|
entries: E071[];
|
|
91
|
+
transports: TrmPackageInstallTransport[];
|
|
90
92
|
upgradingPackage?: TrmPackage;
|
|
91
|
-
transport?: Transport;
|
|
92
93
|
};
|
|
93
94
|
generatedData: {
|
|
94
95
|
devclass: DEVCLASS[];
|
|
95
96
|
namespace: NAMESPACE;
|
|
96
|
-
migrations: Transport[];
|
|
97
97
|
tmsTxtRefresh: Transport[];
|
|
98
98
|
};
|
|
99
99
|
};
|
|
100
100
|
export type InstallActionOutput = {
|
|
101
101
|
manifest: TrmManifest;
|
|
102
102
|
registry: AbstractRegistry;
|
|
103
|
-
|
|
103
|
+
installTransports?: TrmPackageInstallTransport[];
|
|
104
104
|
};
|
|
105
105
|
export interface InstallWorkflowContext extends IActionContext {
|
|
106
106
|
rawInput: InstallActionInput;
|
|
@@ -35,13 +35,12 @@ const addNamespace_1 = require("./addNamespace");
|
|
|
35
35
|
const importTadirTransport_1 = require("./importTadirTransport");
|
|
36
36
|
const importLangTransport_1 = require("./importLangTransport");
|
|
37
37
|
const importCustTransport_1 = require("./importCustTransport");
|
|
38
|
-
const
|
|
38
|
+
const updatePackageData_1 = require("./updatePackageData");
|
|
39
39
|
const generateInstallTransport_1 = require("./generateInstallTransport");
|
|
40
40
|
const refreshTmsTxt_1 = require("./refreshTmsTxt");
|
|
41
|
-
const migrate_1 = require("./migrate");
|
|
42
41
|
const executePostActivities_1 = require("./executePostActivities");
|
|
43
|
-
const setTrmServerUpgradeService_1 = require("./setTrmServerUpgradeService");
|
|
44
42
|
const commit_1 = require("./commit");
|
|
43
|
+
const checkObjectsLock_1 = require("./checkObjectsLock");
|
|
45
44
|
;
|
|
46
45
|
const WORKFLOW_NAME = 'install';
|
|
47
46
|
function install(inputData) {
|
|
@@ -51,17 +50,16 @@ function install(inputData) {
|
|
|
51
50
|
init_1.init,
|
|
52
51
|
setSystemPackages_1.setSystemPackages,
|
|
53
52
|
__1.trmServerPa,
|
|
54
|
-
setTrmServerUpgradeService_1.setTrmServerUpgradeService,
|
|
55
53
|
checkAlreadyInstalled_1.checkAlreadyInstalled,
|
|
56
54
|
checkSapEntries_1.checkSapEntries,
|
|
57
55
|
checkDependencies_1.checkDependencies,
|
|
58
56
|
setR3trans_1.setR3trans,
|
|
59
57
|
installDependencies_1.installDependencies,
|
|
60
58
|
checkTransports_1.checkTransports,
|
|
61
|
-
|
|
59
|
+
checkObjectTypes_1.checkObjectTypes,
|
|
60
|
+
checkObjectsLock_1.checkObjectsLock,
|
|
62
61
|
readDevc_1.readDevc,
|
|
63
62
|
readTadir_1.readTadir,
|
|
64
|
-
checkObjectTypes_1.checkObjectTypes,
|
|
65
63
|
setInstallDevclass_1.setInstallDevclass,
|
|
66
64
|
addNamespace_1.addNamespace,
|
|
67
65
|
generateDevclass_1.generateDevclass,
|
|
@@ -70,8 +68,8 @@ function install(inputData) {
|
|
|
70
68
|
importLangTransport_1.importLangTransport,
|
|
71
69
|
importCustTransport_1.importCustTransport,
|
|
72
70
|
refreshTmsTxt_1.refreshTmsTxt,
|
|
73
|
-
setPackageIntegrity_1.setPackageIntegrity,
|
|
74
71
|
generateInstallTransport_1.generateInstallTransport,
|
|
72
|
+
updatePackageData_1.updatePackageData,
|
|
75
73
|
commit_1.commit,
|
|
76
74
|
executePostActivities_1.executePostActivities
|
|
77
75
|
];
|
|
@@ -82,11 +80,11 @@ function install(inputData) {
|
|
|
82
80
|
trm_commons_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, util_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
|
|
83
81
|
const manifest = result.runtime.remotePackageData.manifest;
|
|
84
82
|
const registry = result.runtime.registry;
|
|
85
|
-
const
|
|
83
|
+
const installTransports = result.runtime.installData.transports;
|
|
86
84
|
return {
|
|
87
85
|
manifest,
|
|
88
86
|
registry,
|
|
89
|
-
|
|
87
|
+
installTransports
|
|
90
88
|
};
|
|
91
89
|
});
|
|
92
90
|
}
|
|
@@ -40,7 +40,7 @@ exports.init = {
|
|
|
40
40
|
if (registry.getRegistryType() !== registry_1.RegistryType.LOCAL) {
|
|
41
41
|
trm_commons_1.Logger.loading(`Fetching package in registry ${registry.name}...`);
|
|
42
42
|
packageData = yield registry.getPackage(context.rawInput.packageData.name, context.rawInput.packageData.version || 'latest');
|
|
43
|
-
artifact = yield registry.downloadArtifact(packageData.name, packageData.manifest.version);
|
|
43
|
+
artifact = yield registry.downloadArtifact(packageData.name, packageData.manifest.version, true);
|
|
44
44
|
const checksum = (0, crypto_1.createHash)("sha512").update(artifact.binary).digest("base64");
|
|
45
45
|
if (checksum !== packageData.checksum) {
|
|
46
46
|
var ping;
|
|
@@ -66,7 +66,8 @@ exports.init = {
|
|
|
66
66
|
remotePackageData: {
|
|
67
67
|
data: packageData,
|
|
68
68
|
artifact,
|
|
69
|
-
manifest
|
|
69
|
+
manifest,
|
|
70
|
+
contents: false
|
|
70
71
|
},
|
|
71
72
|
dependenciesToInstall: [],
|
|
72
73
|
r3trans: undefined,
|
|
@@ -79,10 +80,7 @@ exports.init = {
|
|
|
79
80
|
binaries: undefined,
|
|
80
81
|
instance: undefined
|
|
81
82
|
},
|
|
82
|
-
cust:
|
|
83
|
-
binaries: undefined,
|
|
84
|
-
instance: undefined
|
|
85
|
-
},
|
|
83
|
+
cust: [],
|
|
86
84
|
lang: {
|
|
87
85
|
binaries: undefined,
|
|
88
86
|
instance: undefined
|
|
@@ -95,9 +93,9 @@ exports.init = {
|
|
|
95
93
|
e071: []
|
|
96
94
|
},
|
|
97
95
|
installData: {
|
|
98
|
-
transport: undefined,
|
|
99
96
|
namespace: undefined,
|
|
100
|
-
entries: []
|
|
97
|
+
entries: [],
|
|
98
|
+
transports: []
|
|
101
99
|
},
|
|
102
100
|
originalData: {
|
|
103
101
|
hierarchy: undefined
|
|
@@ -105,7 +103,6 @@ exports.init = {
|
|
|
105
103
|
generatedData: {
|
|
106
104
|
devclass: [],
|
|
107
105
|
namespace: undefined,
|
|
108
|
-
migrations: [],
|
|
109
106
|
tmsTxtRefresh: []
|
|
110
107
|
}
|
|
111
108
|
};
|
|
@@ -17,13 +17,17 @@ exports.readDevc = {
|
|
|
17
17
|
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
18
|
trm_commons_1.Logger.log('Read DEVC step', true);
|
|
19
19
|
trm_commons_1.Logger.loading(`Checking package transports...`);
|
|
20
|
-
|
|
20
|
+
if (!context.runtime.remotePackageData.contents) {
|
|
21
|
+
context.runtime.packageTransportsData.tdevc = (0, commons_1.normalize)(yield context.runtime.r3trans.getTableEntries(context.runtime.packageTransports.devc.binaries.binaries.data, 'TDEVC'));
|
|
22
|
+
}
|
|
21
23
|
if (context.runtime.packageTransportsData.tdevc.length === 0) {
|
|
22
24
|
throw new Error(`Package has no devclass.`);
|
|
23
25
|
}
|
|
24
26
|
trm_commons_1.Logger.log(`DEVC TDEVC: ${JSON.stringify(context.runtime.packageTransportsData.tdevc)}`, true);
|
|
25
27
|
context.runtime.originalData.hierarchy = (0, commons_1.getPackageHierarchy)(context.runtime.packageTransportsData.tdevc);
|
|
26
|
-
|
|
28
|
+
if (!context.runtime.remotePackageData.contents) {
|
|
29
|
+
context.runtime.packageTransportsData.tdevct = (0, commons_1.normalize)(yield context.runtime.r3trans.getTableEntries(context.runtime.packageTransports.devc.binaries.binaries.data, 'TDEVCT'));
|
|
30
|
+
}
|
|
27
31
|
trm_commons_1.Logger.log(`DEVC TDEVCT: ${JSON.stringify(context.runtime.packageTransportsData.tdevct)}`, true);
|
|
28
32
|
})
|
|
29
33
|
};
|
|
@@ -18,7 +18,9 @@ exports.readTadir = {
|
|
|
18
18
|
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
19
|
trm_commons_1.Logger.log('Read tadir step', true);
|
|
20
20
|
trm_commons_1.Logger.loading(`Checking package transports...`);
|
|
21
|
-
|
|
21
|
+
if (!context.runtime.remotePackageData.contents) {
|
|
22
|
+
context.runtime.packageTransportsData.tadir = (0, commons_1.normalize)(yield context.runtime.r3trans.getTableEntries(context.runtime.packageTransports.tadir.binaries.binaries.data, 'TADIR'));
|
|
23
|
+
}
|
|
22
24
|
trm_commons_1.Logger.log(`TADIR TADIR: ${JSON.stringify(context.runtime.packageTransportsData.tadir)}`, true);
|
|
23
25
|
var existingObjects = [];
|
|
24
26
|
if (!systemConnector_1.SystemConnector.getSupportedBulk().getTransportObjects) {
|
|
@@ -83,7 +85,7 @@ exports.readTadir = {
|
|
|
83
85
|
trm_commons_1.Logger.warning(`${existingObjects.length} object(s) already exist on target system ${systemConnector_1.SystemConnector.getDest()}:\n${sObjs}`);
|
|
84
86
|
}
|
|
85
87
|
else {
|
|
86
|
-
throw new Error(`${existingObjects.length} object(s) already exist on target system ${systemConnector_1.SystemConnector.getDest()}, install
|
|
88
|
+
throw new Error(`${existingObjects.length} object(s) already exist on target system ${systemConnector_1.SystemConnector.getDest()}, install without object check (expert mode)`);
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
}
|
|
@@ -11,20 +11,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.refreshTmsTxt = void 0;
|
|
13
13
|
const trm_commons_1 = require("trm-commons");
|
|
14
|
-
const commons_1 = require("../../commons");
|
|
15
14
|
exports.refreshTmsTxt = {
|
|
16
15
|
name: 'refresh-tms-txt',
|
|
17
16
|
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
17
|
if (context.runtime.generatedData.tmsTxtRefresh.length > 0) {
|
|
19
|
-
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
trm_commons_1.Logger.log(`Skipping TMS refresh (not supported by trm-server)`, true);
|
|
24
|
-
}
|
|
18
|
+
return true;
|
|
25
19
|
}
|
|
26
20
|
else {
|
|
27
|
-
trm_commons_1.Logger.log(`Skipping TMS refresh
|
|
21
|
+
trm_commons_1.Logger.log(`Skipping TMS refresh`, true);
|
|
28
22
|
return false;
|
|
29
23
|
}
|
|
30
24
|
}),
|