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
@@ -10,31 +10,67 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.init = void 0;
13
+ const logger_1 = require("../../logger");
13
14
  const commons_1 = require("../../commons");
14
15
  const semver_1 = require("semver");
16
+ const inquirer_1 = require("../../inquirer");
15
17
  exports.init = {
16
18
  name: 'init',
17
19
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- var packageName = context.rawInput.packageName;
19
- var versionRange = context.rawInput.versionRange;
20
- const registry = context.rawInput.registry;
21
- packageName = (0, commons_1.parsePackageName)({
22
- fullName: packageName
20
+ logger_1.Logger.log('Init step', true);
21
+ context.rawInput.dependencyDataPackage.name = (0, commons_1.parsePackageName)({
22
+ fullName: context.rawInput.dependencyDataPackage.name
23
23
  }).fullName;
24
- versionRange = (0, semver_1.validRange)(versionRange);
25
- if (!versionRange) {
26
- throw new Error(`Dependency "${packageName}", invalid version range.`);
27
- }
28
- context.parsedInput.packageName = packageName;
29
- context.parsedInput.versionRange = versionRange;
30
- context.parsedInput.forceInstall = context.rawInput.forceInstall ? true : false;
31
- context.parsedInput.integrity = context.rawInput.integrity;
32
- context.parsedInput.installOptions = context.rawInput.installOptions || {
33
- packageName,
34
- registry
24
+ context.rawInput.dependencyDataPackage.versionRange = (0, semver_1.validRange)(context.rawInput.dependencyDataPackage.versionRange);
25
+ if (!context.rawInput.dependencyDataPackage.versionRange) {
26
+ throw new Error(`Dependency "${context.rawInput.dependencyDataPackage.name}", invalid version range.`);
27
+ }
28
+ context.runtime = {
29
+ rollback: false,
30
+ installOutput: undefined,
31
+ installVersion: undefined
35
32
  };
36
- context.parsedInput.systemPackages = context.rawInput.systemPackages || [];
37
- context.runtime.registry = registry;
38
- context.output = {};
33
+ if (!context.rawInput.contextData) {
34
+ context.rawInput.contextData = {};
35
+ }
36
+ if (!context.rawInput.installData) {
37
+ context.rawInput.installData = {};
38
+ }
39
+ if (!context.rawInput.installData.import) {
40
+ context.rawInput.installData.import = {};
41
+ }
42
+ if (!context.rawInput.installData.installDevclass) {
43
+ context.rawInput.installData.installDevclass = {};
44
+ }
45
+ if (context.rawInput.contextData.noInquirer) {
46
+ logger_1.Logger.info(`Dependency "${context.rawInput.dependencyDataPackage.name}" will be installed with default options.`);
47
+ }
48
+ else {
49
+ const inq = yield inquirer_1.Inquirer.prompt([{
50
+ name: 'noLang',
51
+ message: `Dependency "${context.rawInput.dependencyDataPackage.name}": Import language transport (if exists)?`,
52
+ type: 'confirm',
53
+ default: !context.rawInput.installData.import.noLang
54
+ }, {
55
+ name: 'noCust',
56
+ message: `Dependency "${context.rawInput.dependencyDataPackage.name}": Import customizing transport (if exists)?`,
57
+ type: 'confirm',
58
+ default: !context.rawInput.installData.import.noCust
59
+ }, {
60
+ name: 'keepOriginal',
61
+ message: `Dependency "${context.rawInput.dependencyDataPackage.name}": Keep original ABAP package(s)?`,
62
+ type: 'confirm',
63
+ default: context.rawInput.installData.installDevclass.keepOriginal ? true : false
64
+ }]);
65
+ context.rawInput.installData.import.noLang = inq.noLang;
66
+ context.rawInput.installData.import.noCust = inq.noCust;
67
+ context.rawInput.installData.installDevclass.keepOriginal = inq.keepOriginal;
68
+ }
69
+ }),
70
+ revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
71
+ logger_1.Logger.log('Rollback init step', true);
72
+ if (context.runtime && context.runtime.rollback) {
73
+ logger_1.Logger.success(`Rollback executed.`);
74
+ }
39
75
  })
40
76
  };
@@ -11,32 +11,29 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.installRelease = void 0;
13
13
  const logger_1 = require("../../logger");
14
- const install_1 = require("../install");
15
- const SUBWORKFLOW_NAME = 'install-dependency-sub-install';
14
+ const __1 = require("..");
15
+ const SUBWORKFLOW_NAME = 'install-sub-install-dependency';
16
16
  exports.installRelease = {
17
17
  name: 'install-release',
18
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
- if (context.runtime.skipInstall) {
20
- logger_1.Logger.log(`Skipping install release (skipInstall)`, true);
21
- return false;
22
- }
23
- else {
24
- return true;
25
- }
26
- }),
27
18
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
28
- const packageName = context.parsedInput.packageName;
29
- const version = context.output.version;
30
- const registry = context.runtime.registry;
31
- const integrity = context.parsedInput.integrity;
32
- const installOptions = context.parsedInput.installOptions;
33
- const inputData = Object.assign(Object.assign({}, installOptions), { packageName,
34
- version,
35
- integrity,
36
- registry });
19
+ logger_1.Logger.log('Install release step', true);
20
+ if (!context.runtime.installVersion) {
21
+ throw new Error(`Couldn't find dependency "${context.rawInput.dependencyDataPackage.name}" on registry. Try manual install.`);
22
+ }
23
+ const inputData = {
24
+ packageData: {
25
+ name: context.rawInput.dependencyDataPackage.name,
26
+ registry: context.rawInput.dependencyDataPackage.registry,
27
+ integrity: context.rawInput.dependencyDataPackage.integrity,
28
+ version: context.runtime.installVersion,
29
+ overwrite: false
30
+ },
31
+ contextData: context.rawInput.contextData,
32
+ installData: context.rawInput.installData
33
+ };
37
34
  logger_1.Logger.log(`Ready to execute sub-workflow ${SUBWORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
38
- const result = yield (0, install_1.install)(inputData);
35
+ const result = yield (0, __1.install)(inputData);
39
36
  logger_1.Logger.log(`Workflow ${SUBWORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
40
- context.output.installOutput = result;
37
+ context.runtime.installOutput = result;
41
38
  })
42
39
  };
@@ -17,35 +17,22 @@ const registry_1 = require("../../registry");
17
17
  exports.finalizePublish = {
18
18
  name: 'finalize-publish',
19
19
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
20
- logger_1.Logger.loading(`Finalizing...`);
20
+ logger_1.Logger.log('Finalize publish step', true);
21
21
  try {
22
- yield systemConnector_1.SystemConnector.addSrcTrkorr(context.runtime.tadirTransport.trkorr);
23
- logger_1.Logger.log(`TADIR added to src trkorr table, setting try revert to true as reverting is possible`, true);
24
- context.runtime.tryTadirDeleteRevert = true;
22
+ logger_1.Logger.loading(`Finalizing...`);
23
+ yield systemConnector_1.SystemConnector.addSrcTrkorr(context.runtime.systemData.tadirTransport.trkorr);
25
24
  logger_1.Logger.log(`Generating SHA512`, true);
26
- const integrity = (0, crypto_1.createHash)("sha512").update(context.runtime.artifact.binary).digest("hex");
25
+ const integrity = (0, crypto_1.createHash)("sha512").update(context.runtime.trmPackage.artifact.binary).digest("hex");
27
26
  logger_1.Logger.log(`SHA512: ${integrity}`, true);
28
- logger_1.Logger.log(`Setting package integrity`, true);
29
27
  yield systemConnector_1.SystemConnector.setPackageIntegrity({
30
- package_name: context.parsedInput.packageName,
31
- package_registry: context.runtime.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? registry_1.PUBLIC_RESERVED_KEYWORD : context.runtime.registry.endpoint,
28
+ package_name: context.rawInput.packageData.name,
29
+ package_registry: context.rawInput.packageData.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? registry_1.PUBLIC_RESERVED_KEYWORD : context.rawInput.packageData.registry.endpoint,
32
30
  integrity
33
31
  });
34
- context.output = {
35
- trmPackage: context.runtime.trmPackage
36
- };
37
32
  }
38
33
  catch (e) {
34
+ logger_1.Logger.error(`An error occurred during publish finalize. The package has been published, however TRM on ${systemConnector_1.SystemConnector.getDest()} migh be inconsistent.`);
39
35
  logger_1.Logger.error(e.toString(), true);
40
- logger_1.Logger.error(`An error occurred during publish finalize. The package has been published, however TRM is inconsistent.`);
41
- }
42
- if (process.env.TRM_ENV === 'DEV') {
43
- throw new Error(`Running in development, rolling back publish`);
44
- }
45
- }),
46
- revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
47
- if (context.output) {
48
- delete context.output.trmPackage;
49
36
  }
50
37
  })
51
38
  };
@@ -11,40 +11,155 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.findDependencies = void 0;
13
13
  const logger_1 = require("../../logger");
14
- const findDependencies_1 = require("../findDependencies");
14
+ const __1 = require("..");
15
+ const registry_1 = require("../../registry");
16
+ const inquirer_1 = require("../../inquirer");
15
17
  const SUBWORKFLOW_NAME = 'find-dependencies-sub-publish';
16
18
  exports.findDependencies = {
17
19
  name: 'find-dependencies',
18
20
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
- if (context.parsedInput.skipDependencies) {
20
- logger_1.Logger.info(`Skipping dependencies.`);
21
- logger_1.Logger.warning(`Skipping dependencies can cause your package to fail activation. Make sure to manually edit the dependencies if necessary.`);
21
+ if (context.rawInput.publishData.noDependenciesDetection) {
22
+ logger_1.Logger.log(`Skipping automatic dependencies detection (user input)`, true);
23
+ logger_1.Logger.warning(`Skipping automatic dependency detection can cause your package to fail activation during install. Make sure to manually edit the dependencies later if necessary.`);
22
24
  return false;
23
25
  }
24
26
  else {
25
- if (context.runtime.tadirObjects.length > 0) {
26
- return true;
27
- }
28
- else {
29
- logger_1.Logger.log(`Skipping dependencies search beacuse no objects were found`, true);
30
- return false;
31
- }
27
+ return true;
32
28
  }
33
29
  }),
34
30
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
31
+ logger_1.Logger.log('Find dependencies step', true);
32
+ logger_1.Logger.loading(`Searching for dependencies in package "${context.rawInput.packageData.devclass}"...`);
35
33
  const inputData = {
36
- devclass: context.parsedInput.devclass,
37
- tadir: context.runtime.tadirObjects,
38
- silent: context.parsedInput.silent || !context.parsedInput.skipDependencies
34
+ packageData: {
35
+ package: context.rawInput.packageData.devclass,
36
+ objects: context.runtime.packageData.tadir
37
+ },
38
+ contextData: {
39
+ noInquirer: context.rawInput.contextData.noInquirer
40
+ },
41
+ printOptions: {
42
+ sapObjectDependencies: false,
43
+ trmDependencies: false
44
+ }
39
45
  };
40
- logger_1.Logger.log(`Ready to execute sub-workflow ${SUBWORKFLOW_NAME}, input data: ${JSON.stringify(inputData)}`, true);
41
- logger_1.Logger.loading(`Searching package dependencies...`);
42
- const result = yield (0, findDependencies_1.findDependencies)(inputData);
43
- logger_1.Logger.log(`Workflow ${SUBWORKFLOW_NAME} result: ${JSON.stringify(result)}`, true);
44
- const aUnknownDependencyDevclass = (result.unknownDependencies).map(o => o.devclass);
46
+ logger_1.Logger.log(`Ready to execute sub-workflow ${SUBWORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
47
+ const result = yield (0, __1.findDependencies)(inputData);
48
+ logger_1.Logger.log(`Workflow ${SUBWORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
49
+ const aUnknownDependencyDevclass = (result.trmPackageDependencies.withoutTrmPackage).map(o => o.devclass);
45
50
  if (aUnknownDependencyDevclass.length > 0) {
46
- throw new Error(`Dependencies found with packages ${aUnknownDependencyDevclass.join(', ')}: Unknown TRM package!`);
51
+ logger_1.Logger.error(`Package "${context.rawInput.packageData.devclass}" has ${aUnknownDependencyDevclass.length} missing ${aUnknownDependencyDevclass.length === 1 ? 'dependency' : 'dependencies'}:`);
52
+ aUnknownDependencyDevclass.forEach((d, i) => {
53
+ logger_1.Logger.error(` (${i + 1}/{${aUnknownDependencyDevclass.length}) ${d}`);
54
+ });
55
+ throw new Error(`Resolve missing dependencies by publishing them as TRM packages.`);
56
+ }
57
+ logger_1.Logger.info(`Package "${context.rawInput.packageData.devclass}" has ${result.trmPackageDependencies.withTrmPackage.length} TRM package ${result.trmPackageDependencies.withTrmPackage.length === 1 ? 'dependency' : 'dependencies'} and ${result.objectDependencies.sapObjects.length} required SAP ${result.objectDependencies.sapObjects.length === 1 ? 'object' : 'objects'}.`);
58
+ logger_1.Logger.log(`Adding TRM package dependencies to manifest`, true);
59
+ logger_1.Logger.loading(`Updating manifest...`);
60
+ result.trmPackageDependencies.withTrmPackage.forEach((o, i) => {
61
+ if (o.package.manifest) {
62
+ const dependencyManifest = o.package.manifest.get();
63
+ const dependencyVersionRange = `^${dependencyManifest.version}`;
64
+ const dependencyRegistry = o.package.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? undefined : o.package.registry.endpoint;
65
+ if (!o.integrity) {
66
+ throw new Error(` (${i + 1}/{${result.trmPackageDependencies.withTrmPackage}) ${dependencyManifest.name}: Integrity not found!`);
67
+ }
68
+ logger_1.Logger.info(` (${i + 1}/{${result.trmPackageDependencies.withTrmPackage}) ${dependencyManifest.name} ${dependencyVersionRange}`);
69
+ context.runtime.trmPackage.manifest.dependencies.push({
70
+ name: dependencyManifest.name,
71
+ version: dependencyVersionRange,
72
+ integrity: o.integrity,
73
+ registry: dependencyRegistry
74
+ });
75
+ }
76
+ else {
77
+ logger_1.Logger.error(` (${i + 1}/{${result.trmPackageDependencies.withTrmPackage}) Cannot find manifest of dependency in ABAP package "${o.devclass}"`);
78
+ }
79
+ });
80
+ if (!context.rawInput.contextData.noInquirer) {
81
+ const inq = yield inquirer_1.Inquirer.prompt([{
82
+ message: `Do you want to manually edit dependencies?`,
83
+ type: 'confirm',
84
+ name: 'editDependencies',
85
+ default: false
86
+ }, {
87
+ message: 'Editor dependencies',
88
+ type: 'editor',
89
+ name: 'dependencies',
90
+ postfix: '.json',
91
+ when: (hash) => {
92
+ return hash.editDependencies;
93
+ },
94
+ default: JSON.stringify(context.runtime.trmPackage.manifest.dependencies, null, 2),
95
+ validate: (input) => {
96
+ try {
97
+ const parsedInput = JSON.parse(input);
98
+ if (Array.isArray(parsedInput)) {
99
+ return true;
100
+ }
101
+ else {
102
+ return 'Invalid array';
103
+ }
104
+ }
105
+ catch (e) {
106
+ return 'Invalid JSON';
107
+ }
108
+ }
109
+ }]);
110
+ if (inq.dependencies) {
111
+ logger_1.Logger.log(`Dependencies were manually changed: before -> ${JSON.stringify(context.runtime.trmPackage.manifest.dependencies)}, after -> ${JSON.parse(inq.dependencies)}`, true);
112
+ context.runtime.trmPackage.manifest.dependencies = JSON.parse(inq.dependencies);
113
+ }
114
+ }
115
+ logger_1.Logger.log(`Adding SAP objects dependencies to manifest`, true);
116
+ logger_1.Logger.loading(`Updating manifest...`);
117
+ result.objectDependencies.sapObjects.forEach(o => {
118
+ if (!context.runtime.trmPackage.manifest.sapEntries[o.table]) {
119
+ context.runtime.trmPackage.manifest.sapEntries[o.table] = [];
120
+ }
121
+ o.dependencies.forEach(k => {
122
+ var tableKeys = k.object;
123
+ if (o.table === 'TADIR') {
124
+ delete tableKeys['DEVCLASS'];
125
+ }
126
+ context.runtime.trmPackage.manifest.sapEntries[o.table].push(tableKeys);
127
+ });
128
+ });
129
+ if (!context.rawInput.contextData.noInquirer) {
130
+ const inq = yield inquirer_1.Inquirer.prompt([{
131
+ message: `Do you want to manually required SAP objects?`,
132
+ type: 'confirm',
133
+ name: 'editSapEntries',
134
+ default: false
135
+ }, {
136
+ message: 'Edit SAP entries',
137
+ type: 'editor',
138
+ name: 'sapEntries',
139
+ postfix: '.json',
140
+ when: (hash) => {
141
+ return hash.editSapEntries;
142
+ },
143
+ default: JSON.stringify(context.runtime.trmPackage.manifest.sapEntries, null, 2),
144
+ validate: (input) => {
145
+ try {
146
+ const parsedInput = JSON.parse(input);
147
+ if (typeof (parsedInput) === 'object' && !Array.isArray(parsedInput)) {
148
+ return true;
149
+ }
150
+ else {
151
+ return 'Invalid object';
152
+ }
153
+ }
154
+ catch (e) {
155
+ return 'Invalid JSON';
156
+ }
157
+ }
158
+ }]);
159
+ if (inq.sapEntries) {
160
+ logger_1.Logger.log(`SAP entries were manually changed: before -> ${JSON.stringify(context.runtime.trmPackage.manifest.sapEntries)}, after -> ${JSON.parse(inq.sapEntries)}`, true);
161
+ context.runtime.trmPackage.manifest.sapEntries = JSON.parse(inq.sapEntries);
162
+ }
47
163
  }
48
- context.runtime.dependencies = result;
49
164
  })
50
165
  };
@@ -15,7 +15,7 @@ const logger_1 = require("../../logger");
15
15
  exports.generateCustTr = {
16
16
  name: 'generate-cust-tr',
17
17
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- if (context.runtime.inputCustTransports.length > 0) {
18
+ if (!context.parsedInput.skipCust && context.runtime.inputCustTransports.length > 0) {
19
19
  return true;
20
20
  }
21
21
  else {
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { PublishWorkflowContext } from ".";
3
- export declare const checkPackageExistance: Step<PublishWorkflowContext>;
3
+ export declare const generateCustTransport: Step<PublishWorkflowContext>;
@@ -0,0 +1,63 @@
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.generateCustTransport = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const transport_1 = require("../../transport");
15
+ exports.generateCustTransport = {
16
+ name: 'generate-cust-transport',
17
+ filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
+ if (context.rawInput.publishData.customizingTransports.length > 0) {
19
+ return true;
20
+ }
21
+ else {
22
+ logger_1.Logger.log(`Skipping CUST transport generation (no customizing transports)`, true);
23
+ return false;
24
+ }
25
+ }),
26
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
27
+ logger_1.Logger.log('Generate CUST transport step', true);
28
+ logger_1.Logger.loading(`Generating transports...`);
29
+ logger_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
+ logger_1.Logger.info(`Customizing transport has no content, deleting.`, true);
41
+ yield context.runtime.systemData.custTransport.delete();
42
+ context.runtime.systemData.custTransport = undefined;
43
+ }
44
+ }),
45
+ revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
46
+ logger_1.Logger.log('Rollback generate CUST transport step', true);
47
+ if (context.runtime.systemData.custTransport) {
48
+ try {
49
+ if (yield context.runtime.systemData.custTransport.canBeDeleted()) {
50
+ yield context.runtime.systemData.custTransport.delete();
51
+ logger_1.Logger.success(`Executed rollback on transport ${context.runtime.systemData.custTransport.trkorr}`, true);
52
+ }
53
+ else {
54
+ throw new Error(`Transport ${context.runtime.systemData.custTransport.trkorr} cannot be deleted (released?)`);
55
+ }
56
+ }
57
+ catch (e) {
58
+ logger_1.Logger.error(`Unable to rollback transport ${context.runtime.systemData.custTransport.trkorr}!`);
59
+ logger_1.Logger.error(e.toString(), true);
60
+ }
61
+ }
62
+ })
63
+ };
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { PublishWorkflowContext } from ".";
3
- export declare const editTrmDependencies: Step<PublishWorkflowContext>;
3
+ export declare const generateDevcTransport: Step<PublishWorkflowContext>;
@@ -0,0 +1,48 @@
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.generateDevcTransport = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const transport_1 = require("../../transport");
15
+ exports.generateDevcTransport = {
16
+ name: 'generate-devc-transport',
17
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
+ logger_1.Logger.log('Generate DEVC transport step', true);
19
+ context.runtime.rollback = true;
20
+ logger_1.Logger.loading(`Generating transports...`);
21
+ logger_1.Logger.loading(`Generating DEVC transport...`, true);
22
+ const aDevc = context.runtime.packageData.tadir.filter(o => o.pgmid === 'R3TR' && o.object === 'DEVC');
23
+ context.runtime.systemData.devcTransport = yield transport_1.Transport.createToc({
24
+ trmIdentifier: transport_1.TrmTransportIdentifier.DEVC,
25
+ target: context.rawInput.systemData.transportTarget,
26
+ text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (D)`
27
+ });
28
+ yield context.runtime.systemData.devcTransport.addObjects(aDevc, false);
29
+ }),
30
+ revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
31
+ logger_1.Logger.log('Rollback generate DEVC transport step', true);
32
+ if (context.runtime.systemData.devcTransport) {
33
+ try {
34
+ if (yield context.runtime.systemData.devcTransport.canBeDeleted()) {
35
+ yield context.runtime.systemData.devcTransport.delete();
36
+ logger_1.Logger.success(`Executed rollback on transport ${context.runtime.systemData.devcTransport.trkorr}`, true);
37
+ }
38
+ else {
39
+ throw new Error(`Transport ${context.runtime.systemData.devcTransport.trkorr} cannot be deleted (released?)`);
40
+ }
41
+ }
42
+ catch (e) {
43
+ logger_1.Logger.error(`Unable to rollback transport ${context.runtime.systemData.devcTransport.trkorr}!`);
44
+ logger_1.Logger.error(e.toString(), true);
45
+ }
46
+ }
47
+ })
48
+ };
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { PublishWorkflowContext } from ".";
3
- export declare const editSapEntries: Step<PublishWorkflowContext>;
3
+ export declare const generateLangTransport: Step<PublishWorkflowContext>;
@@ -0,0 +1,71 @@
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.generateLangTransport = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const transport_1 = require("../../transport");
15
+ exports.generateLangTransport = {
16
+ name: 'generate-lang-transport',
17
+ filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
+ if (context.rawInput.publishData.noLanguageTransport) {
19
+ logger_1.Logger.log(`Skipping LANG transport generation (user input)`, true);
20
+ return false;
21
+ }
22
+ else {
23
+ return true;
24
+ }
25
+ }),
26
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
27
+ logger_1.Logger.log('Generate LANG transport step', true);
28
+ logger_1.Logger.loading(`Generating transports...`);
29
+ logger_1.Logger.loading(`Generating LANG transport...`, true);
30
+ const aTadir = context.runtime.packageData.tadir.filter(o => !(o.pgmid === 'R3TR' && o.object === 'DEVC'));
31
+ context.runtime.systemData.langTransport = yield transport_1.Transport.createToc({
32
+ trmIdentifier: transport_1.TrmTransportIdentifier.LANG,
33
+ target: context.rawInput.systemData.transportTarget,
34
+ text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (L)`
35
+ });
36
+ var iLanguageObjects = 0;
37
+ try {
38
+ yield context.runtime.systemData.langTransport.addTranslations(aTadir.map(o => o.objName));
39
+ iLanguageObjects = (yield context.runtime.systemData.langTransport.getE071()).length;
40
+ }
41
+ catch (e) {
42
+ logger_1.Logger.warning(`Language transport generation error!`);
43
+ logger_1.Logger.error(e, true);
44
+ }
45
+ finally {
46
+ if (iLanguageObjects === 0) {
47
+ logger_1.Logger.info(`Language transport has no content, deleting.`, true);
48
+ yield context.runtime.systemData.langTransport.delete();
49
+ context.runtime.systemData.langTransport = undefined;
50
+ }
51
+ }
52
+ }),
53
+ revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
54
+ logger_1.Logger.log('Rollback generate LANG transport step', true);
55
+ if (context.runtime.systemData.langTransport) {
56
+ try {
57
+ if (yield context.runtime.systemData.langTransport.canBeDeleted()) {
58
+ yield context.runtime.systemData.langTransport.delete();
59
+ logger_1.Logger.success(`Executed rollback on transport ${context.runtime.systemData.langTransport.trkorr}`, true);
60
+ }
61
+ else {
62
+ throw new Error(`Transport ${context.runtime.systemData.langTransport.trkorr} cannot be deleted (released?)`);
63
+ }
64
+ }
65
+ catch (e) {
66
+ logger_1.Logger.error(`Unable to rollback transport ${context.runtime.systemData.langTransport.trkorr}!`);
67
+ logger_1.Logger.error(e.toString(), true);
68
+ }
69
+ }
70
+ })
71
+ };
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { PublishWorkflowContext } from ".";
3
- export declare const setBackwardsCompatible: Step<PublishWorkflowContext>;
3
+ export declare const generateTadirTransport: Step<PublishWorkflowContext>;
@@ -0,0 +1,53 @@
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.generateTadirTransport = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const transport_1 = require("../../transport");
15
+ const manifest_1 = require("../../manifest");
16
+ const systemConnector_1 = require("../../systemConnector");
17
+ exports.generateTadirTransport = {
18
+ name: 'generate-tadir-transport',
19
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
20
+ logger_1.Logger.log('Generate TADIR transport step', true);
21
+ logger_1.Logger.loading(`Generating transports...`);
22
+ logger_1.Logger.loading(`Generating TADIR transport...`, true);
23
+ const aTadir = context.runtime.packageData.tadir.filter(o => !(o.pgmid === 'R3TR' && o.object === 'DEVC'));
24
+ const sManifestXml = new manifest_1.Manifest(context.runtime.trmPackage.manifest).getAbapXml();
25
+ context.runtime.systemData.tadirTransport = yield transport_1.Transport.createToc({
26
+ trmIdentifier: transport_1.TrmTransportIdentifier.TADIR,
27
+ target: context.rawInput.systemData.transportTarget,
28
+ text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version}`
29
+ });
30
+ yield context.runtime.systemData.tadirTransport.addComment(`name=${context.rawInput.packageData.name}`);
31
+ yield context.runtime.systemData.tadirTransport.addComment(`version=${context.rawInput.packageData.version}`);
32
+ yield context.runtime.systemData.tadirTransport.setDocumentation(sManifestXml);
33
+ yield context.runtime.systemData.tadirTransport.addObjects(aTadir, false);
34
+ }),
35
+ revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
36
+ logger_1.Logger.log('Rollback generate TADIR transport step', true);
37
+ if (context.runtime.systemData.tadirTransport) {
38
+ try {
39
+ if (yield context.runtime.systemData.tadirTransport.canBeDeleted()) {
40
+ yield context.runtime.systemData.tadirTransport.delete();
41
+ logger_1.Logger.success(`Executed rollback on transport ${context.runtime.systemData.tadirTransport.trkorr}`, true);
42
+ }
43
+ else {
44
+ yield systemConnector_1.SystemConnector.addSkipTrkorr(context.runtime.systemData.tadirTransport.trkorr);
45
+ }
46
+ }
47
+ catch (e) {
48
+ logger_1.Logger.error(`Unable to rollback transport ${context.runtime.systemData.tadirTransport.trkorr}!`);
49
+ logger_1.Logger.error(e.toString(), true);
50
+ }
51
+ }
52
+ })
53
+ };