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
@@ -0,0 +1,46 @@
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.checkAllObjectsReleased = void 0;
13
+ const trm_commons_1 = require("trm-commons");
14
+ const systemConnector_1 = require("../../systemConnector");
15
+ exports.checkAllObjectsReleased = {
16
+ name: 'check-all-objects-released',
17
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
+ trm_commons_1.Logger.log('Check all objects released step', true);
19
+ var aTadir = context.runtime.packageData.tadir.filter(o => !(o.pgmid === 'R3TR' && o.object === 'DEVC'));
20
+ context.runtime.abapGitData.sourceCode.ignoredObjects.forEach(o => {
21
+ const objectIndex = aTadir.findIndex(k => k.pgmid === o.pgmid && k.object === o.object && k.objName === o.objName);
22
+ if (objectIndex >= 0) {
23
+ aTadir.splice(objectIndex, 1);
24
+ }
25
+ });
26
+ if (aTadir.length === 0) {
27
+ throw new Error(`Package ${context.rawInput.packageData.devclass} has no content.`);
28
+ }
29
+ const locks = yield systemConnector_1.SystemConnector.getObjectsLocks(aTadir.map(o => {
30
+ return {
31
+ PGMID: o.pgmid,
32
+ OBJECT: o.object,
33
+ OBJ_NAME: o.objName
34
+ };
35
+ }));
36
+ if (locks.length > 0) {
37
+ locks.forEach(l => {
38
+ trm_commons_1.Logger.error(`${l.pgmid} ${l.object} ${l.objName} is currently locked in transport ${l.trkorr}`);
39
+ });
40
+ throw new Error(`To continue, all objects must be released`);
41
+ }
42
+ else {
43
+ trm_commons_1.Logger.log(`All objects released, continue`, true);
44
+ }
45
+ })
46
+ };
@@ -15,7 +15,7 @@ const transport_1 = require("../../transport");
15
15
  exports.generateCustTransport = {
16
16
  name: 'generate-cust-transport',
17
17
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- if (context.rawInput.publishData.customizingTransports.length > 0) {
18
+ if (context.runtime.systemData.originCustomizing.length > 0) {
19
19
  return true;
20
20
  }
21
21
  else {
@@ -26,33 +26,37 @@ exports.generateCustTransport = {
26
26
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
27
27
  trm_commons_1.Logger.log('Generate CUST transport step', true);
28
28
  trm_commons_1.Logger.loading(`Generating transports...`);
29
- trm_commons_1.Logger.loading(`Generating CUST transport...`, true);
30
- context.runtime.systemData.custTransport = yield transport_1.Transport.createToc({
31
- trmIdentifier: transport_1.TrmTransportIdentifier.CUST,
32
- target: context.rawInput.systemData.transportTarget,
33
- text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (C)`
34
- });
35
- for (const transport of context.rawInput.publishData.customizingTransports) {
36
- yield context.runtime.systemData.custTransport.addObjectsFromTransport(transport.trkorr);
37
- }
38
- const e071 = yield context.runtime.systemData.custTransport.getE071();
39
- if (e071.length === 0) {
40
- trm_commons_1.Logger.info(`Customizing transport has no content, deleting.`, true);
41
- yield context.runtime.systemData.custTransport.delete();
42
- context.runtime.systemData.custTransport = undefined;
29
+ for (const origin of context.runtime.systemData.originCustomizing) {
30
+ trm_commons_1.Logger.loading(`Generating CUST transport...`, true);
31
+ const transport = yield transport_1.Transport.createToc({
32
+ trmIdentifier: transport_1.TrmTransportIdentifier.CUST,
33
+ target: context.rawInput.systemData.transportTarget,
34
+ text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (C) ${origin.description}`.trim()
35
+ });
36
+ for (const originTransport of origin.transports) {
37
+ yield transport.addObjectsFromTransport(originTransport.trkorr);
38
+ }
39
+ const e071 = yield transport.getE071();
40
+ if (e071.length === 0) {
41
+ trm_commons_1.Logger.info(`Customizing transport has no content, deleting.`, true);
42
+ yield transport.delete();
43
+ }
44
+ else {
45
+ context.runtime.systemData.custTransports.push(transport);
46
+ }
43
47
  }
44
48
  }),
45
49
  revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
46
50
  trm_commons_1.Logger.log('Rollback generate CUST transport step', true);
47
- if (context.runtime.systemData.custTransport) {
51
+ for (const transport of context.runtime.systemData.custTransports) {
48
52
  try {
49
- if (yield context.runtime.systemData.custTransport.canBeDeleted()) {
50
- yield context.runtime.systemData.custTransport.delete();
51
- trm_commons_1.Logger.success(`Executed rollback on transport ${context.runtime.systemData.custTransport.trkorr}`, true);
53
+ if (yield transport.canBeDeleted()) {
54
+ yield transport.delete();
55
+ trm_commons_1.Logger.success(`Executed rollback on transport ${transport.trkorr}`, true);
52
56
  }
53
57
  }
54
58
  catch (e) {
55
- trm_commons_1.Logger.error(`Unable to rollback transport ${context.runtime.systemData.custTransport.trkorr}!`);
59
+ trm_commons_1.Logger.error(`Unable to rollback transport ${transport.trkorr}!`);
56
60
  trm_commons_1.Logger.error(e.toString(), true);
57
61
  }
58
62
  }
@@ -29,8 +29,6 @@ exports.generateDevcTransport = {
29
29
  target: context.rawInput.systemData.transportTarget,
30
30
  text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (D)`
31
31
  });
32
- yield context.runtime.systemData.devcTransport.addComment(`name=${context.rawInput.packageData.name}`);
33
- yield context.runtime.systemData.devcTransport.addComment(`version=${context.rawInput.packageData.version}`);
34
32
  yield context.runtime.systemData.devcTransport.addObjects(aDevc, false);
35
33
  }),
36
34
  revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.generateTadirTransport = void 0;
13
13
  const trm_commons_1 = require("trm-commons");
14
14
  const transport_1 = require("../../transport");
15
- const systemConnector_1 = require("../../systemConnector");
16
15
  const stopWarning_1 = require("../stopWarning");
17
16
  exports.generateTadirTransport = {
18
17
  name: 'generate-tadir-transport',
@@ -43,20 +42,5 @@ exports.generateTadirTransport = {
43
42
  }),
44
43
  revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
45
44
  trm_commons_1.Logger.log('Rollback generate TADIR transport step', true);
46
- if (context.runtime.systemData.tadirTransport) {
47
- try {
48
- if (yield context.runtime.systemData.tadirTransport.canBeDeleted()) {
49
- yield context.runtime.systemData.tadirTransport.delete();
50
- trm_commons_1.Logger.success(`Executed rollback on transport ${context.runtime.systemData.tadirTransport.trkorr}`, true);
51
- }
52
- else {
53
- yield systemConnector_1.SystemConnector.addSkipTrkorr(context.runtime.systemData.tadirTransport.trkorr);
54
- }
55
- }
56
- catch (e) {
57
- trm_commons_1.Logger.error(`Unable to rollback transport ${context.runtime.systemData.tadirTransport.trkorr}!`);
58
- trm_commons_1.Logger.error(e.toString(), true);
59
- }
60
- }
61
45
  })
62
46
  };
@@ -43,7 +43,7 @@ exports.getSourceCode = {
43
43
  }
44
44
  catch (e) {
45
45
  trm_commons_1.Logger.error(e.toString(), true);
46
- trm_commons_1.Logger.info(`AbapGit repository for package "${context.rawInput.packageData.devclass}" was not found, source code won't be exported.`, true);
46
+ trm_commons_1.Logger.info(`AbapGit Developer Edition was not found, skipping source code and git ignore extraction.`, true);
47
47
  }
48
48
  })
49
49
  };
@@ -1,7 +1,7 @@
1
1
  import { TrmArtifact, TrmPackage } from "../../trmPackage";
2
2
  import { IActionContext } from "..";
3
3
  import { AbstractRegistry } from "../../registry";
4
- import { DEVCLASS, TADIR, TMSCSYS, TR_TARGET, TRNSPACET, TRNSPACETT } from "../../client";
4
+ import { DEVCLASS, TADIR, TARSYSTEM, TR_TARGET, TRNSPACET, TRNSPACETT } from "../../client";
5
5
  import { TrmManifest, TrmManifestBase } from "../../manifest";
6
6
  import { Transport } from "../../transport";
7
7
  import { DotAbapGit } from "../../abapgit";
@@ -49,11 +49,15 @@ type WorkflowRuntime = {
49
49
  artifact?: TrmArtifact;
50
50
  };
51
51
  systemData: {
52
- transportTargets: TMSCSYS[];
52
+ transportTargets: TARSYSTEM[];
53
+ originCustomizing: {
54
+ transports: Transport[];
55
+ description: string;
56
+ }[];
53
57
  devcTransport: Transport;
54
58
  tadirTransport: Transport;
55
59
  langTransport?: Transport;
56
- custTransport?: Transport;
60
+ custTransports: Transport[];
57
61
  releasedTransports: Transport[];
58
62
  };
59
63
  packageData: {
@@ -29,9 +29,10 @@ const generateTadirTransport_1 = require("./generateTadirTransport");
29
29
  const generateLangTransport_1 = require("./generateLangTransport");
30
30
  const generateCustTransport_1 = require("./generateCustTransport");
31
31
  const releaseTransports_1 = require("./releaseTransports");
32
- const finalizePublish_1 = require("./finalizePublish");
32
+ const updatePackageData_1 = require("./updatePackageData");
33
33
  const publishToRegistry_1 = require("./publishToRegistry");
34
34
  const getSourceCode_1 = require("./getSourceCode");
35
+ const checkAllObjectsReleased_1 = require("./checkAllObjectsReleased");
35
36
  ;
36
37
  const WORKFLOW_NAME = 'publish';
37
38
  function publish(inputData) {
@@ -45,16 +46,17 @@ function publish(inputData) {
45
46
  setDevclass_1.setDevclass,
46
47
  findDependencies_1.findDependencies,
47
48
  setManifestValues_1.setManifestValues,
48
- setReadme_1.setReadme,
49
49
  setCustomizingTransports_1.setCustomizingTransports,
50
+ setReadme_1.setReadme,
50
51
  getSourceCode_1.getSourceCode,
52
+ checkAllObjectsReleased_1.checkAllObjectsReleased,
51
53
  generateDevcTransport_1.generateDevcTransport,
52
54
  generateTadirTransport_1.generateTadirTransport,
53
55
  generateLangTransport_1.generateLangTransport,
54
56
  generateCustTransport_1.generateCustTransport,
55
57
  releaseTransports_1.releaseTransports,
56
58
  publishToRegistry_1.publishToRegistry,
57
- finalizePublish_1.finalizePublish
59
+ updatePackageData_1.updatePackageData
58
60
  ];
59
61
  trm_commons_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, util_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
60
62
  const result = yield (0, sammarksworkflow_1.default)(WORKFLOW_NAME, workflow, {
@@ -74,8 +74,7 @@ exports.init = {
74
74
  }
75
75
  if (!context.rawInput.publishData) {
76
76
  context.rawInput.publishData = {
77
- keepLatestReleaseManifestValues: true,
78
- customizingTransports: []
77
+ keepLatestReleaseManifestValues: true
79
78
  };
80
79
  }
81
80
  if (context.rawInput.packageData.manifest === undefined) {
@@ -96,15 +95,11 @@ exports.init = {
96
95
  if (!context.rawInput.packageData.manifest.postActivities) {
97
96
  context.rawInput.packageData.manifest.postActivities = [];
98
97
  }
98
+ if (!context.rawInput.publishData.customizingTransports) {
99
+ context.rawInput.publishData.customizingTransports = [];
100
+ }
99
101
  if (typeof (context.rawInput.publishData.customizingTransports) === 'string') {
100
- context.rawInput.publishData.customizingTransports = context.rawInput.publishData.customizingTransports.split(',').map(o => {
101
- try {
102
- return new transport_1.Transport(o.trim());
103
- }
104
- catch (e) {
105
- throw new Error(`Invalid customizing transport values: trkorr.`);
106
- }
107
- });
102
+ context.rawInput.publishData.customizingTransports = context.rawInput.publishData.customizingTransports.split(',').map(trkorr => new transport_1.Transport(trkorr));
108
103
  }
109
104
  if (!context.rawInput.packageData.tags) {
110
105
  context.rawInput.packageData.tags = [];
@@ -233,7 +228,9 @@ exports.init = {
233
228
  transportTargets: [],
234
229
  devcTransport: undefined,
235
230
  tadirTransport: undefined,
236
- releasedTransports: []
231
+ releasedTransports: [],
232
+ originCustomizing: [],
233
+ custTransports: []
237
234
  },
238
235
  packageData: {
239
236
  tadir: []
@@ -247,17 +244,7 @@ exports.init = {
247
244
  }
248
245
  };
249
246
  trm_commons_1.Logger.loading(`Reading ${systemConnector_1.SystemConnector.getDest()} transport targets...`);
250
- context.runtime.systemData.transportTargets = (yield systemConnector_1.SystemConnector.getTransportTargets()).sort((a, b) => {
251
- if (a.systyp === 'V') {
252
- return -1;
253
- }
254
- else if (b.systyp === 'V') {
255
- return 1;
256
- }
257
- else {
258
- return 0;
259
- }
260
- });
247
+ context.runtime.systemData.transportTargets = yield systemConnector_1.SystemConnector.getTransportTargets();
261
248
  if (context.rawInput.publishData.skipCustomizingTransports) {
262
249
  context.rawInput.publishData.customizingTransports = [];
263
250
  }
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.releaseTransports = void 0;
13
13
  const trm_commons_1 = require("trm-commons");
14
+ const transport_1 = require("../../transport");
14
15
  exports.releaseTransports = {
15
16
  name: 'release-transport',
16
17
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -20,9 +21,7 @@ exports.releaseTransports = {
20
21
  if (context.runtime.systemData.langTransport) {
21
22
  context.runtime.systemData.releasedTransports.push(context.runtime.systemData.langTransport);
22
23
  }
23
- if (context.runtime.systemData.custTransport) {
24
- context.runtime.systemData.releasedTransports.push(context.runtime.systemData.custTransport);
25
- }
24
+ context.runtime.systemData.releasedTransports = context.runtime.systemData.releasedTransports.concat(context.runtime.systemData.custTransports);
26
25
  context.runtime.systemData.releasedTransports.push(context.runtime.systemData.devcTransport);
27
26
  var counter = 0;
28
27
  for (var transport of context.runtime.systemData.releasedTransports) {
@@ -34,7 +33,7 @@ exports.releaseTransports = {
34
33
  yield transport.addComment(`version=${context.rawInput.packageData.version}`);
35
34
  yield transport.setDocumentation(context.runtime.trmPackage.manifestXml);
36
35
  trm_commons_1.Logger.log(`Ready to release transport ${transport.trkorr}, ${transport.trmIdentifier}`, true);
37
- trm_commons_1.Logger.loading(`Releasing transport...`);
36
+ trm_commons_1.Logger.loading(`${transport_1.Transport.getTransportIcon()} Releasing transport...`);
38
37
  yield transport.release(false, false, tmpFolder);
39
38
  trm_commons_1.Logger.removePrefix();
40
39
  trm_commons_1.Inquirer.removePrefix();
@@ -25,59 +25,115 @@ exports.setCustomizingTransports = {
25
25
  }),
26
26
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
27
27
  trm_commons_1.Logger.log('Set customizing transports step', true);
28
+ var customizingTransports = context.rawInput.publishData.customizingTransports;
29
+ customizingTransports = Object.values(customizingTransports.reduce((acc, t) => {
30
+ acc[t.trkorr] = t;
31
+ return acc;
32
+ }, {}));
28
33
  if (!context.rawInput.contextData.noInquirer) {
29
- var defaultTransports;
30
- if (Array.isArray(context.rawInput.publishData.customizingTransports)) {
31
- defaultTransports = context.rawInput.publishData.customizingTransports.map(o => {
32
- return o.trkorr;
33
- }).join(', ');
34
- }
35
- else {
36
- defaultTransports = context.rawInput.publishData.customizingTransports;
37
- }
38
- const inq = yield trm_commons_1.Inquirer.prompt({
39
- message: `Add customizing transports (separated by comma)`,
40
- name: 'transports',
41
- type: 'input',
42
- default: defaultTransports
43
- });
44
- context.rawInput.publishData.customizingTransports = inq.transports;
45
- }
46
- if (typeof (context.rawInput.publishData.customizingTransports) === 'string') {
47
- context.rawInput.publishData.customizingTransports = context.rawInput.publishData.customizingTransports.split(',').map(o => {
48
- if (o) {
49
- try {
50
- return new transport_1.Transport(o.trim());
34
+ const addCust = (yield trm_commons_1.Inquirer.prompt({
35
+ message: customizingTransports.length > 0 ? `Do you want to add more customizing transports?` : `Do you want to add customizing transports?`,
36
+ name: 'continue',
37
+ type: 'confirm',
38
+ default: customizingTransports.length > 0
39
+ })).continue;
40
+ if (addCust) {
41
+ var option;
42
+ do {
43
+ var options = [];
44
+ for (const transport of customizingTransports) {
45
+ var description;
46
+ try {
47
+ description = yield transport.getDescription();
48
+ }
49
+ catch (_a) {
50
+ description = '';
51
+ }
52
+ options.push({
53
+ name: `- ${transport_1.Transport.getTransportIcon()} ${transport.trkorr} ${description}`.trim(),
54
+ value: transport
55
+ });
51
56
  }
52
- catch (e) {
53
- throw new Error(`Invalid customizing transport values: trkorr.`);
57
+ options.push({
58
+ name: `+ Add`,
59
+ value: 1
60
+ });
61
+ options.push({
62
+ name: `x Done`,
63
+ value: 2
64
+ });
65
+ option = (yield trm_commons_1.Inquirer.prompt({
66
+ message: 'Select option',
67
+ name: 'option',
68
+ type: 'list',
69
+ choices: options,
70
+ default: 1
71
+ })).option;
72
+ if (option === 1) {
73
+ const trkorr = (yield trm_commons_1.Inquirer.prompt({
74
+ message: 'Input customizing transport request',
75
+ name: 'trkorr',
76
+ type: 'input',
77
+ validate: (input) => __awaiter(void 0, void 0, void 0, function* () {
78
+ try {
79
+ if (customizingTransports.find(o => o.trkorr === input.trim())) {
80
+ return 'Already added';
81
+ }
82
+ const trFunction = (yield (new transport_1.Transport(input.trim())).getE070()).trfunction;
83
+ if (trFunction !== 'W') {
84
+ return 'Transport request must be of type customizing';
85
+ }
86
+ else {
87
+ return true;
88
+ }
89
+ }
90
+ catch (_a) {
91
+ return 'Invalid transport request';
92
+ }
93
+ })
94
+ })).trkorr;
95
+ customizingTransports.push(new transport_1.Transport(trkorr.trim()));
54
96
  }
55
- }
56
- }).filter(o => o !== undefined);
57
- }
58
- var validatedTransports = [];
59
- if (Array.isArray(context.rawInput.publishData.customizingTransports) && context.rawInput.publishData.customizingTransports.length > 0) {
60
- trm_commons_1.Logger.loading(`Reading customizing transports...`);
61
- for (const transport of context.rawInput.publishData.customizingTransports) {
62
- trm_commons_1.Logger.log(`Checking transport ${transport.trkorr}`, true);
63
- if (yield transport.getE070()) {
64
- if (!validatedTransports.find(o => o.trkorr === transport.trkorr)) {
65
- trm_commons_1.Logger.log(`Transport ${transport.trkorr} is validated`, true);
66
- validatedTransports.push(transport);
97
+ else if (option instanceof transport_1.Transport) {
98
+ customizingTransports = customizingTransports.filter(o => o.trkorr !== option.trkorr);
99
+ }
100
+ } while (option !== 2);
101
+ }
102
+ const maxDescLength = 60 - `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (C) `.length;
103
+ for (const transport of customizingTransports) {
104
+ try {
105
+ const e070 = yield transport.getE070();
106
+ if (e070.trfunction !== 'W') {
107
+ trm_commons_1.Logger.warning(`Transport ${transport.trkorr} is not of type customizing`);
108
+ throw new Error();
67
109
  }
68
110
  const tasks = yield transport.getTasks();
69
- tasks.forEach(task => {
70
- if (!validatedTransports.find(o => o.trkorr === task.trkorr)) {
71
- trm_commons_1.Logger.log(`Transport ${transport.trkorr} task is validated`, true);
72
- validatedTransports.push(task);
73
- }
111
+ var desc = yield transport.getDescription();
112
+ if (!context.rawInput.contextData.noInquirer) {
113
+ desc = (yield trm_commons_1.Inquirer.prompt({
114
+ message: `Description of ${transport.trkorr}`,
115
+ type: 'input',
116
+ name: 'desc',
117
+ default: desc,
118
+ validate: (input) => {
119
+ if (input.length > maxDescLength) {
120
+ return `Description cannot exceede ${maxDescLength} characters`;
121
+ }
122
+ else {
123
+ return true;
124
+ }
125
+ }
126
+ })).desc || desc;
127
+ }
128
+ context.runtime.systemData.originCustomizing.push({
129
+ transports: [transport].concat(tasks),
130
+ description: desc
74
131
  });
75
132
  }
76
- else {
77
- trm_commons_1.Logger.log(`Transport ${transport.trkorr} doesn't exist`, true);
133
+ catch (_b) {
134
+ trm_commons_1.Logger.warning(`Invalid transport ${transport.trkorr}, ignored`);
78
135
  }
79
136
  }
80
- trm_commons_1.Logger.info(`${validatedTransports.length} customizing transports/tasks will be published.`);
81
137
  }
82
138
  })
83
139
  };
@@ -251,7 +251,7 @@ exports.setManifestValues = {
251
251
  if (!context.rawInput.contextData.noInquirer) {
252
252
  const inqDefault1 = context.runtime.trmPackage.manifest.postActivities || [];
253
253
  const inq = yield trm_commons_1.Inquirer.prompt([{
254
- message: context.runtime.trmPackage.manifest.postActivities.length > 0 ? `Do you want to edit ${context.runtime.trmPackage.manifest.postActivities.length} post activities?` : `Do you want to add post activities?`,
254
+ message: inqDefault1.length > 0 ? `Do you want to edit ${inqDefault1.length} post activities?` : `Do you want to add post activities?`,
255
255
  type: 'confirm',
256
256
  name: 'editPostActivities',
257
257
  default: false
@@ -33,7 +33,7 @@ exports.setReadme = {
33
33
  trm_commons_1.Logger.log('Set readme step', true);
34
34
  if (!context.rawInput.contextData.noInquirer) {
35
35
  context.rawInput.publishData.readme = (yield trm_commons_1.Inquirer.prompt([{
36
- message: 'Write readme?',
36
+ message: `Do you want to write a ${context.runtime.trmPackage.latestReleaseManifest ? 'new ' : ''}readme?`,
37
37
  type: 'confirm',
38
38
  name: 'editReadme',
39
39
  default: false
@@ -11,45 +11,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.setTransportTarget = void 0;
13
13
  const trm_commons_1 = require("trm-commons");
14
- const validators_1 = require("../../validators");
14
+ const prompts_1 = require("../commons/prompts");
15
15
  exports.setTransportTarget = {
16
16
  name: 'set-transport-target',
17
17
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
18
  trm_commons_1.Logger.log('Set transport target step', true);
19
- var needsValidation;
20
- var transportTarget = context.rawInput.systemData.transportTarget;
21
- if (transportTarget === undefined) {
22
- if (!context.rawInput.contextData.noInquirer) {
23
- transportTarget = (yield trm_commons_1.Inquirer.prompt({
24
- type: "list",
25
- message: "Publish transport target",
26
- name: "transportTarget",
27
- validate: (input) => __awaiter(void 0, void 0, void 0, function* () {
28
- return yield (0, validators_1.validateTransportTarget)(input, context.runtime.systemData.transportTargets);
29
- }),
30
- choices: context.runtime.systemData.transportTargets.map(o => {
31
- return {
32
- name: o.systxt ? `${o.sysnam} (${o.systxt})` : o.sysnam,
33
- value: o.sysnam
34
- };
35
- })
36
- })).transportTarget;
37
- }
38
- else {
39
- throw new Error(`Release transport target was not declared.`);
40
- }
41
- needsValidation = false;
42
- }
43
- else {
44
- needsValidation = true;
45
- }
46
- if (needsValidation) {
47
- const validate = yield (0, validators_1.validateTransportTarget)(transportTarget, context.runtime.systemData.transportTargets);
48
- if (validate && validate !== true) {
49
- throw new Error(validate);
50
- }
51
- trm_commons_1.Logger.info(`Publish transport release target: ${transportTarget}`);
52
- }
53
- context.rawInput.systemData.transportTarget = transportTarget;
19
+ context.rawInput.systemData.transportTarget = yield (0, prompts_1.setTransportTarget)(context.rawInput.contextData.noInquirer, context.runtime.systemData.transportTargets, context.rawInput.systemData.transportTarget, "Publish transport target");
54
20
  })
55
21
  };
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { PublishWorkflowContext } from ".";
3
- export declare const finalizePublish: Step<PublishWorkflowContext>;
3
+ export declare const updatePackageData: Step<PublishWorkflowContext>;
@@ -9,25 +9,25 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.finalizePublish = void 0;
12
+ exports.updatePackageData = void 0;
13
13
  const trm_commons_1 = require("trm-commons");
14
14
  const systemConnector_1 = require("../../systemConnector");
15
15
  const crypto_1 = require("crypto");
16
16
  const registry_1 = require("../../registry");
17
- exports.finalizePublish = {
18
- name: 'finalize-publish',
17
+ exports.updatePackageData = {
18
+ name: 'update-package-data',
19
19
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
20
- trm_commons_1.Logger.log('Finalize publish step', true);
20
+ trm_commons_1.Logger.log('Update package data step', true);
21
21
  try {
22
- trm_commons_1.Logger.loading(`Finalizing...`);
23
- yield systemConnector_1.SystemConnector.addSrcTrkorr(context.runtime.systemData.tadirTransport.trkorr);
24
- trm_commons_1.Logger.log(`Generating SHA512`, true);
22
+ trm_commons_1.Logger.loading(`Finalizing publish...`);
25
23
  const integrity = (0, crypto_1.createHash)("sha512").update(context.runtime.trmPackage.artifact.binary).digest("base64");
26
- trm_commons_1.Logger.log(`SHA512: ${integrity}`, true);
27
- yield systemConnector_1.SystemConnector.setPackageIntegrity({
24
+ yield systemConnector_1.SystemConnector.updateTrmPackageData({
28
25
  package_name: context.rawInput.packageData.name,
29
26
  package_registry: context.rawInput.packageData.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? registry_1.PUBLIC_RESERVED_KEYWORD : context.rawInput.packageData.registry.endpoint,
30
- integrity
27
+ manifest: Buffer.from(context.runtime.trmPackage.manifestXml, 'utf8'),
28
+ trkorr: context.runtime.systemData.tadirTransport.trkorr,
29
+ integrity: integrity,
30
+ devclass: context.rawInput.packageData.devclass
31
31
  });
32
32
  }
33
33
  catch (e) {
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.stopWarning = stopWarning;
4
7
  const trm_commons_1 = require("trm-commons");
8
+ const chalk_1 = __importDefault(require("chalk"));
5
9
  function stopWarning(action) {
6
- trm_commons_1.Logger.warning(`Starting ${action}!! Do not interrupt the process as it may leave inconsistencies!`);
10
+ trm_commons_1.Logger.warning(`Starting ${chalk_1.default.bold(action)}!! Do not interrupt the process as it may leave inconsistencies!`);
7
11
  }