trm-core 3.1.2 → 3.1.4

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 (48) hide show
  1. package/dist/actions/checkPackageDependencies/analizeDependencies.js +2 -2
  2. package/dist/actions/checkPackageDependencies/analizeDependencies.js.map +1 -1
  3. package/dist/actions/exinstall.d.ts +21 -0
  4. package/dist/actions/exinstall.js +474 -0
  5. package/dist/actions/exinstall.js.map +1 -0
  6. package/dist/actions/findDependencies/deepCheckDependencies.d.ts +3 -0
  7. package/dist/actions/findDependencies/deepCheckDependencies.js +90 -0
  8. package/dist/actions/findDependencies/deepCheckDependencies.js.map +1 -0
  9. package/dist/actions/findDependencies/print.js +1 -1
  10. package/dist/actions/findDependencies/print.js.map +1 -1
  11. package/dist/actions/findDependencies/printDependencies.d.ts +3 -0
  12. package/dist/actions/findDependencies/printDependencies.js +131 -0
  13. package/dist/actions/findDependencies/printDependencies.js.map +1 -0
  14. package/dist/actions/findDependencies/setCircularDependencies.d.ts +3 -0
  15. package/dist/actions/findDependencies/setCircularDependencies.js +37 -0
  16. package/dist/actions/findDependencies/setCircularDependencies.js.map +1 -0
  17. package/dist/actions/findDependencies/setDependencies.d.ts +3 -0
  18. package/dist/actions/findDependencies/setDependencies.js +105 -0
  19. package/dist/actions/findDependencies/setDependencies.js.map +1 -0
  20. package/dist/actions/findDependencies/setTadirDependencies.d.ts +3 -0
  21. package/dist/actions/findDependencies/setTadirDependencies.js +42 -0
  22. package/dist/actions/findDependencies/setTadirDependencies.js.map +1 -0
  23. package/dist/actions/install/installDependencies.js +1 -1
  24. package/dist/actions/install/installDependencies.js.map +1 -1
  25. package/dist/actions/install/setDevclass.js +1 -1
  26. package/dist/actions/install/setDevclass.js.map +1 -1
  27. package/dist/actions/install/setPackageIntegrity.js +1 -1
  28. package/dist/actions/install/setPackageIntegrity.js.map +1 -1
  29. package/dist/actions/installDependency.d.ts +9 -0
  30. package/dist/actions/installDependency.js +18 -0
  31. package/dist/actions/installDependency.js.map +1 -0
  32. package/dist/actions/publish/finalizePublish.js +1 -1
  33. package/dist/actions/publish/finalizePublish.js.map +1 -1
  34. package/dist/actions/publish/init.js +5 -0
  35. package/dist/actions/publish/init.js.map +1 -1
  36. package/dist/actions/publish/setPrivate.js +3 -2
  37. package/dist/actions/publish/setPrivate.js.map +1 -1
  38. package/dist/actions/publish/setTrmDependencies.js +1 -1
  39. package/dist/actions/publish/setTrmDependencies.js.map +1 -1
  40. package/dist/manifest/Manifest.js +2 -2
  41. package/dist/manifest/Manifest.js.map +1 -1
  42. package/dist/registry/Registry.d.ts +1 -0
  43. package/dist/registry/Registry.js +16 -6
  44. package/dist/registry/Registry.js.map +1 -1
  45. package/dist/systemConnector/ServerSystemConnector.js +5 -5
  46. package/dist/systemConnector/ServerSystemConnector.js.map +1 -1
  47. package/dist/transport/Transport.js.map +1 -1
  48. package/package.json +1 -1
@@ -40,8 +40,8 @@ exports.analizeDependencies = {
40
40
  };
41
41
  var tableData;
42
42
  for (const dependency of dependencies) {
43
- tableData = [dependency.name, dependency.registry || 'public', dependency.version];
44
- const dependencyTrmPackage = new trmPackage_1.TrmPackage(dependency.name, new registry_1.Registry(dependency.registry || 'public'));
43
+ tableData = [dependency.name, dependency.registry || registry_1.PUBLIC_RESERVED_KEYWORD, dependency.version];
44
+ const dependencyTrmPackage = new trmPackage_1.TrmPackage(dependency.name, new registry_1.Registry(dependency.registry || registry_1.PUBLIC_RESERVED_KEYWORD));
45
45
  const systemInstalledPackage = systemPackages.find(o => trmPackage_1.TrmPackage.compare(o, dependencyTrmPackage));
46
46
  if (systemInstalledPackage && systemInstalledPackage.manifest) {
47
47
  const installedVersion = systemInstalledPackage.manifest.get().version;
@@ -1 +1 @@
1
- {"version":3,"file":"analizeDependencies.js","sourceRoot":"","sources":["../../../src/actions/checkPackageDependencies/analizeDependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analizeDependencies.js","sourceRoot":"","sources":["../../../src/actions/checkPackageDependencies/analizeDependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Registry } from "../registry";
2
+ export declare function install(data: {
3
+ packageName: string;
4
+ version?: string;
5
+ forceInstall?: boolean;
6
+ ignoreSapEntries?: boolean;
7
+ skipDependencies?: boolean;
8
+ skipLang?: boolean;
9
+ importTimeout?: number;
10
+ keepOriginalPackages?: boolean;
11
+ packageReplacements?: {
12
+ originalDevclass: string;
13
+ installDevclass: string;
14
+ }[];
15
+ skipWbTransport?: boolean;
16
+ transportLayer?: string;
17
+ targetSystem?: string;
18
+ integrity?: string;
19
+ safe?: boolean;
20
+ ci?: boolean;
21
+ }, registry: Registry): Promise<void>;
@@ -0,0 +1,474 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.install = void 0;
36
+ const logger_1 = require("../logger");
37
+ const registry_1 = require("../registry");
38
+ const semver = __importStar(require("semver"));
39
+ const trmPackage_1 = require("../trmPackage");
40
+ const manifest_1 = require("../manifest");
41
+ const installDependency_1 = require("./installDependency");
42
+ const transport_1 = require("../transport");
43
+ const commons_1 = require("../commons");
44
+ const node_r3trans_1 = require("node-r3trans");
45
+ const crypto_1 = require("crypto");
46
+ const systemConnector_1 = require("../systemConnector");
47
+ const Inquirer_1 = require("../inquirer/Inquirer");
48
+ function _validateDevclass(input, packagesNamespace) {
49
+ const sInput = input.trim().toUpperCase();
50
+ if (sInput.length > 30) {
51
+ return `Package name must not exceede 30 characters limit.`;
52
+ }
53
+ if (packagesNamespace.startsWith('/')) {
54
+ if (!sInput.startsWith(packagesNamespace)) {
55
+ return `Package name must use namespace ${packagesNamespace}.`;
56
+ }
57
+ else {
58
+ return true;
59
+ }
60
+ }
61
+ else {
62
+ return true;
63
+ }
64
+ }
65
+ function install(data, registry) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ var _a, _b, _c;
68
+ const ignoreSapEntries = data.ignoreSapEntries ? true : false;
69
+ const skipDependencies = data.skipDependencies ? true : false;
70
+ const skipLang = data.skipLang ? true : false;
71
+ const ci = data.ci ? true : false;
72
+ const importTimeout = data.importTimeout || 180;
73
+ const forceInstall = data.forceInstall ? true : false;
74
+ const skipWbTransport = data.skipWbTransport ? true : false;
75
+ const keepOriginalPackages = data.keepOriginalPackages ? true : false;
76
+ const transportLayer = data.transportLayer;
77
+ const targetSystem = data.targetSystem;
78
+ const packageName = data.packageName.trim();
79
+ const integrity = data.integrity;
80
+ const safe = data.safe ? true : false;
81
+ var version;
82
+ if (!data.version || data.version.trim().toLowerCase() === 'latest') {
83
+ version = 'latest';
84
+ }
85
+ else {
86
+ version = semver.clean(data.version);
87
+ }
88
+ if (!version) {
89
+ throw new Error(`Version not specified.`);
90
+ }
91
+ (0, commons_1.parsePackageName)({
92
+ fullName: packageName
93
+ });
94
+ logger_1.Logger.loading(`Reading system data...`);
95
+ const installedPackages = yield systemConnector_1.SystemConnector.getInstalledPackages(true);
96
+ const oTrmPackage = new trmPackage_1.TrmPackage(packageName, registry, null);
97
+ const oManifest = yield oTrmPackage.fetchRemoteManifest(version);
98
+ var alreadyInstalled = installedPackages.find(o => manifest_1.Manifest.compare(o.manifest, oManifest, true)) ? true : false;
99
+ if (integrity) {
100
+ const installedIntegrity = yield systemConnector_1.SystemConnector.getPackageIntegrity(oTrmPackage);
101
+ alreadyInstalled = alreadyInstalled && installedIntegrity === integrity;
102
+ }
103
+ if (alreadyInstalled && !forceInstall) {
104
+ logger_1.Logger.info(`Package "${packageName}" already installed, skipping installation. Run with --force.`);
105
+ return;
106
+ }
107
+ const manifest = oManifest.get();
108
+ if (!ignoreSapEntries) {
109
+ logger_1.Logger.loading(`Checking system compatibility...`);
110
+ const sapEntries = manifest.sapEntries || {};
111
+ const oCheckSapEntries = {};
112
+ const missingSapEntries = [];
113
+ if (missingSapEntries.length > 0) {
114
+ logger_1.Logger.error(`Missing SAP table entries.`);
115
+ logger_1.Logger.error(`Please check the list below and, if necessary, check notes.`);
116
+ missingSapEntries.forEach(o => {
117
+ var tableHead = [];
118
+ var tableData = [];
119
+ o.entries.forEach(entry => {
120
+ var tableRow = [];
121
+ Object.keys(entry).forEach(field => {
122
+ if (!tableHead.includes(field)) {
123
+ tableHead.push(field);
124
+ }
125
+ const columnIndex = tableHead.findIndex(f => f === field);
126
+ tableRow[columnIndex] = entry[field];
127
+ });
128
+ for (var i = 0; i < tableRow.length; i++) {
129
+ if (!tableRow[i]) {
130
+ tableRow[i] = '';
131
+ }
132
+ }
133
+ tableData.push(tableRow);
134
+ });
135
+ logger_1.Logger.error(` `);
136
+ logger_1.Logger.error(`Table ${o.table}:`);
137
+ logger_1.Logger.table(tableHead, tableData);
138
+ });
139
+ throw new Error(`There are a total of ${missingSapEntries.length} missing SAP table entries.`);
140
+ }
141
+ }
142
+ logger_1.Logger.loading(`Checking dependencies...`);
143
+ const dependencies = manifest.dependencies || [];
144
+ const dependencyCheck = {};
145
+ if (dependencyCheck.requiredDependenciesTab) {
146
+ logger_1.Logger.info(`Package "${packageName}" has ${dependencyCheck.requiredDependenciesTab.data.length} dependencies.`);
147
+ logger_1.Logger.table(dependencyCheck.requiredDependenciesTab.head, dependencyCheck.requiredDependenciesTab.data);
148
+ }
149
+ if (!skipDependencies) {
150
+ for (const dependency of dependencyCheck.missingDependencies) {
151
+ var oDependencyRegistry;
152
+ if (registry.getRegistryType() === registry_1.RegistryType.PUBLIC && !dependency.registry) {
153
+ oDependencyRegistry = registry;
154
+ }
155
+ else {
156
+ oDependencyRegistry = new registry_1.Registry(dependency.registry || 'public');
157
+ }
158
+ var continueInstall = true;
159
+ if (!ci) {
160
+ const inq1 = yield Inquirer_1.Inquirer.prompt({
161
+ type: 'confirm',
162
+ name: 'continueInstall',
163
+ default: true,
164
+ message: `To continue, package ${dependency.name} version ${dependency.version} has to be installed. Continue?`
165
+ });
166
+ continueInstall = inq1.continueInstall;
167
+ }
168
+ if (continueInstall) {
169
+ logger_1.Logger.info(`Installing dependency ${dependency.name} version ${dependency.version}`);
170
+ yield (0, installDependency_1.installDependency)({
171
+ packageName: dependency.name,
172
+ versionRange: dependency.version,
173
+ integrity: safe ? dependency.integrity : null,
174
+ originalInstallOptions: data,
175
+ installedPackages
176
+ }, oDependencyRegistry);
177
+ }
178
+ }
179
+ }
180
+ logger_1.Logger.info(`Ready to install "${packageName}".`);
181
+ if (alreadyInstalled) {
182
+ const alreadyInstalledPackage = installedPackages.find(o => manifest_1.Manifest.compare(o.manifest, oManifest, false));
183
+ const alreadyInstalledManifest = alreadyInstalledPackage.manifest.get();
184
+ if (semver.gt(manifest.version, alreadyInstalledManifest.version)) {
185
+ logger_1.Logger.info(`Upgrading "${packageName}", ${alreadyInstalledManifest.version} -> ${manifest.version}`);
186
+ }
187
+ else if (semver.lt(manifest.version, alreadyInstalledManifest.version)) {
188
+ logger_1.Logger.warning(`Downgrading "${packageName}", ${alreadyInstalledManifest.version} -> ${manifest.version}`);
189
+ }
190
+ }
191
+ logger_1.Logger.loading(`Getting transports...`);
192
+ const oArtifact = yield oTrmPackage.fetchRemoteArtifact(manifest.version);
193
+ const fetchedIntegrity = (0, crypto_1.createHash)("sha512").update(oArtifact.binary).digest("hex");
194
+ if (integrity) {
195
+ if (integrity !== fetchedIntegrity) {
196
+ logger_1.Logger.warning(`ATTENTION!! Integrity check failed on package ${manifest.name}, version ${manifest.version}.`);
197
+ logger_1.Logger.warning(` Local: ${integrity}`);
198
+ logger_1.Logger.warning(` Remote: ${fetchedIntegrity}`);
199
+ if (safe) {
200
+ logger_1.Logger.warning(` Install will continue.`);
201
+ }
202
+ else {
203
+ throw new Error(`Package installation aborted due to integrity check failure and running in safe mode.`);
204
+ }
205
+ }
206
+ }
207
+ const aTransports = yield oArtifact.getTransportBinaries();
208
+ const r3trans = new node_r3trans_1.R3trans();
209
+ const r3transVersion = yield r3trans.getVersion();
210
+ logger_1.Logger.info(r3transVersion);
211
+ logger_1.Logger.loading(`Reading transports...`);
212
+ for (const transport of aTransports) {
213
+ try {
214
+ yield r3trans.isTransportValid(transport.binaries.data);
215
+ }
216
+ catch (e) {
217
+ throw new Error(`Package contains invalid transport.`);
218
+ }
219
+ }
220
+ const aDevcTransports = aTransports.filter(o => o.type === transport_1.TrmTransportIdentifier.DEVC);
221
+ const aTadirTransports = aTransports.filter(o => o.type === transport_1.TrmTransportIdentifier.TADIR);
222
+ const aLangTransports = aTransports.filter(o => o.type === transport_1.TrmTransportIdentifier.LANG);
223
+ var wbObjects = [];
224
+ var trCopy = [];
225
+ if (aDevcTransports.length > 1) {
226
+ throw new Error(`Unexpected declaration of devclass in package ${packageName}.`);
227
+ }
228
+ else {
229
+ var packageReplacements = [];
230
+ logger_1.Logger.loading(`Checking transport content...`);
231
+ var aTadir = [];
232
+ for (const tadirTr of aTadirTransports) {
233
+ aTadir = aTadir.concat((0, commons_1.normalize)(yield r3trans.getTableEntries(tadirTr.binaries.data, 'TADIR')));
234
+ }
235
+ wbObjects = wbObjects.concat(aTadir.map(o => {
236
+ return {
237
+ pgmid: o.pgmid,
238
+ object: o.object,
239
+ objName: o.objName
240
+ };
241
+ }));
242
+ const tdevc = (0, commons_1.normalize)(yield r3trans.getTableEntries(aDevcTransports[0].binaries.data, 'TDEVC'));
243
+ const tdevct = (0, commons_1.normalize)(yield r3trans.getTableEntries(aDevcTransports[0].binaries.data, 'TDEVCT'));
244
+ const systemObjectList = yield systemConnector_1.SystemConnector.getObjectsList();
245
+ aTadir.forEach(o => {
246
+ if (!tdevc.find(k => k.devclass === o.devclass)) {
247
+ throw new Error(`Package includes objects without devclass.`);
248
+ }
249
+ if (!systemObjectList.find(k => k.pgmid === o.pgmid && k.object === o.object)) {
250
+ throw new Error(`Transport contains unknown object type ${o.pgmid} ${o.object}.`);
251
+ }
252
+ });
253
+ const originalPackageHierarchy = (0, commons_1.getPackageHierarchy)(tdevc);
254
+ if (keepOriginalPackages) {
255
+ packageReplacements = tdevc.map(o => {
256
+ return {
257
+ originalDevclass: o.devclass,
258
+ installDevclass: o.devclass
259
+ };
260
+ });
261
+ }
262
+ else {
263
+ if (data.packageReplacements && data.packageReplacements.length > 0) {
264
+ packageReplacements = data.packageReplacements;
265
+ }
266
+ else {
267
+ packageReplacements = yield systemConnector_1.SystemConnector.getInstallPackages(packageName, registry);
268
+ }
269
+ }
270
+ var rootDevclass = (_a = packageReplacements.find(o => o.originalDevclass === originalPackageHierarchy.devclass)) === null || _a === void 0 ? void 0 : _a.installDevclass;
271
+ if (!rootDevclass) {
272
+ rootDevclass = originalPackageHierarchy.devclass;
273
+ }
274
+ logger_1.Logger.success(`Transport content ok.`);
275
+ const packagesNamespace = (0, commons_1.getPackageNamespace)(rootDevclass);
276
+ var inq1Prompts = [];
277
+ tdevc.forEach(t => {
278
+ const replacement = packageReplacements.find(o => o.originalDevclass === t.devclass);
279
+ if (!replacement || forceInstall) {
280
+ inq1Prompts.push({
281
+ type: "input",
282
+ name: t.devclass,
283
+ default: t.devclass,
284
+ message: `Input name for package ${t.devclass}`,
285
+ validate: (input) => {
286
+ return _validateDevclass(input, packagesNamespace);
287
+ }
288
+ });
289
+ }
290
+ else {
291
+ const devclassValid = _validateDevclass(replacement.installDevclass, packagesNamespace);
292
+ if (devclassValid !== true) {
293
+ throw new Error(devclassValid);
294
+ }
295
+ }
296
+ });
297
+ if (inq1Prompts.length > 0) {
298
+ const inq1 = yield Inquirer_1.Inquirer.prompt(inq1Prompts);
299
+ Object.keys(inq1).forEach(k => {
300
+ packageReplacements = packageReplacements.filter(o => o.originalDevclass !== k);
301
+ packageReplacements.push({
302
+ originalDevclass: k,
303
+ installDevclass: inq1[k].trim().toUpperCase()
304
+ });
305
+ });
306
+ }
307
+ logger_1.Logger.loading(`Updating install packages...`);
308
+ var installDevc = [];
309
+ packageReplacements.forEach(o => {
310
+ installDevc.push({
311
+ package_name: packageName,
312
+ package_registry: registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? 'public' : registry.endpoint,
313
+ original_devclass: o.originalDevclass,
314
+ install_devclass: o.installDevclass
315
+ });
316
+ });
317
+ yield systemConnector_1.SystemConnector.setInstallDevc(installDevc);
318
+ logger_1.Logger.loading(`Generating devclass...`);
319
+ var pdevclass = transportLayer;
320
+ const dlvunit = (0, commons_1.getPackageNamespace)(packageReplacements[0].installDevclass) === '$' ? 'LOCAL' : 'HOME';
321
+ for (const packageReplacement of packageReplacements) {
322
+ const devclassExists = yield systemConnector_1.SystemConnector.getDevclass(packageReplacement.installDevclass);
323
+ const oDevcTadir = {
324
+ pgmid: 'R3TR',
325
+ object: 'DEVC',
326
+ objName: packageReplacement.installDevclass,
327
+ devclass: packageReplacement.installDevclass
328
+ };
329
+ if (!devclassExists) {
330
+ if (!pdevclass) {
331
+ pdevclass = yield systemConnector_1.SystemConnector.getDefaultTransportLayer();
332
+ }
333
+ const ctext = ((_b = tdevct.find(o => o.devclass === packageReplacement.originalDevclass)) === null || _b === void 0 ? void 0 : _b.ctext) || `TRM ${packageName}`;
334
+ yield systemConnector_1.SystemConnector.createPackage({
335
+ devclass: packageReplacement.installDevclass,
336
+ as4user: systemConnector_1.SystemConnector.getLogonUser(),
337
+ ctext,
338
+ dlvunit,
339
+ pdevclass
340
+ });
341
+ }
342
+ if (dlvunit !== 'LOCAL') {
343
+ yield systemConnector_1.SystemConnector.tadirInterface(oDevcTadir);
344
+ aTadir.push(oDevcTadir);
345
+ }
346
+ }
347
+ const aDummyTdevc = [];
348
+ for (const packageReplacement of packageReplacements) {
349
+ const originalRoot = originalPackageHierarchy.devclass === packageReplacement.originalDevclass;
350
+ aDummyTdevc.push({
351
+ devclass: packageReplacement.installDevclass,
352
+ parentcl: originalRoot ? '' : tdevc.find(o => o.devclass === packageReplacement.originalDevclass).parentcl
353
+ });
354
+ }
355
+ const installPackageHierarchy = (0, commons_1.getPackageHierarchy)(aDummyTdevc);
356
+ for (const packageReplacement of packageReplacements) {
357
+ const installRoot = installPackageHierarchy.devclass === packageReplacement.installDevclass;
358
+ if (!installRoot) {
359
+ yield systemConnector_1.SystemConnector.clearPackageSuperpackage(packageReplacement.installDevclass);
360
+ }
361
+ }
362
+ for (const packageReplacement of packageReplacements) {
363
+ const installRoot = installPackageHierarchy.devclass === packageReplacement.installDevclass;
364
+ const originalParentCl = tdevc.find(o => o.devclass === packageReplacement.originalDevclass).parentcl;
365
+ if (originalParentCl) {
366
+ const installParentCl = (_c = packageReplacements.find(o => o.originalDevclass === originalParentCl)) === null || _c === void 0 ? void 0 : _c.installDevclass;
367
+ if (installParentCl) {
368
+ if (!installRoot) {
369
+ yield systemConnector_1.SystemConnector.setPackageSuperpackage(packageReplacement.installDevclass, installParentCl);
370
+ }
371
+ }
372
+ }
373
+ }
374
+ logger_1.Logger.success(`Devclass generated.`);
375
+ logger_1.Logger.loading(`Importing transports...`);
376
+ for (const tadirTr of aTadirTransports) {
377
+ const oTransport = yield transport_1.Transport.upload({
378
+ binary: tadirTr.binaries,
379
+ trTarget: systemConnector_1.SystemConnector.getDest()
380
+ });
381
+ yield oTransport.import(importTimeout);
382
+ }
383
+ logger_1.Logger.success(`Transports imported.`);
384
+ logger_1.Logger.loading(`Finishing TADIR import...`);
385
+ for (var tadir of aTadir) {
386
+ const replacementDevclass = packageReplacements.find(o => o.originalDevclass === tadir.devclass).installDevclass;
387
+ tadir.devclass = replacementDevclass;
388
+ tadir.srcsystem = 'TRM';
389
+ yield systemConnector_1.SystemConnector.tadirInterface(tadir);
390
+ }
391
+ logger_1.Logger.success(`TADIR import finished.`);
392
+ }
393
+ if (aLangTransports.length > 0) {
394
+ if (!skipLang) {
395
+ logger_1.Logger.loading(`Importing transports...`);
396
+ for (const langTransport of aLangTransports) {
397
+ trCopy.push(langTransport.trkorr);
398
+ const oTransport = yield transport_1.Transport.upload({
399
+ binary: langTransport.binaries,
400
+ trTarget: systemConnector_1.SystemConnector.getDest()
401
+ });
402
+ yield oTransport.import(importTimeout);
403
+ }
404
+ logger_1.Logger.success(`Transports imported.`);
405
+ logger_1.Logger.success(`LANG import finished.`);
406
+ }
407
+ else {
408
+ logger_1.Logger.info(`Skipping language transports.`);
409
+ }
410
+ }
411
+ logger_1.Logger.loading(`Finalizing install...`);
412
+ yield systemConnector_1.SystemConnector.setPackageIntegrity({
413
+ package_name: manifest.name,
414
+ package_registry: registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? 'public' : registry.endpoint,
415
+ integrity: fetchedIntegrity
416
+ });
417
+ var wbObjectsAdd = [];
418
+ for (const wbObject of wbObjects) {
419
+ if (wbObject.pgmid === 'R3TR') {
420
+ const objTadir = yield systemConnector_1.SystemConnector.getObject(wbObject.pgmid, wbObject.object, wbObject.objName);
421
+ const objPackageNs = (0, commons_1.getPackageNamespace)(objTadir.devclass);
422
+ if (objPackageNs !== '$') {
423
+ wbObjectsAdd.push(objTadir);
424
+ if (!wbObjectsAdd.find(o => o.pgmid === 'R3TR' && o.object === 'DEVC' && o.objName === objTadir.devclass)) {
425
+ wbObjectsAdd.push({
426
+ pgmid: 'R3TR',
427
+ object: 'DEVC',
428
+ objName: objTadir.devclass
429
+ });
430
+ }
431
+ }
432
+ }
433
+ else {
434
+ wbObjectsAdd.push(wbObject);
435
+ }
436
+ }
437
+ if ((wbObjectsAdd.length > 0 || trCopy.length > 0) && !skipWbTransport) {
438
+ var wbTransport = yield systemConnector_1.SystemConnector.getPackageWorkbenchTransport(oTrmPackage);
439
+ if (!wbTransport) {
440
+ wbTransport = yield transport_1.Transport.createWb({
441
+ text: `TRM generated transport`,
442
+ target: targetSystem
443
+ });
444
+ }
445
+ yield wbTransport.addComment(`name=${manifest.name}`);
446
+ yield wbTransport.addComment(`version=${manifest.version}`);
447
+ yield wbTransport.setDocumentation(oManifest.getAbapXml());
448
+ yield wbTransport.rename(`@X1@TRM: ${manifest.name} v${manifest.version}`);
449
+ for (const wbObjectAdd of wbObjectsAdd) {
450
+ try {
451
+ try {
452
+ yield wbTransport.addObjects([wbObjectAdd], true);
453
+ }
454
+ catch (e) {
455
+ yield wbTransport.addObjects([wbObjectAdd], false);
456
+ }
457
+ }
458
+ catch (e) {
459
+ }
460
+ }
461
+ for (const trFrom of trCopy) {
462
+ try {
463
+ yield wbTransport.addObjectsFromTransport(trFrom);
464
+ }
465
+ catch (e) {
466
+ }
467
+ }
468
+ logger_1.Logger.success(`Use ${wbTransport.trkorr} for transports.`);
469
+ }
470
+ logger_1.Logger.success(`Install of package "${packageName}" finished.`);
471
+ });
472
+ }
473
+ exports.install = install;
474
+ //# sourceMappingURL=exinstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exinstall.js","sourceRoot":"","sources":["../../src/actions/exinstall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Step } from "@sammarks/workflow";
2
+ import { FindDependenciesWorkflowContext } from ".";
3
+ export declare const deepCheckDependencies: Step<FindDependenciesWorkflowContext>;
@@ -0,0 +1,90 @@
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.deepCheckDependencies = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const trmPackage_1 = require("../../trmPackage");
15
+ const registry_1 = require("../../registry");
16
+ const _getDependenciesFromTrmManifestDependency = (trmManifestDependency, systemPackages, avoidDependency) => {
17
+ const dummyPackage = new trmPackage_1.TrmPackage(trmManifestDependency.name, new registry_1.Registry(trmManifestDependency.registry || 'public'));
18
+ const trmPackage = systemPackages.find(o => trmPackage_1.TrmPackage.compare(o, dummyPackage));
19
+ if (trmPackage) {
20
+ var dependencies = [];
21
+ if (!avoidDependency.find(o => trmPackage_1.TrmPackage.compare(o, trmPackage))) {
22
+ avoidDependency.push(trmPackage);
23
+ dependencies = _getDependenciesFromTrmPackage(trmPackage, systemPackages, avoidDependency);
24
+ }
25
+ else {
26
+ const manifest = trmPackage.manifest;
27
+ if (manifest) {
28
+ const manifestDependencies = manifest.get().dependencies || [];
29
+ manifestDependencies.forEach(o => {
30
+ const manifestDependencyDummy = new trmPackage_1.TrmPackage(o.name, new registry_1.Registry(o.registry || 'public'));
31
+ dependencies.push({
32
+ packageName: o.name,
33
+ trmPackage: systemPackages.find(o => trmPackage_1.TrmPackage.compare(o, manifestDependencyDummy)),
34
+ dependencies: [],
35
+ circular: true
36
+ });
37
+ });
38
+ }
39
+ }
40
+ return {
41
+ packageName: trmPackage.packageName,
42
+ trmPackage,
43
+ dependencies,
44
+ circular: false
45
+ };
46
+ }
47
+ };
48
+ const _getDependenciesFromTrmPackage = (trmPackage, systemPackages, avoidDependency) => {
49
+ var dependencyTreeBranches = [];
50
+ const manifest = trmPackage.manifest;
51
+ if (manifest) {
52
+ const dependencies = manifest.get().dependencies || [];
53
+ dependencies.forEach(d => {
54
+ dependencyTreeBranches = dependencyTreeBranches.concat(_getDependenciesFromTrmManifestDependency(d, systemPackages, avoidDependency));
55
+ });
56
+ }
57
+ return dependencyTreeBranches;
58
+ };
59
+ exports.deepCheckDependencies = {
60
+ name: 'deep-check-dependencies',
61
+ filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
62
+ if (context.parsedInput.deepCheck) {
63
+ const trmDependencies = context.runtime.trmPackageDependencies;
64
+ if (trmDependencies.length > 0) {
65
+ return true;
66
+ }
67
+ else {
68
+ logger_1.Logger.log(`Skipping deep check beacuse no TRM packages were found`, true);
69
+ return false;
70
+ }
71
+ }
72
+ else {
73
+ logger_1.Logger.log(`Skipping deep check (input)`, true);
74
+ return false;
75
+ }
76
+ }),
77
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
78
+ const systemPackages = context.parsedInput.systemPackages;
79
+ const trmDependencies = context.runtime.trmPackageDependencies;
80
+ var dependencyTreeBranches = [];
81
+ trmDependencies.forEach(d => {
82
+ dependencyTreeBranches = dependencyTreeBranches.concat(_getDependenciesFromTrmPackage(d, systemPackages, [d]));
83
+ });
84
+ context.output.deepCheckTree = {
85
+ devclass: context.parsedInput.devclass,
86
+ dependencies: dependencyTreeBranches
87
+ };
88
+ })
89
+ };
90
+ //# sourceMappingURL=deepCheckDependencies.js.map