trm-core 8.5.3 → 9.0.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.
Files changed (91) hide show
  1. package/README.md +11 -5
  2. package/changelog.txt +11 -0
  3. package/dist/actions/commons/prompts/index.d.ts +1 -0
  4. package/dist/actions/commons/prompts/index.js +17 -0
  5. package/dist/actions/commons/prompts/setTransportTarget.d.ts +2 -0
  6. package/dist/actions/commons/prompts/setTransportTarget.js +63 -0
  7. package/dist/actions/install/{migrate.d.ts → checkObjectsLock.d.ts} +1 -1
  8. package/dist/actions/install/checkObjectsLock.js +52 -0
  9. package/dist/actions/install/checkTransports.js +43 -39
  10. package/dist/actions/install/executePostActivities.js +13 -11
  11. package/dist/actions/install/generateDevclass.js +1 -7
  12. package/dist/actions/install/generateInstallTransport.js +85 -99
  13. package/dist/actions/install/importCustTransport.js +34 -33
  14. package/dist/actions/install/importDevcTransport.js +1 -1
  15. package/dist/actions/install/importLangTransport.js +1 -1
  16. package/dist/actions/install/importTadirTransport.js +2 -18
  17. package/dist/actions/install/index.d.ts +4 -5
  18. package/dist/actions/install/index.js +7 -9
  19. package/dist/actions/install/init.js +3 -7
  20. package/dist/actions/install/readTadir.js +1 -1
  21. package/dist/actions/install/refreshTmsTxt.js +2 -8
  22. package/dist/actions/install/{setPackageIntegrity.d.ts → updatePackageData.d.ts} +1 -1
  23. package/dist/actions/install/updatePackageData.js +35 -0
  24. package/dist/actions/publish/checkAllObjectsReleased.d.ts +3 -0
  25. package/dist/actions/publish/checkAllObjectsReleased.js +46 -0
  26. package/dist/actions/publish/generateCustTransport.js +24 -20
  27. package/dist/actions/publish/generateDevcTransport.js +0 -2
  28. package/dist/actions/publish/generateTadirTransport.js +0 -16
  29. package/dist/actions/publish/getSourceCode.js +1 -1
  30. package/dist/actions/publish/index.d.ts +7 -3
  31. package/dist/actions/publish/index.js +5 -3
  32. package/dist/actions/publish/init.js +9 -22
  33. package/dist/actions/publish/releaseTransports.js +3 -4
  34. package/dist/actions/publish/setCustomizingTransports.js +100 -44
  35. package/dist/actions/publish/setManifestValues.js +1 -1
  36. package/dist/actions/publish/setReadme.js +1 -1
  37. package/dist/actions/publish/setTransportTarget.js +2 -36
  38. package/dist/actions/publish/{finalizePublish.d.ts → updatePackageData.d.ts} +1 -1
  39. package/dist/actions/publish/{finalizePublish.js → updatePackageData.js} +10 -10
  40. package/dist/actions/stopWarning.js +5 -1
  41. package/dist/client/RESTClient.d.ts +5 -6
  42. package/dist/client/RESTClient.js +36 -51
  43. package/dist/client/RFCClient.d.ts +5 -6
  44. package/dist/client/RFCClient.js +168 -205
  45. package/dist/client/components/DDLANGUAGE.d.ts +1 -0
  46. package/dist/client/components/TARSYSTEM.d.ts +1 -0
  47. package/dist/client/components/index.d.ts +2 -0
  48. package/dist/client/components/index.js +2 -0
  49. package/dist/client/struct/E07T.d.ts +6 -0
  50. package/dist/client/struct/E07T.js +2 -0
  51. package/dist/client/struct/TADIR_KEY.d.ts +6 -0
  52. package/dist/client/struct/TADIR_KEY.js +2 -0
  53. package/dist/client/struct/ZTRM_DIRTY.d.ts +7 -0
  54. package/dist/client/struct/ZTRM_DIRTY.js +2 -0
  55. package/dist/client/struct/ZTRM_OBJ_LOCK.d.ts +7 -0
  56. package/dist/client/struct/ZTRM_OBJ_LOCK.js +2 -0
  57. package/dist/client/struct/ZTRM_PACKAGE.d.ts +14 -0
  58. package/dist/client/struct/ZTRM_PACKAGE.js +2 -0
  59. package/dist/client/struct/index.d.ts +5 -2
  60. package/dist/client/struct/index.js +5 -2
  61. package/dist/commons/index.d.ts +0 -1
  62. package/dist/commons/index.js +0 -1
  63. package/dist/dependencies/PackageDependencies.js +16 -5
  64. package/dist/manifest/Manifest.js +0 -31
  65. package/dist/systemConnector/ISystemConnector.d.ts +4 -5
  66. package/dist/systemConnector/ISystemConnectorBase.d.ts +0 -3
  67. package/dist/systemConnector/RESTSystemConnector.d.ts +5 -6
  68. package/dist/systemConnector/RESTSystemConnector.js +20 -25
  69. package/dist/systemConnector/RFCSystemConnector.d.ts +5 -6
  70. package/dist/systemConnector/RFCSystemConnector.js +20 -25
  71. package/dist/systemConnector/SystemConnector.d.ts +5 -9
  72. package/dist/systemConnector/SystemConnector.js +21 -42
  73. package/dist/systemConnector/SystemConnectorBase.d.ts +7 -9
  74. package/dist/systemConnector/SystemConnectorBase.js +41 -220
  75. package/dist/transport/Transport.d.ts +9 -4
  76. package/dist/transport/Transport.js +49 -52
  77. package/dist/trmPackage/TrmPackage.d.ts +11 -5
  78. package/dist/trmPackage/TrmPackage.js +11 -22
  79. package/dist/validators/validateTransportTarget.d.ts +2 -2
  80. package/dist/validators/validateTransportTarget.js +1 -1
  81. package/package.json +4 -4
  82. package/dist/actions/install/migrate.js +0 -35
  83. package/dist/actions/install/setPackageIntegrity.js +0 -28
  84. package/dist/actions/install/setTrmServerUpgradeService.d.ts +0 -3
  85. package/dist/actions/install/setTrmServerUpgradeService.js +0 -32
  86. package/dist/client/struct/ZTRM_INTEGRITY.d.ts +0 -6
  87. package/dist/client/struct/ZTY_TRM_PACKAGE.d.ts +0 -14
  88. package/dist/commons/TrmServerUpgradeService.d.ts +0 -16
  89. package/dist/commons/TrmServerUpgradeService.js +0 -89
  90. /package/dist/client/{struct/ZTRM_INTEGRITY.js → components/DDLANGUAGE.js} +0 -0
  91. /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(`Checking install transport...`);
43
- if (context.runtime.update) {
44
- context.runtime.installData.transport = yield (new trmPackage_1.TrmPackage(context.rawInput.packageData.name, context.rawInput.packageData.registry)).getWbTransport();
45
- }
46
- else {
47
- if (!context.rawInput.contextData.noInquirer) {
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: context.rawInput.installData.installTransport.targetSystem || ''
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
- tadirObjects = tadirObjects.filter(o => !(o.pgmid === '*' && o.object === transport_1.COMMENT_OBJ));
122
- var trObjs = yield context.runtime.installData.transport.getE071();
123
- const tasks = yield context.runtime.installData.transport.getTasks();
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
- trObjs.forEach(o => {
128
- tadirObjects = tadirObjects.filter(k => !(k.pgmid === o.pgmid && k.object === o.object && k.objName === o.objName));
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
- trm_commons_1.Logger.log(`Adding object ${tadir.pgmid} ${tadir.object} ${tadir.objName} with lock`, true);
134
- yield context.runtime.installData.transport.addObjects([tadir], true);
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.log(`Failed ${e.toString()}, adding without lock`, true);
138
- yield context.runtime.installData.transport.addObjects([tadir], false);
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} to transport ${context.runtime.installData.transport.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 (context.runtime.packageTransports.cust.instance) {
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
- trm_commons_1.Logger.log(`Including customizing transport ${context.runtime.packageTransports.cust.instance.trkorr}`, true);
159
- yield context.runtime.installData.transport.addObjectsFromTransport(context.runtime.packageTransports.cust.instance.trkorr);
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.warning(`Failed including customizing transport ${context.runtime.packageTransports.cust.instance.trkorr} to transport ${context.runtime.installData.transport.trkorr}`);
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
- if (context.runtime.installData.namespace[0] === '/') {
167
- if (!trObjs.find(o => o.pgmid === 'R3TR' && o.object === 'NSPC' && o.objName === context.runtime.installData.namespace)) {
168
- trm_commons_1.Logger.log(`Adding namespace ${context.runtime.installData.namespace} without lock`, true);
169
- try {
170
- yield context.runtime.installData.transport.addObjects([{
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
- trm_commons_1.Logger.log(`Namespace ${context.runtime.installData.namespace} already in install transport`, true);
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/update.`);
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.binaries) {
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
- trm_commons_1.Logger.loading(`Importing ${context.rawInput.packageData.name} customizing...`);
37
- trm_commons_1.Logger.loading(`Uploading ${context.runtime.packageTransports.cust.binaries.trkorr}`, true);
38
- if (!context.runtime.stopWarningShown) {
39
- context.runtime.stopWarningShown = true;
40
- (0, stopWarning_1.stopWarning)('install');
41
- }
42
- context.runtime.packageTransports.cust.instance = yield transport_1.Transport.upload({
43
- binary: context.runtime.packageTransports.cust.binaries.binaries,
44
- trTarget: systemConnector_1.SystemConnector.getDest(),
45
- r3transOption: context.rawInput.contextData.r3transOptions
46
- });
47
- yield context.runtime.packageTransports.cust.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
48
- const originalLPrefix = trm_commons_1.Logger.getPrefix();
49
- const originalIPrefix = trm_commons_1.Inquirer.getPrefix();
50
- const prefix = `(${transport_1.Transport.getTransportIcon()} Customizing) `;
51
- if (originalLPrefix) {
52
- trm_commons_1.Logger.setPrefix(`${originalLPrefix}-> ${prefix}`);
53
- }
54
- else {
55
- trm_commons_1.Logger.setPrefix(prefix);
56
- }
57
- if (originalIPrefix) {
58
- trm_commons_1.Inquirer.setPrefix(`${originalIPrefix}-> ${prefix}`);
59
- }
60
- else {
61
- trm_commons_1.Inquirer.setPrefix(prefix);
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()} SAP Packages) `;
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()} Translations) `;
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
- if (commons_1.TrmServerUpgrade.getInstance().deleteFromTms()) {
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()} Workbench) `;
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";
@@ -71,7 +71,7 @@ type WorkflowRuntime = {
71
71
  devc: TransportRuntime;
72
72
  tadir: TransportRuntime;
73
73
  lang: TransportRuntime;
74
- cust: TransportRuntime;
74
+ cust: TransportRuntime[];
75
75
  };
76
76
  packageTransportsData: {
77
77
  tdevc: TDEVC[];
@@ -87,20 +87,19 @@ type WorkflowRuntime = {
87
87
  installData: {
88
88
  namespace: string;
89
89
  entries: E071[];
90
+ transports: TrmPackageInstallTransport[];
90
91
  upgradingPackage?: TrmPackage;
91
- transport?: Transport;
92
92
  };
93
93
  generatedData: {
94
94
  devclass: DEVCLASS[];
95
95
  namespace: NAMESPACE;
96
- migrations: Transport[];
97
96
  tmsTxtRefresh: Transport[];
98
97
  };
99
98
  };
100
99
  export type InstallActionOutput = {
101
100
  manifest: TrmManifest;
102
101
  registry: AbstractRegistry;
103
- installTransport?: Transport;
102
+ installTransports?: TrmPackageInstallTransport[];
104
103
  };
105
104
  export interface InstallWorkflowContext extends IActionContext {
106
105
  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 setPackageIntegrity_1 = require("./setPackageIntegrity");
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
- migrate_1.migrate,
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 installTransport = result.runtime.installData.transport;
83
+ const installTransports = result.runtime.installData.transports;
86
84
  return {
87
85
  manifest,
88
86
  registry,
89
- installTransport
87
+ installTransports
90
88
  };
91
89
  });
92
90
  }
@@ -79,10 +79,7 @@ exports.init = {
79
79
  binaries: undefined,
80
80
  instance: undefined
81
81
  },
82
- cust: {
83
- binaries: undefined,
84
- instance: undefined
85
- },
82
+ cust: [],
86
83
  lang: {
87
84
  binaries: undefined,
88
85
  instance: undefined
@@ -95,9 +92,9 @@ exports.init = {
95
92
  e071: []
96
93
  },
97
94
  installData: {
98
- transport: undefined,
99
95
  namespace: undefined,
100
- entries: []
96
+ entries: [],
97
+ transports: []
101
98
  },
102
99
  originalData: {
103
100
  hierarchy: undefined
@@ -105,7 +102,6 @@ exports.init = {
105
102
  generatedData: {
106
103
  devclass: [],
107
104
  namespace: undefined,
108
- migrations: [],
109
105
  tmsTxtRefresh: []
110
106
  }
111
107
  };
@@ -83,7 +83,7 @@ exports.readTadir = {
83
83
  trm_commons_1.Logger.warning(`${existingObjects.length} object(s) already exist on target system ${systemConnector_1.SystemConnector.getDest()}:\n${sObjs}`);
84
84
  }
85
85
  else {
86
- throw new Error(`${existingObjects.length} object(s) already exist on target system ${systemConnector_1.SystemConnector.getDest()}, install in update mode`);
86
+ throw new Error(`${existingObjects.length} object(s) already exist on target system ${systemConnector_1.SystemConnector.getDest()}, install without object check (expert mode)`);
87
87
  }
88
88
  }
89
89
  }
@@ -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
- if (commons_1.TrmServerUpgrade.getInstance().refreshTmsTxt()) {
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 (no transports migrated)`, true);
21
+ trm_commons_1.Logger.log(`Skipping TMS refresh`, true);
28
22
  return false;
29
23
  }
30
24
  }),
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { InstallWorkflowContext } from ".";
3
- export declare const setPackageIntegrity: Step<InstallWorkflowContext>;
3
+ export declare const updatePackageData: Step<InstallWorkflowContext>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.updatePackageData = void 0;
13
+ const trm_commons_1 = require("trm-commons");
14
+ const systemConnector_1 = require("../../systemConnector");
15
+ const registry_1 = require("../../registry");
16
+ const manifest_1 = require("../../manifest");
17
+ const transport_1 = require("../../transport");
18
+ exports.updatePackageData = {
19
+ name: 'update-package-data',
20
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
21
+ trm_commons_1.Logger.log('Update package data step', true);
22
+ trm_commons_1.Logger.loading(`Finalizing install...`);
23
+ const originalTransport = context.runtime.packageTransports.tadir.binaries.trkorr;
24
+ const installTransport = context.runtime.installData.transports.find(o => o.type === transport_1.TrmTransportIdentifier.TADIR);
25
+ const devclass = context.rawInput.installData.installDevclass.replacements.find(o => o.originalDevclass = context.runtime.originalData.hierarchy.devclass).installDevclass;
26
+ yield systemConnector_1.SystemConnector.updateTrmPackageData({
27
+ package_name: context.rawInput.packageData.name,
28
+ package_registry: context.runtime.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? registry_1.PUBLIC_RESERVED_KEYWORD : context.runtime.registry.endpoint,
29
+ manifest: Buffer.from(new manifest_1.Manifest(context.runtime.remotePackageData.manifest).getAbapXml(), 'utf8'),
30
+ trkorr: installTransport && installTransport.transport ? installTransport.transport.trkorr : originalTransport,
31
+ integrity: context.runtime.remotePackageData.data.checksum,
32
+ devclass
33
+ });
34
+ })
35
+ };
@@ -0,0 +1,3 @@
1
+ import { Step } from "@simonegaffurini/sammarksworkflow";
2
+ import { PublishWorkflowContext } from ".";
3
+ export declare const checkAllObjectsReleased: Step<PublishWorkflowContext>;