trm-core 4.1.4 → 6.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 (245) hide show
  1. package/dist/actions/checkPackageDependencies/analyze.d.ts +3 -0
  2. package/dist/actions/checkPackageDependencies/analyze.js +131 -0
  3. package/dist/actions/checkPackageDependencies/index.d.ts +28 -27
  4. package/dist/actions/checkPackageDependencies/index.js +12 -17
  5. package/dist/actions/checkPackageDependencies/init.d.ts +2 -2
  6. package/dist/actions/checkPackageDependencies/init.js +19 -11
  7. package/dist/actions/checkSapEntries/{buildOutput.d.ts → analyze.d.ts} +1 -1
  8. package/dist/actions/checkSapEntries/{analizeSapEntries.js → analyze.js} +40 -23
  9. package/dist/actions/checkSapEntries/index.d.ts +32 -21
  10. package/dist/actions/checkSapEntries/index.js +9 -14
  11. package/dist/actions/checkSapEntries/init.js +18 -10
  12. package/dist/actions/commons/IActionContext.d.ts +9 -0
  13. package/dist/actions/commons/index.d.ts +2 -0
  14. package/dist/actions/commons/index.js +18 -0
  15. package/dist/actions/commons/setSystemPackages.d.ts +3 -0
  16. package/dist/actions/{install → commons}/setSystemPackages.js +5 -6
  17. package/dist/actions/findDependencies/index.d.ts +47 -35
  18. package/dist/actions/findDependencies/index.js +18 -17
  19. package/dist/actions/findDependencies/init.js +22 -14
  20. package/dist/actions/findDependencies/parseSenvi.js +63 -29
  21. package/dist/actions/findDependencies/print.js +30 -23
  22. package/dist/actions/findDependencies/readRepositoryEnvironment.js +34 -11
  23. package/dist/actions/findDependencies/{readPackageData.d.ts → setObjects.d.ts} +1 -1
  24. package/dist/actions/findDependencies/setObjects.js +50 -0
  25. package/dist/actions/findDependencies/setTrmDependencies.js +14 -28
  26. package/dist/actions/index.d.ts +4 -2
  27. package/dist/actions/index.js +4 -2
  28. package/dist/actions/install/{readDevcTransport.d.ts → addNamespace.d.ts} +1 -1
  29. package/dist/actions/install/addNamespace.js +133 -0
  30. package/dist/actions/install/checkAlreadyInstalled.js +16 -25
  31. package/dist/actions/install/checkDependencies.js +34 -34
  32. package/dist/actions/install/checkIntegrity.js +14 -14
  33. package/dist/actions/install/{checkTadirContent.d.ts → checkObjectTypes.d.ts} +1 -1
  34. package/dist/actions/install/checkObjectTypes.js +50 -0
  35. package/dist/actions/install/checkSapEntries.js +21 -18
  36. package/dist/actions/install/checkTransports.js +75 -26
  37. package/dist/actions/install/generateDevclass.js +48 -59
  38. package/dist/actions/install/{checkTadirObjectTypes.d.ts → generateInstallTransport.d.ts} +1 -1
  39. package/dist/actions/install/generateInstallTransport.js +129 -0
  40. package/dist/actions/install/importCustTransport.js +15 -19
  41. package/dist/actions/install/{generateWbTransport.d.ts → importDevcTransport.d.ts} +1 -1
  42. package/dist/actions/install/importDevcTransport.js +61 -0
  43. package/dist/actions/install/importLangTransport.js +15 -19
  44. package/dist/actions/install/importTadirTransport.js +30 -36
  45. package/dist/actions/install/index.d.ts +84 -73
  46. package/dist/actions/install/index.js +28 -25
  47. package/dist/actions/install/init.js +109 -51
  48. package/dist/actions/install/installDependencies.js +79 -48
  49. package/dist/actions/install/{setDevclass.d.ts → readDevc.d.ts} +1 -1
  50. package/dist/actions/install/readDevc.js +29 -0
  51. package/dist/actions/install/{setSystemPackages.d.ts → readTadir.d.ts} +1 -1
  52. package/dist/actions/install/readTadir.js +34 -0
  53. package/dist/actions/install/setInstallDevclass.d.ts +3 -0
  54. package/dist/actions/install/setInstallDevclass.js +124 -0
  55. package/dist/actions/install/setPackageIntegrity.js +4 -6
  56. package/dist/actions/install/setR3trans.js +10 -6
  57. package/dist/actions/installDependency/findInstallRelease.js +19 -32
  58. package/dist/actions/installDependency/index.d.ts +18 -30
  59. package/dist/actions/installDependency/index.js +12 -14
  60. package/dist/actions/installDependency/init.js +55 -19
  61. package/dist/actions/installDependency/installRelease.js +19 -22
  62. package/dist/actions/publish/finalizePublish.js +7 -20
  63. package/dist/actions/publish/findDependencies.js +136 -21
  64. package/dist/actions/publish/generateCustTr.js +1 -1
  65. package/dist/actions/publish/{checkPackageExistance.d.ts → generateCustTransport.d.ts} +1 -1
  66. package/dist/actions/publish/generateCustTransport.js +63 -0
  67. package/dist/actions/publish/{editTrmDependencies.d.ts → generateDevcTransport.d.ts} +1 -1
  68. package/dist/actions/publish/generateDevcTransport.js +48 -0
  69. package/dist/actions/publish/{editSapEntries.d.ts → generateLangTransport.d.ts} +1 -1
  70. package/dist/actions/publish/generateLangTransport.js +71 -0
  71. package/dist/actions/publish/{setBackwardsCompatible.d.ts → generateTadirTransport.d.ts} +1 -1
  72. package/dist/actions/publish/generateTadirTransport.js +53 -0
  73. package/dist/actions/publish/index.d.ts +61 -68
  74. package/dist/actions/publish/index.js +30 -61
  75. package/dist/actions/publish/init.js +152 -75
  76. package/dist/actions/publish/{setCustTransports.d.ts → publishToRegistry.d.ts} +1 -1
  77. package/dist/actions/publish/{buildTrmPackageInstance.js → publishToRegistry.js} +13 -7
  78. package/dist/actions/publish/{generateLangTr.d.ts → releaseTransports.d.ts} +1 -1
  79. package/dist/actions/publish/releaseTransports.js +42 -0
  80. package/dist/actions/publish/{buildTrmPackageInstance.d.ts → setCustomizingTransports.d.ts} +1 -1
  81. package/dist/actions/publish/setCustomizingTransports.js +84 -0
  82. package/dist/actions/publish/setDevclass.js +53 -21
  83. package/dist/actions/publish/setManifestValues.js +132 -80
  84. package/dist/actions/publish/setReadme.js +20 -21
  85. package/dist/actions/publish/setTransportTarget.js +30 -38
  86. package/dist/client/IClient.d.ts +2 -0
  87. package/dist/{systemConnector → client}/Login.d.ts +1 -1
  88. package/dist/client/RESTClient.d.ts +52 -0
  89. package/dist/client/RESTClient.js +499 -0
  90. package/dist/client/RFCClient.d.ts +11 -3
  91. package/dist/client/RFCClient.js +123 -18
  92. package/dist/client/components/NAMESPACE.d.ts +1 -0
  93. package/dist/client/components/NAMESPACE.js +2 -0
  94. package/dist/client/components/NSP_OWNER.d.ts +1 -0
  95. package/dist/client/components/NSP_OWNER.js +2 -0
  96. package/dist/client/components/NSP_TEXT.d.ts +1 -0
  97. package/dist/client/components/NSP_TEXT.js +2 -0
  98. package/dist/client/components/RFCDEST.d.ts +1 -0
  99. package/dist/client/components/RFCDEST.js +2 -0
  100. package/dist/client/components/TRNLICENSE.d.ts +1 -0
  101. package/dist/client/components/TRNLICENSE.js +2 -0
  102. package/dist/client/components/index.d.ts +5 -0
  103. package/dist/client/components/index.js +5 -0
  104. package/dist/client/index.d.ts +3 -0
  105. package/dist/client/index.js +3 -0
  106. package/dist/client/struct/STMSIQREQ.d.ts +1 -0
  107. package/dist/client/struct/TRNSPACET.d.ts +5 -0
  108. package/dist/client/struct/TRNSPACET.js +2 -0
  109. package/dist/client/struct/TRNSPACETT.d.ts +7 -0
  110. package/dist/client/struct/TRNSPACETT.js +2 -0
  111. package/dist/client/struct/index.d.ts +2 -0
  112. package/dist/client/struct/index.js +2 -0
  113. package/dist/commons/fromAbapToDate.js +1 -2
  114. package/dist/commons/getAxiosInstance.d.ts +5 -0
  115. package/dist/commons/getAxiosInstance.js +94 -0
  116. package/dist/commons/getFileSysSeparator.js +1 -2
  117. package/dist/commons/getNpmGlobalPath.d.ts +1 -0
  118. package/dist/commons/getNpmGlobalPath.js +30 -0
  119. package/dist/commons/getPackageHierarchy.js +1 -2
  120. package/dist/commons/getPackageNamespace.js +2 -3
  121. package/dist/commons/getParentFromHierarchy.js +1 -2
  122. package/dist/commons/index.d.ts +2 -0
  123. package/dist/commons/index.js +2 -0
  124. package/dist/commons/normalize.js +1 -2
  125. package/dist/commons/parsePackageName.js +1 -2
  126. package/dist/commons/validateOrganizationName.js +1 -2
  127. package/dist/inquirer/CliInquirer.d.ts +4 -0
  128. package/dist/inquirer/CliInquirer.js +13 -1
  129. package/dist/inquirer/IInquirer.d.ts +3 -0
  130. package/dist/inquirer/Inquirer.d.ts +3 -0
  131. package/dist/inquirer/Inquirer.js +15 -0
  132. package/dist/inquirer/validators/validateDevclass.js +5 -3
  133. package/dist/inquirer/validators/validateTransportTarget.js +1 -2
  134. package/dist/logger/CliLogFileLogger.d.ts +1 -1
  135. package/dist/logger/CliLogger.d.ts +6 -2
  136. package/dist/logger/CliLogger.js +24 -4
  137. package/dist/logger/ConsoleLogger.d.ts +5 -1
  138. package/dist/logger/ConsoleLogger.js +20 -9
  139. package/dist/logger/DummyLogger.d.ts +4 -1
  140. package/dist/logger/DummyLogger.js +5 -0
  141. package/dist/logger/ILogger.d.ts +4 -1
  142. package/dist/logger/Logger.d.ts +3 -1
  143. package/dist/logger/Logger.js +17 -2
  144. package/dist/manifest/Manifest.js +43 -0
  145. package/dist/manifest/TrmManifest.d.ts +5 -13
  146. package/dist/manifest/TrmManifestBase.d.ts +13 -0
  147. package/dist/manifest/TrmManifestBase.js +2 -0
  148. package/dist/manifest/TrmManifestNamespace.d.ts +8 -0
  149. package/dist/manifest/TrmManifestNamespace.js +2 -0
  150. package/dist/manifest/index.d.ts +2 -0
  151. package/dist/manifest/index.js +2 -0
  152. package/dist/registry/Registry.d.ts +0 -1
  153. package/dist/registry/Registry.js +13 -75
  154. package/dist/systemConnector/ISystemConnector.d.ts +12 -30
  155. package/dist/systemConnector/ISystemConnectorBase.d.ts +33 -0
  156. package/dist/systemConnector/ISystemConnectorBase.js +2 -0
  157. package/dist/systemConnector/RESTConnection.d.ts +5 -0
  158. package/dist/systemConnector/RESTConnection.js +2 -0
  159. package/dist/systemConnector/{ServerSystemConnector.d.ts → RESTSystemConnector.d.ts} +23 -38
  160. package/dist/systemConnector/RESTSystemConnector.js +275 -0
  161. package/dist/systemConnector/{Connection.d.ts → RFCConnection.d.ts} +1 -1
  162. package/dist/systemConnector/RFCConnection.js +2 -0
  163. package/dist/systemConnector/RFCSystemConnector.d.ts +62 -0
  164. package/dist/systemConnector/RFCSystemConnector.js +246 -0
  165. package/dist/systemConnector/SystemConnector.d.ts +15 -3
  166. package/dist/systemConnector/SystemConnector.js +69 -8
  167. package/dist/systemConnector/SystemConnectorBase.d.ts +51 -0
  168. package/dist/systemConnector/{ServerSystemConnector.js → SystemConnectorBase.js} +109 -267
  169. package/dist/systemConnector/SystemConnectorSupportedBulk.d.ts +4 -0
  170. package/dist/systemConnector/SystemConnectorSupportedBulk.js +2 -0
  171. package/dist/systemConnector/index.d.ts +11 -4
  172. package/dist/systemConnector/index.js +11 -4
  173. package/dist/transport/BinaryTransport.d.ts +0 -1
  174. package/dist/transport/Transport.d.ts +2 -3
  175. package/dist/transport/Transport.js +65 -17
  176. package/dist/trmPackage/TrmArtifact.d.ts +0 -1
  177. package/dist/trmPackage/TrmPackage.d.ts +5 -1
  178. package/dist/trmPackage/TrmPackage.js +6 -2
  179. package/package.json +5 -4
  180. package/dist/actions/checkPackageDependencies/analizeDependencies.d.ts +0 -3
  181. package/dist/actions/checkPackageDependencies/analizeDependencies.js +0 -84
  182. package/dist/actions/checkPackageDependencies/buildOutput.d.ts +0 -3
  183. package/dist/actions/checkPackageDependencies/buildOutput.js +0 -82
  184. package/dist/actions/checkPackageDependencies/setSystemPackages.d.ts +0 -3
  185. package/dist/actions/checkPackageDependencies/setSystemPackages.js +0 -28
  186. package/dist/actions/checkSapEntries/analizeSapEntries.d.ts +0 -3
  187. package/dist/actions/checkSapEntries/buildOutput.js +0 -46
  188. package/dist/actions/findDependencies/acknowledgementSize.d.ts +0 -3
  189. package/dist/actions/findDependencies/acknowledgementSize.js +0 -43
  190. package/dist/actions/findDependencies/readPackageData.js +0 -22
  191. package/dist/actions/findDependencies/readPackageObjects.d.ts +0 -3
  192. package/dist/actions/findDependencies/readPackageObjects.js +0 -26
  193. package/dist/actions/findDependencies/setSystemPackages.d.ts +0 -3
  194. package/dist/actions/findDependencies/setSystemPackages.js +0 -25
  195. package/dist/actions/install/checkTadirContent.js +0 -50
  196. package/dist/actions/install/checkTadirObjectTypes.js +0 -54
  197. package/dist/actions/install/generateWbTransport.js +0 -90
  198. package/dist/actions/install/readDevcTransport.js +0 -30
  199. package/dist/actions/install/setDevclass.js +0 -115
  200. package/dist/actions/installDependency/checkAlreadyInstalled.d.ts +0 -3
  201. package/dist/actions/installDependency/checkAlreadyInstalled.js +0 -42
  202. package/dist/actions/installDependency/getRangeReleases.d.ts +0 -3
  203. package/dist/actions/installDependency/getRangeReleases.js +0 -38
  204. package/dist/actions/installDependency/setSystemPackages.d.ts +0 -3
  205. package/dist/actions/installDependency/setSystemPackages.js +0 -25
  206. package/dist/actions/publish/checkPackageExistance.js +0 -27
  207. package/dist/actions/publish/checkPublishAllowed.d.ts +0 -3
  208. package/dist/actions/publish/checkPublishAllowed.js +0 -33
  209. package/dist/actions/publish/editSapEntries.js +0 -69
  210. package/dist/actions/publish/editTrmDependencies.js +0 -69
  211. package/dist/actions/publish/generateDevcTr.d.ts +0 -3
  212. package/dist/actions/publish/generateDevcTr.js +0 -47
  213. package/dist/actions/publish/generateLangTr.js +0 -69
  214. package/dist/actions/publish/generateTadirTr.d.ts +0 -3
  215. package/dist/actions/publish/generateTadirTr.js +0 -52
  216. package/dist/actions/publish/generateTrmArtifact.d.ts +0 -3
  217. package/dist/actions/publish/generateTrmArtifact.js +0 -30
  218. package/dist/actions/publish/logDependencies.d.ts +0 -3
  219. package/dist/actions/publish/logDependencies.js +0 -31
  220. package/dist/actions/publish/overwriteManifestValues.d.ts +0 -3
  221. package/dist/actions/publish/overwriteManifestValues.js +0 -46
  222. package/dist/actions/publish/publishTrmArtifact.d.ts +0 -3
  223. package/dist/actions/publish/publishTrmArtifact.js +0 -23
  224. package/dist/actions/publish/releaseCustTr.d.ts +0 -3
  225. package/dist/actions/publish/releaseCustTr.js +0 -34
  226. package/dist/actions/publish/releaseDevcTr.d.ts +0 -3
  227. package/dist/actions/publish/releaseDevcTr.js +0 -23
  228. package/dist/actions/publish/releaseLangTr.d.ts +0 -3
  229. package/dist/actions/publish/releaseLangTr.js +0 -34
  230. package/dist/actions/publish/releaseTadirTr.d.ts +0 -3
  231. package/dist/actions/publish/releaseTadirTr.js +0 -23
  232. package/dist/actions/publish/setBackwardsCompatible.js +0 -54
  233. package/dist/actions/publish/setCustTransports.js +0 -49
  234. package/dist/actions/publish/setDevclassObjs.d.ts +0 -3
  235. package/dist/actions/publish/setDevclassObjs.js +0 -22
  236. package/dist/actions/publish/setPrivate.d.ts +0 -3
  237. package/dist/actions/publish/setPrivate.js +0 -61
  238. package/dist/actions/publish/setSapEntries.d.ts +0 -3
  239. package/dist/actions/publish/setSapEntries.js +0 -46
  240. package/dist/actions/publish/setTrmDependencies.d.ts +0 -3
  241. package/dist/actions/publish/setTrmDependencies.js +0 -59
  242. /package/dist/{systemConnector/Connection.js → actions/commons/IActionContext.js} +0 -0
  243. /package/dist/{systemConnector → client}/Login.js +0 -0
  244. /package/dist/{systemConnector → client}/SapMessage.d.ts +0 -0
  245. /package/dist/{systemConnector → client}/SapMessage.js +0 -0
@@ -15,51 +15,45 @@ const systemConnector_1 = require("../../systemConnector");
15
15
  const transport_1 = require("../../transport");
16
16
  exports.importTadirTransport = {
17
17
  name: 'import-tadir-transport',
18
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
- if (context.runtime.tadirTransport) {
20
- return true;
21
- }
22
- else {
23
- logger_1.Logger.log(`Skip import TADIR transport (no transport data in package)`, true);
24
- return false;
25
- }
26
- }),
27
18
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
28
- const importTimeout = context.parsedInput.importTimeout;
29
- const transportData = context.runtime.tadirTransport;
30
- const target = systemConnector_1.SystemConnector.getDest();
31
- logger_1.Logger.loading(`Importing transport to ${target}...`);
32
- const transport = yield transport_1.Transport.upload({
33
- binary: transportData.binaries,
34
- trTarget: target
19
+ logger_1.Logger.log('Import TADIR Transport step', true);
20
+ logger_1.Logger.loading(`Importing...`);
21
+ const importTimeout = context.rawInput.installData.import.timeout;
22
+ logger_1.Logger.loading(`Uploading ${context.runtime.packageTransports.tadir.binaries.trkorr}`, true);
23
+ context.runtime.packageTransports.tadir.instance = yield transport_1.Transport.upload({
24
+ binary: context.runtime.packageTransports.tadir.binaries.binaries,
25
+ trTarget: systemConnector_1.SystemConnector.getDest()
35
26
  });
36
- yield transport.import(importTimeout);
37
- const aTadir = context.runtime.tadirData;
38
- const packageReplacements = context.runtime.packageReplacements;
39
- logger_1.Logger.loading(`Finalizing TADIR import...`);
40
- for (const tadir of aTadir) {
41
- const replacementDevclass = packageReplacements.find(o => o.originalDevclass === tadir.devclass).installDevclass;
42
- if (replacementDevclass) {
43
- var object = tadir;
44
- object.devclass = replacementDevclass;
45
- object.srcsystem = 'TRM';
46
- logger_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);
47
- yield systemConnector_1.SystemConnector.tadirInterface(object);
48
- }
49
- else {
50
- logger_1.Logger.error(`Replacement devclass not found for ${tadir.devclass}!`, true);
27
+ logger_1.Logger.loading(`Importing ${context.runtime.packageTransports.tadir.binaries.trkorr}`, true);
28
+ yield context.runtime.packageTransports.tadir.instance.import(importTimeout);
29
+ logger_1.Logger.success(`Transport ${context.runtime.packageTransports.tadir.binaries.trkorr} imported`, true);
30
+ logger_1.Logger.loading(`Finalizing import...`);
31
+ if (!context.rawInput.installData.installDevclass.keepOriginal) {
32
+ for (const tadir of context.runtime.packageTransportsData.tadir) {
33
+ const replacementDevclass = context.rawInput.installData.installDevclass.replacements.find(o => o.originalDevclass === tadir.devclass);
34
+ if (replacementDevclass && replacementDevclass.installDevclass) {
35
+ var object = tadir;
36
+ object.devclass = replacementDevclass.installDevclass;
37
+ object.srcsystem = 'TRM';
38
+ logger_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);
39
+ yield systemConnector_1.SystemConnector.tadirInterface(object);
40
+ }
41
+ else {
42
+ logger_1.Logger.error(`Replacement ABAP package not found for ${tadir.devclass}!`, true);
43
+ }
51
44
  }
52
45
  }
53
- logger_1.Logger.success(`TADIR import finished.`);
54
46
  }),
55
47
  revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
56
- logger_1.Logger.loading(`Rollback TADIR transport ${context.runtime.tadirTransport.trkorr}...`);
48
+ logger_1.Logger.log('Rollback TADIR Transport step', true);
49
+ logger_1.Logger.loading(`Rollback...`);
50
+ logger_1.Logger.loading(`Rollback transport ${context.runtime.packageTransports.tadir.binaries.trkorr}...`, true);
57
51
  try {
58
- yield systemConnector_1.SystemConnector.addSkipTrkorr(context.runtime.tadirTransport.trkorr);
59
- logger_1.Logger.info(`Executed rollback on transport ${context.runtime.tadirTransport.trkorr}`);
52
+ yield systemConnector_1.SystemConnector.addSkipTrkorr(context.runtime.packageTransports.tadir.binaries.trkorr);
53
+ logger_1.Logger.success(`Rollback transport ${context.runtime.packageTransports.tadir.binaries.trkorr} done`, true);
60
54
  }
61
55
  catch (e) {
62
- logger_1.Logger.info(`Unable to rollback transport ${context.runtime.tadirTransport.trkorr}`);
56
+ logger_1.Logger.info(`Unable to rollback transport ${context.runtime.packageTransports.tadir.binaries.trkorr}`);
63
57
  logger_1.Logger.error(e.toString(), true);
64
58
  }
65
59
  })
@@ -1,95 +1,106 @@
1
+ import { R3trans, R3transOptions } from "node-r3trans";
1
2
  import { Registry } from "../../registry";
3
+ import { Transport } from "../../transport";
2
4
  import { TransportBinary, TrmArtifact, TrmPackage } from "../../trmPackage";
3
5
  import { Manifest, TrmManifest, TrmManifestDependency } from "../../manifest";
4
- import { R3trans, R3transOptions } from "node-r3trans";
5
- import { DEVCLASS, E071, TADIR, TDEVC, TDEVCT } from "../../client";
6
+ import { IActionContext } from "..";
7
+ import { DEVCLASS, E071, NAMESPACE, TADIR, TDEVC, TDEVCT } from "../../client";
6
8
  import { PackageHierarchy } from "../../commons";
7
- import { Transport } from "../../transport";
8
9
  export type InstallPackageReplacements = {
9
10
  originalDevclass: string;
10
11
  installDevclass: string;
11
12
  };
12
- export type InstallActionInput = {
13
- packageName: string;
14
- registry: Registry;
15
- version?: string;
16
- systemPackages?: TrmPackage[];
17
- integrity?: string;
18
- r3transOptions?: R3transOptions;
19
- transportLayer?: string;
20
- force?: boolean;
21
- keepOriginalDevclass?: boolean;
22
- importTimeout?: number;
23
- generateTransport?: boolean;
24
- skipSapEntriesCheck?: boolean;
25
- skipObjectTypesCheck?: boolean;
26
- skipLangImport?: boolean;
27
- skipCustImport?: boolean;
28
- ignoreDependencies?: boolean;
29
- safeInstall?: boolean;
30
- wbTrTargetSystem?: string;
31
- silent?: boolean;
32
- packageReplacements?: InstallPackageReplacements[];
33
- allowReplace?: boolean;
34
- };
35
- type WorkflowParsedInput = {
36
- packageName?: string;
37
- version?: string;
38
- skipAlreadyInstalledCheck?: boolean;
39
- forceInstallSameVersion?: boolean;
40
- overwriteInstall?: boolean;
13
+ export type InstallActionInputContextData = {
41
14
  systemPackages?: TrmPackage[];
42
- checkSapEntries?: boolean;
43
- checkDependencies?: boolean;
44
- installMissingDependencies?: boolean;
45
- installIntegrity?: string;
46
- safeInstall?: boolean;
47
15
  r3transOptions?: R3transOptions;
48
- checkObjectTypes?: boolean;
49
- keepOriginalPackages?: boolean;
50
- forceDevclassInput?: boolean;
51
- transportLayer?: string;
52
- importTimeout?: number;
53
- skipLangImport?: boolean;
54
- skipCustImport?: boolean;
55
- skipWbTransportGen?: boolean;
56
- wbTrTargetSystem?: string;
57
- packageReplacements?: InstallPackageReplacements[];
16
+ noR3transInfo?: boolean;
58
17
  noInquirer?: boolean;
59
18
  };
19
+ export type InstallActionInputInstallData = {
20
+ import?: {
21
+ timeout?: number;
22
+ noLang?: boolean;
23
+ noCust?: boolean;
24
+ };
25
+ checks?: {
26
+ safe?: boolean;
27
+ noSapEntries?: boolean;
28
+ noObjectTypes?: boolean;
29
+ noDependencies?: boolean;
30
+ };
31
+ installDevclass?: {
32
+ keepOriginal?: boolean;
33
+ transportLayer?: string;
34
+ replacements?: InstallPackageReplacements[];
35
+ };
36
+ installTransport?: {
37
+ create?: boolean;
38
+ targetSystem?: string;
39
+ };
40
+ };
41
+ export interface InstallActionInput {
42
+ contextData?: InstallActionInputContextData;
43
+ packageData: {
44
+ name: string;
45
+ version?: string;
46
+ integrity?: string;
47
+ registry: Registry;
48
+ overwrite?: boolean;
49
+ };
50
+ installData?: InstallActionInputInstallData;
51
+ }
52
+ type TransportRuntime = {
53
+ binaries?: TransportBinary;
54
+ instance?: Transport;
55
+ };
60
56
  type WorkflowRuntime = {
61
- registry?: Registry;
62
- trmPackage?: TrmPackage;
63
- manifest?: Manifest;
64
- trmManifest?: TrmManifest;
65
- dependenciesToInstall?: TrmManifestDependency[];
66
- trmArtifact?: TrmArtifact;
67
- r3trans?: R3trans;
68
- devcTransport?: TransportBinary;
69
- tadirTransport?: TransportBinary;
70
- langTransport?: TransportBinary;
71
- custTransport?: TransportBinary;
72
- tdevcData?: TDEVC[];
73
- tdevctData?: TDEVCT[];
74
- tadirData?: TADIR[];
75
- workbenchObjects?: E071[];
76
- packageReplacements?: InstallPackageReplacements[];
77
- generatedDevclass?: DEVCLASS[];
78
- originalPackageHierarchy?: PackageHierarchy;
79
- trCopy?: string[];
80
- fetchedIntegrity?: string;
81
- wbTransport?: Transport;
57
+ registry: Registry;
58
+ update: boolean;
59
+ rollback: boolean;
60
+ remotePackageData: {
61
+ version: string;
62
+ trmPackage: TrmPackage;
63
+ artifact: TrmArtifact;
64
+ manifest: Manifest;
65
+ trmManifest: TrmManifest;
66
+ integrity: string;
67
+ };
68
+ packageTransports: {
69
+ devc: TransportRuntime;
70
+ tadir: TransportRuntime;
71
+ lang: TransportRuntime;
72
+ cust: TransportRuntime;
73
+ };
74
+ packageTransportsData: {
75
+ tdevc: TDEVC[];
76
+ tdevct: TDEVCT[];
77
+ tadir: TADIR[];
78
+ e071: E071[];
79
+ };
80
+ dependenciesToInstall: TrmManifestDependency[];
81
+ r3trans: R3trans;
82
+ originalData: {
83
+ hierarchy: PackageHierarchy;
84
+ };
85
+ installData: {
86
+ namespace: string;
87
+ entries: E071[];
88
+ transport?: Transport;
89
+ };
90
+ generatedData: {
91
+ devclass: DEVCLASS[];
92
+ namespace: NAMESPACE;
93
+ };
82
94
  };
83
95
  export type InstallActionOutput = {
84
96
  trmPackage: TrmPackage;
85
97
  registry: Registry;
86
- wbTransport?: Transport;
98
+ installTransport?: Transport;
87
99
  };
88
- export type InstallWorkflowContext = {
100
+ export interface InstallWorkflowContext extends IActionContext {
89
101
  rawInput: InstallActionInput;
90
- parsedInput: WorkflowParsedInput;
91
- runtime: WorkflowRuntime;
102
+ runtime?: WorkflowRuntime;
92
103
  output?: InstallActionOutput;
93
- };
104
+ }
94
105
  export declare function install(inputData: InstallActionInput): Promise<InstallActionOutput>;
95
106
  export {};
@@ -12,28 +12,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.install = void 0;
15
+ exports.install = install;
16
16
  const sammarksworkflow_1 = __importDefault(require("@simonegaffurini/sammarksworkflow"));
17
+ const util_1 = require("util");
17
18
  const logger_1 = require("../../logger");
18
19
  const init_1 = require("./init");
19
- const setSystemPackages_1 = require("./setSystemPackages");
20
+ const setSystemPackages_1 = require("../commons/setSystemPackages");
20
21
  const checkAlreadyInstalled_1 = require("./checkAlreadyInstalled");
22
+ const checkIntegrity_1 = require("./checkIntegrity");
21
23
  const checkSapEntries_1 = require("./checkSapEntries");
22
24
  const checkDependencies_1 = require("./checkDependencies");
23
- const checkIntegrity_1 = require("./checkIntegrity");
24
25
  const installDependencies_1 = require("./installDependencies");
25
- const checkTransports_1 = require("./checkTransports");
26
- const readDevcTransport_1 = require("./readDevcTransport");
27
26
  const setR3trans_1 = require("./setR3trans");
28
- const checkTadirContent_1 = require("./checkTadirContent");
29
- const checkTadirObjectTypes_1 = require("./checkTadirObjectTypes");
30
- const setDevclass_1 = require("./setDevclass");
27
+ const checkTransports_1 = require("./checkTransports");
28
+ const readDevc_1 = require("./readDevc");
29
+ const setInstallDevclass_1 = require("./setInstallDevclass");
30
+ const checkObjectTypes_1 = require("./checkObjectTypes");
31
31
  const generateDevclass_1 = require("./generateDevclass");
32
+ const readTadir_1 = require("./readTadir");
33
+ const importDevcTransport_1 = require("./importDevcTransport");
34
+ const addNamespace_1 = require("./addNamespace");
32
35
  const importTadirTransport_1 = require("./importTadirTransport");
33
36
  const importLangTransport_1 = require("./importLangTransport");
34
- const setPackageIntegrity_1 = require("./setPackageIntegrity");
35
- const generateWbTransport_1 = require("./generateWbTransport");
36
37
  const importCustTransport_1 = require("./importCustTransport");
38
+ const setPackageIntegrity_1 = require("./setPackageIntegrity");
39
+ const generateInstallTransport_1 = require("./generateInstallTransport");
40
+ ;
37
41
  const WORKFLOW_NAME = 'install';
38
42
  function install(inputData) {
39
43
  return __awaiter(this, void 0, void 0, function* () {
@@ -44,35 +48,34 @@ function install(inputData) {
44
48
  checkIntegrity_1.checkIntegrity,
45
49
  checkSapEntries_1.checkSapEntries,
46
50
  checkDependencies_1.checkDependencies,
47
- installDependencies_1.installDependencies,
48
51
  setR3trans_1.setR3trans,
52
+ installDependencies_1.installDependencies,
49
53
  checkTransports_1.checkTransports,
50
- readDevcTransport_1.readDevcTransport,
51
- setDevclass_1.setDevclass,
52
- checkTadirContent_1.checkTadirContent,
53
- checkTadirObjectTypes_1.checkTadirObjectTypes,
54
+ readDevc_1.readDevc,
55
+ readTadir_1.readTadir,
56
+ checkObjectTypes_1.checkObjectTypes,
57
+ setInstallDevclass_1.setInstallDevclass,
58
+ addNamespace_1.addNamespace,
54
59
  generateDevclass_1.generateDevclass,
60
+ importDevcTransport_1.importDevcTransport,
55
61
  importTadirTransport_1.importTadirTransport,
56
62
  importLangTransport_1.importLangTransport,
57
63
  importCustTransport_1.importCustTransport,
58
64
  setPackageIntegrity_1.setPackageIntegrity,
59
- generateWbTransport_1.generateWbTransport
65
+ generateInstallTransport_1.generateInstallTransport
60
66
  ];
61
- logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
67
+ logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, util_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
62
68
  const result = yield (0, sammarksworkflow_1.default)(WORKFLOW_NAME, workflow, {
63
- rawInput: inputData,
64
- parsedInput: {},
65
- runtime: {}
69
+ rawInput: inputData
66
70
  });
67
- logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
68
- const trmPackage = result.runtime.trmPackage;
71
+ logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, util_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
72
+ const trmPackage = result.runtime.remotePackageData.trmPackage;
69
73
  const registry = result.runtime.registry;
70
- const wbTransport = result.runtime.wbTransport;
74
+ const installTransport = result.runtime.installData.transport;
71
75
  return {
72
76
  trmPackage,
73
77
  registry,
74
- wbTransport
78
+ installTransport
75
79
  };
76
80
  });
77
81
  }
78
- exports.install = install;
@@ -14,68 +14,126 @@ const logger_1 = require("../../logger");
14
14
  const trmPackage_1 = require("../../trmPackage");
15
15
  const commons_1 = require("../../commons");
16
16
  const crypto_1 = require("crypto");
17
+ const systemConnector_1 = require("../../systemConnector");
17
18
  exports.init = {
18
19
  name: 'init',
19
20
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
20
- var packageName = context.rawInput.packageName;
21
- var packageVersion = context.rawInput.version || 'latest';
22
- const registry = context.rawInput.registry;
23
- packageName = (0, commons_1.parsePackageName)({
24
- fullName: packageName
21
+ logger_1.Logger.log('Init step', true);
22
+ const registry = context.rawInput.packageData.registry;
23
+ context.rawInput.packageData.name = (0, commons_1.parsePackageName)({
24
+ fullName: context.rawInput.packageData.name
25
25
  }).fullName;
26
- if (packageVersion.trim().toLowerCase() === 'latest') {
27
- packageVersion = 'latest';
26
+ if (!context.rawInput.packageData.version || context.rawInput.packageData.version.trim().toLowerCase() === 'latest') {
27
+ context.rawInput.packageData.version = 'latest';
28
28
  }
29
29
  logger_1.Logger.loading(`Searching TRM package in registry ${registry.name}...`);
30
- const trmPackage = new trmPackage_1.TrmPackage(packageName, registry);
31
- const oArtifact = yield trmPackage.fetchRemoteArtifact(packageVersion);
32
- const installIntegrity = (0, crypto_1.createHash)("sha512").update(oArtifact.binary).digest("hex");
33
- const oManifest = yield trmPackage.fetchRemoteManifest(packageVersion);
34
- const trmManifest = oManifest.get();
30
+ const trmPackage = new trmPackage_1.TrmPackage(context.rawInput.packageData.name, registry);
31
+ const artifact = yield trmPackage.fetchRemoteArtifact(context.rawInput.packageData.version);
32
+ const integrity = (0, crypto_1.createHash)("sha512").update(artifact.binary).digest("hex");
33
+ const manifest = yield trmPackage.fetchRemoteManifest(context.rawInput.packageData.version);
34
+ const trmManifest = manifest.get();
35
35
  var sVersion = trmManifest.version;
36
- if (packageVersion === 'latest') {
36
+ if (context.rawInput.packageData.version === 'latest') {
37
37
  sVersion = `latest -> ${trmManifest.version}`;
38
38
  }
39
- logger_1.Logger.info(`"${trmManifest.name}" version ${sVersion} found in registry ${registry.name}`);
40
- context.runtime.registry = registry;
41
- context.runtime.manifest = oManifest;
42
- context.runtime.trmManifest = trmManifest;
43
- context.runtime.trmPackage = trmPackage;
44
- context.runtime.trmArtifact = oArtifact;
45
- context.runtime.workbenchObjects = [];
46
- context.runtime.trCopy = [];
47
- context.runtime.fetchedIntegrity = installIntegrity;
48
- context.runtime.dependenciesToInstall = [];
49
- context.parsedInput.systemPackages = context.rawInput.systemPackages || [];
50
- context.parsedInput.packageName = packageName;
51
- context.parsedInput.version = trmManifest.version;
52
- context.parsedInput.safeInstall = context.rawInput.safeInstall ? true : false;
53
- context.parsedInput.noInquirer = context.rawInput.silent ? true : false;
54
- context.parsedInput.forceDevclassInput = context.rawInput.silent ? false : true;
55
- if (context.rawInput.force) {
56
- context.parsedInput.skipAlreadyInstalledCheck = true;
57
- context.parsedInput.checkSapEntries = false;
58
- context.parsedInput.checkObjectTypes = false;
59
- context.parsedInput.forceInstallSameVersion = true;
60
- context.parsedInput.overwriteInstall = true;
61
- context.parsedInput.checkDependencies = false;
39
+ logger_1.Logger.info(`Ready to install "${trmManifest.name}" version ${sVersion} from registry "${registry.name}".`);
40
+ context.runtime = {
41
+ registry,
42
+ update: undefined,
43
+ rollback: false,
44
+ remotePackageData: {
45
+ version: context.rawInput.packageData.version,
46
+ trmPackage,
47
+ trmManifest,
48
+ manifest,
49
+ artifact,
50
+ integrity
51
+ },
52
+ dependenciesToInstall: [],
53
+ r3trans: undefined,
54
+ packageTransports: {
55
+ devc: {
56
+ binaries: undefined,
57
+ instance: undefined
58
+ },
59
+ tadir: {
60
+ binaries: undefined,
61
+ instance: undefined
62
+ },
63
+ cust: {
64
+ binaries: undefined,
65
+ instance: undefined
66
+ },
67
+ lang: {
68
+ binaries: undefined,
69
+ instance: undefined
70
+ }
71
+ },
72
+ packageTransportsData: {
73
+ tdevc: [],
74
+ tdevct: [],
75
+ tadir: [],
76
+ e071: []
77
+ },
78
+ installData: {
79
+ transport: undefined,
80
+ namespace: undefined,
81
+ entries: []
82
+ },
83
+ originalData: {
84
+ hierarchy: undefined
85
+ },
86
+ generatedData: {
87
+ devclass: [],
88
+ namespace: undefined
89
+ }
90
+ };
91
+ if (context.rawInput.packageData.overwrite === undefined) {
92
+ context.rawInput.packageData.overwrite = false;
93
+ }
94
+ if (!context.rawInput.contextData) {
95
+ context.rawInput.contextData = {};
96
+ }
97
+ if (!context.rawInput.installData) {
98
+ context.rawInput.installData = {};
99
+ }
100
+ if (!context.rawInput.installData.checks) {
101
+ context.rawInput.installData.checks = {};
102
+ }
103
+ if (!context.rawInput.installData.import) {
104
+ context.rawInput.installData.import = {};
105
+ }
106
+ if (!context.rawInput.installData.installDevclass) {
107
+ context.rawInput.installData.installDevclass = {
108
+ replacements: []
109
+ };
110
+ }
111
+ if (!context.rawInput.installData.installTransport) {
112
+ context.rawInput.installData.installTransport = {
113
+ create: true
114
+ };
115
+ }
116
+ logger_1.Logger.loading(`Checking transport layer...`);
117
+ if (!context.rawInput.installData.installDevclass.transportLayer) {
118
+ try {
119
+ context.rawInput.installData.installDevclass.transportLayer = yield systemConnector_1.SystemConnector.getDefaultTransportLayer();
120
+ logger_1.Logger.log(`Setting transport layer to default: ${context.rawInput.installData.installDevclass.transportLayer}`, true);
121
+ }
122
+ catch (e) {
123
+ logger_1.Logger.error(e.toString(), true);
124
+ throw new Error(`Couldn't determine system's default transport layer.`);
125
+ }
62
126
  }
63
127
  else {
64
- context.parsedInput.skipAlreadyInstalledCheck = false;
65
- context.parsedInput.checkSapEntries = context.rawInput.skipSapEntriesCheck ? false : true;
66
- context.parsedInput.checkObjectTypes = context.rawInput.skipObjectTypesCheck ? false : true;
67
- context.parsedInput.forceInstallSameVersion = false;
68
- context.parsedInput.overwriteInstall = context.rawInput.allowReplace ? true : false;
69
- context.parsedInput.checkDependencies = context.rawInput.ignoreDependencies ? false : true;
128
+ if (!(yield systemConnector_1.SystemConnector.isTransportLayerExist(context.rawInput.installData.installDevclass.transportLayer))) {
129
+ throw new Error(`Transport layer "${context.rawInput.installData.installDevclass.transportLayer}" doesn't exist.`);
130
+ }
131
+ }
132
+ }),
133
+ revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
134
+ logger_1.Logger.log('Rollback init step', true);
135
+ if (context.runtime && context.runtime.rollback) {
136
+ logger_1.Logger.success(`Rollback executed.`);
70
137
  }
71
- context.parsedInput.keepOriginalPackages = context.rawInput.keepOriginalDevclass ? true : false;
72
- context.parsedInput.installMissingDependencies = context.rawInput.ignoreDependencies ? false : true;
73
- context.parsedInput.transportLayer = context.rawInput.transportLayer;
74
- context.parsedInput.wbTrTargetSystem = context.rawInput.wbTrTargetSystem;
75
- context.parsedInput.installIntegrity = context.rawInput.integrity;
76
- context.parsedInput.r3transOptions = context.rawInput.r3transOptions;
77
- context.parsedInput.importTimeout = context.rawInput.importTimeout || 180;
78
- context.parsedInput.skipWbTransportGen = context.rawInput.generateTransport ? false : true;
79
- context.parsedInput.packageReplacements = context.rawInput.packageReplacements || [];
80
138
  })
81
139
  };