trm-core 9.10.6 → 10.0.1

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 (384) hide show
  1. package/README.md +20 -0
  2. package/changelog.txt +11 -0
  3. package/dist/actions/cg3y/download.js +34 -4
  4. package/dist/actions/cg3y/index.d.ts +23 -0
  5. package/dist/actions/cg3y/index.js +13 -10
  6. package/dist/actions/cg3z/index.d.ts +67 -3
  7. package/dist/actions/cg3z/index.js +25 -14
  8. package/dist/actions/cg3z/upload.d.ts +20 -0
  9. package/dist/actions/cg3z/upload.js +165 -36
  10. package/dist/actions/checkEngines/analyze.d.ts +11 -0
  11. package/dist/actions/checkEngines/analyze.js +294 -0
  12. package/dist/actions/checkEngines/index.d.ts +87 -0
  13. package/dist/actions/checkEngines/index.js +38 -0
  14. package/dist/actions/checkEngines/init.d.ts +11 -0
  15. package/dist/actions/checkEngines/init.js +45 -0
  16. package/dist/actions/checkPackageDependencies/analyze.d.ts +10 -0
  17. package/dist/actions/checkPackageDependencies/analyze.js +37 -39
  18. package/dist/actions/checkPackageDependencies/index.d.ts +56 -0
  19. package/dist/actions/checkPackageDependencies/index.js +13 -10
  20. package/dist/actions/checkPackageDependencies/init.d.ts +8 -0
  21. package/dist/actions/checkPackageDependencies/init.js +24 -2
  22. package/dist/actions/checkSapEntries/analyze.d.ts +12 -0
  23. package/dist/actions/checkSapEntries/analyze.js +63 -47
  24. package/dist/actions/checkSapEntries/index.d.ts +35 -0
  25. package/dist/actions/checkSapEntries/index.js +12 -10
  26. package/dist/actions/checkSapEntries/init.d.ts +8 -0
  27. package/dist/actions/checkSapEntries/init.js +10 -2
  28. package/dist/actions/commons/IActionContext.d.ts +10 -0
  29. package/dist/actions/commons/checkServerAuth.d.ts +7 -0
  30. package/dist/actions/commons/checkServerAuth.js +10 -5
  31. package/dist/actions/commons/index.d.ts +1 -1
  32. package/dist/actions/commons/index.js +1 -1
  33. package/dist/actions/commons/prompts/index.d.ts +1 -0
  34. package/dist/actions/commons/prompts/index.js +1 -0
  35. package/dist/actions/commons/prompts/setLandscapeTarget.d.ts +14 -0
  36. package/dist/actions/commons/prompts/setLandscapeTarget.js +40 -0
  37. package/dist/actions/commons/prompts/setTransportTarget.d.ts +15 -0
  38. package/dist/actions/commons/prompts/setTransportTarget.js +20 -2
  39. package/dist/actions/commons/setSystemPackages.d.ts +7 -0
  40. package/dist/actions/commons/setSystemPackages.js +12 -2
  41. package/dist/actions/commons/utils/actionLocks.d.ts +32 -0
  42. package/dist/actions/commons/utils/actionLocks.js +135 -0
  43. package/dist/actions/commons/utils/dirtyEntries.d.ts +12 -0
  44. package/dist/actions/commons/utils/dirtyEntries.js +54 -0
  45. package/dist/actions/commons/utils/index.d.ts +10 -0
  46. package/dist/actions/commons/utils/index.js +26 -0
  47. package/dist/actions/commons/utils/installRegistry.d.ts +18 -0
  48. package/dist/actions/commons/utils/installRegistry.js +46 -0
  49. package/dist/actions/commons/utils/installedDependency.d.ts +15 -0
  50. package/dist/actions/commons/utils/installedDependency.js +30 -0
  51. package/dist/actions/commons/utils/owningInstallation.d.ts +6 -0
  52. package/dist/actions/commons/utils/owningInstallation.js +47 -0
  53. package/dist/actions/commons/utils/packageCleanup.d.ts +168 -0
  54. package/dist/actions/commons/utils/packageCleanup.js +1017 -0
  55. package/dist/actions/commons/utils/releaseDeletionTransport.d.ts +5 -0
  56. package/dist/actions/commons/utils/releaseDeletionTransport.js +67 -0
  57. package/dist/actions/commons/utils/restoreTransport.d.ts +6 -0
  58. package/dist/actions/commons/utils/restoreTransport.js +50 -0
  59. package/dist/actions/commons/utils/retainedWorkflow.d.ts +6 -0
  60. package/dist/actions/commons/utils/retainedWorkflow.js +49 -0
  61. package/dist/actions/commons/utils/withScopedPrefix.d.ts +5 -0
  62. package/dist/actions/commons/utils/withScopedPrefix.js +32 -0
  63. package/dist/actions/commons/workflowCallbacks.d.ts +21 -0
  64. package/dist/actions/commons/workflowCallbacks.js +157 -0
  65. package/dist/actions/index.d.ts +3 -0
  66. package/dist/actions/index.js +5 -0
  67. package/dist/actions/install/addNamespace.d.ts +18 -0
  68. package/dist/actions/install/addNamespace.js +121 -51
  69. package/dist/actions/install/checkDependants.d.ts +15 -0
  70. package/dist/actions/install/checkDependants.js +74 -0
  71. package/dist/actions/install/checkDependencies.d.ts +11 -0
  72. package/dist/actions/install/checkDependencies.js +32 -13
  73. package/dist/actions/install/checkDependencyCycles.d.ts +17 -0
  74. package/dist/actions/install/checkDependencyCycles.js +105 -0
  75. package/dist/actions/install/checkEngines.d.ts +11 -0
  76. package/dist/actions/install/checkEngines.js +100 -0
  77. package/dist/actions/install/checkInstallDevclass.d.ts +24 -0
  78. package/dist/actions/install/checkInstallDevclass.js +110 -0
  79. package/dist/actions/install/checkSapEntries.d.ts +9 -0
  80. package/dist/actions/install/checkSapEntries.js +20 -12
  81. package/dist/actions/install/checkTransports.d.ts +34 -0
  82. package/dist/actions/install/checkTransports.js +329 -170
  83. package/dist/actions/install/cleanupCheckpoint.d.ts +11 -0
  84. package/dist/actions/install/cleanupCheckpoint.js +62 -0
  85. package/dist/actions/install/defaultTransportLayer.d.ts +5 -0
  86. package/dist/actions/install/defaultTransportLayer.js +36 -0
  87. package/dist/actions/install/executePostActivities.d.ts +6 -0
  88. package/dist/actions/install/executePostActivities.js +28 -38
  89. package/dist/actions/install/generateDevclass.d.ts +10 -0
  90. package/dist/actions/install/generateDevclass.js +66 -20
  91. package/dist/actions/install/generateLandscapeTransport.d.ts +23 -0
  92. package/dist/actions/install/generateLandscapeTransport.js +136 -0
  93. package/dist/actions/install/generateUpdateTransport.d.ts +20 -0
  94. package/dist/actions/install/generateUpdateTransport.js +122 -0
  95. package/dist/actions/install/importBatch.d.ts +22 -0
  96. package/dist/actions/install/importBatch.js +0 -0
  97. package/dist/actions/install/index.d.ts +273 -44
  98. package/dist/actions/install/index.js +139 -59
  99. package/dist/actions/install/init.d.ts +14 -0
  100. package/dist/actions/install/init.js +215 -108
  101. package/dist/actions/install/installDependencies.d.ts +14 -0
  102. package/dist/actions/install/installDependencies.js +122 -45
  103. package/dist/actions/install/lockResources.d.ts +8 -0
  104. package/dist/actions/install/lockResources.js +100 -0
  105. package/dist/actions/install/prepareCust.d.ts +13 -0
  106. package/dist/actions/install/prepareCust.js +138 -0
  107. package/dist/actions/install/prepareDevc.d.ts +15 -0
  108. package/dist/actions/install/prepareDevc.js +113 -0
  109. package/dist/actions/install/prepareLang.d.ts +13 -0
  110. package/dist/actions/install/prepareLang.js +110 -0
  111. package/dist/actions/install/prepareTadir.d.ts +13 -0
  112. package/dist/actions/install/prepareTadir.js +95 -0
  113. package/dist/actions/install/releaseLandscapeTransport.d.ts +11 -0
  114. package/dist/actions/install/releaseLandscapeTransport.js +79 -0
  115. package/dist/actions/install/setInstallDevclass.d.ts +10 -0
  116. package/dist/actions/install/setInstallDevclass.js +140 -54
  117. package/dist/actions/install/updatePackageData.d.ts +9 -0
  118. package/dist/actions/install/updatePackageData.js +117 -13
  119. package/dist/actions/installDependency/checkInstalledRelease.d.ts +13 -0
  120. package/dist/actions/installDependency/checkInstalledRelease.js +50 -0
  121. package/dist/actions/installDependency/confirmDowngrade.d.ts +11 -0
  122. package/dist/actions/installDependency/confirmDowngrade.js +53 -0
  123. package/dist/actions/installDependency/findInstallRelease.d.ts +24 -0
  124. package/dist/actions/installDependency/findInstallRelease.js +42 -19
  125. package/dist/actions/installDependency/index.d.ts +64 -3
  126. package/dist/actions/installDependency/index.js +30 -13
  127. package/dist/actions/installDependency/init.d.ts +14 -0
  128. package/dist/actions/installDependency/init.js +24 -3
  129. package/dist/actions/installDependency/installRelease.d.ts +6 -0
  130. package/dist/actions/installDependency/installRelease.js +22 -12
  131. package/dist/actions/publish/enginesUi.d.ts +53 -0
  132. package/dist/actions/publish/enginesUi.js +289 -0
  133. package/dist/actions/publish/findDependencies.d.ts +19 -0
  134. package/dist/actions/publish/findDependencies.js +72 -37
  135. package/dist/actions/publish/generateCustTransport.d.ts +6 -0
  136. package/dist/actions/publish/generateCustTransport.js +42 -19
  137. package/dist/actions/publish/generateDevcTransport.d.ts +6 -0
  138. package/dist/actions/publish/generateDevcTransport.js +16 -18
  139. package/dist/actions/publish/generateLangTransport.d.ts +6 -0
  140. package/dist/actions/publish/generateLangTransport.js +20 -23
  141. package/dist/actions/publish/generateTadirTransport.d.ts +6 -0
  142. package/dist/actions/publish/generateTadirTransport.js +18 -17
  143. package/dist/actions/publish/getSystemEngines.d.ts +27 -0
  144. package/dist/actions/publish/getSystemEngines.js +112 -0
  145. package/dist/actions/publish/index.d.ts +162 -37
  146. package/dist/actions/publish/index.js +51 -34
  147. package/dist/actions/publish/init.d.ts +28 -0
  148. package/dist/actions/publish/init.js +304 -120
  149. package/dist/actions/publish/lockResources.d.ts +4 -0
  150. package/dist/actions/{install/refreshTmsTxt.js → publish/lockResources.js} +14 -17
  151. package/dist/actions/publish/publishToRegistry.d.ts +8 -0
  152. package/dist/actions/publish/publishToRegistry.js +18 -8
  153. package/dist/actions/publish/releaseTransports.d.ts +6 -0
  154. package/dist/actions/publish/releaseTransports.js +48 -20
  155. package/dist/actions/publish/setCustomizingTransports.d.ts +6 -0
  156. package/dist/actions/publish/setCustomizingTransports.js +227 -101
  157. package/dist/actions/publish/setManifestValues.d.ts +22 -0
  158. package/dist/actions/publish/setManifestValues.js +455 -119
  159. package/dist/actions/publish/setOptionalPublishData.d.ts +11 -0
  160. package/dist/actions/publish/setOptionalPublishData.js +133 -0
  161. package/dist/actions/publish/updatePackageData.d.ts +8 -0
  162. package/dist/actions/publish/updatePackageData.js +20 -7
  163. package/dist/actions/stopWarning.d.ts +5 -0
  164. package/dist/actions/stopWarning.js +5 -0
  165. package/dist/actions/uninstall/checkDependants.d.ts +7 -0
  166. package/dist/actions/uninstall/checkDependants.js +55 -0
  167. package/dist/actions/uninstall/forwardDeletionTransport.d.ts +10 -0
  168. package/dist/actions/uninstall/forwardDeletionTransport.js +51 -0
  169. package/dist/actions/uninstall/generateDeletionTransport.d.ts +10 -0
  170. package/dist/actions/uninstall/generateDeletionTransport.js +45 -0
  171. package/dist/actions/uninstall/index.d.ts +153 -0
  172. package/dist/actions/uninstall/index.js +141 -0
  173. package/dist/actions/uninstall/init.d.ts +17 -0
  174. package/dist/actions/uninstall/init.js +146 -0
  175. package/dist/actions/uninstall/lockResources.d.ts +4 -0
  176. package/dist/actions/{publish/setTransportTarget.js → uninstall/lockResources.js} +16 -7
  177. package/dist/actions/uninstall/removePackageData.d.ts +9 -0
  178. package/dist/actions/uninstall/removePackageData.js +64 -0
  179. package/dist/actions/uninstall/uninstallNestedPackages.d.ts +26 -0
  180. package/dist/actions/uninstall/uninstallNestedPackages.js +174 -0
  181. package/dist/client/ClientError.d.ts +3 -1
  182. package/dist/client/ClientError.js +2 -1
  183. package/dist/client/RESTClient.d.ts +18 -5
  184. package/dist/client/RESTClient.js +194 -52
  185. package/dist/client/RESTClientError.d.ts +1 -2
  186. package/dist/client/RESTClientError.js +3 -2
  187. package/dist/client/RFCClient.d.ts +28 -7
  188. package/dist/client/RFCClient.js +325 -77
  189. package/dist/client/RFCClientError.d.ts +1 -1
  190. package/dist/client/RFCClientError.js +2 -2
  191. package/dist/client/TransportEntries.d.ts +8 -0
  192. package/dist/client/TransportEntries.js +2 -0
  193. package/dist/client/components/BORM_ID.d.ts +1 -0
  194. package/dist/client/components/BORM_ID.js +2 -0
  195. package/dist/client/components/BORM_NAME.d.ts +1 -0
  196. package/dist/client/components/BORM_NAME.js +2 -0
  197. package/dist/client/components/BORM_NAMEL.d.ts +1 -0
  198. package/dist/client/components/BORM_NAMEL.js +2 -0
  199. package/dist/client/components/BORM_VEND.d.ts +1 -0
  200. package/dist/client/components/BORM_VEND.js +2 -0
  201. package/dist/client/components/BORM_VERS.d.ts +1 -0
  202. package/dist/client/components/BORM_VERS.js +2 -0
  203. package/dist/client/components/CWBNTNUMM.d.ts +1 -0
  204. package/dist/client/components/CWBNTNUMM.js +2 -0
  205. package/dist/client/components/CWBNTSTAT.d.ts +1 -0
  206. package/dist/client/components/CWBNTSTAT.js +2 -0
  207. package/dist/client/components/CWBNTVERS.d.ts +1 -0
  208. package/dist/client/components/CWBNTVERS.js +2 -0
  209. package/dist/client/components/CWBPRSTAT.d.ts +1 -0
  210. package/dist/client/components/CWBPRSTAT.js +2 -0
  211. package/dist/client/components/INSTSTATE.d.ts +1 -0
  212. package/dist/client/components/INSTSTATE.js +2 -0
  213. package/dist/client/components/RELC_TYPE.d.ts +1 -0
  214. package/dist/client/components/RELC_TYPE.js +2 -0
  215. package/dist/client/components/SAPPATCHLV.d.ts +1 -0
  216. package/dist/client/components/SAPPATCHLV.js +2 -0
  217. package/dist/client/components/SAPRELEASE.d.ts +1 -0
  218. package/dist/client/components/SAPRELEASE.js +2 -0
  219. package/dist/client/components/SYSYSID.d.ts +1 -0
  220. package/dist/client/components/SYSYSID.js +2 -0
  221. package/dist/client/components/ZTRM_INSTALLTR_TYPE.d.ts +1 -0
  222. package/dist/client/components/ZTRM_INSTALLTR_TYPE.js +2 -0
  223. package/dist/client/components/index.d.ts +15 -0
  224. package/dist/client/components/index.js +15 -0
  225. package/dist/client/index.d.ts +1 -0
  226. package/dist/client/index.js +1 -0
  227. package/dist/client/messageLog.d.ts +7 -0
  228. package/dist/client/messageLog.js +21 -0
  229. package/dist/client/struct/ActionLockKey.d.ts +6 -0
  230. package/dist/client/struct/ActionLockKey.js +2 -0
  231. package/dist/client/struct/CVERS.d.ts +7 -0
  232. package/dist/client/struct/CVERS.js +2 -0
  233. package/dist/client/struct/CWBNTCUST.d.ts +6 -0
  234. package/dist/client/struct/CWBNTCUST.js +2 -0
  235. package/dist/client/struct/CWBNTHEAD.d.ts +5 -0
  236. package/dist/client/struct/CWBNTHEAD.js +2 -0
  237. package/dist/client/struct/E070.d.ts +2 -1
  238. package/dist/client/struct/E071K.d.ts +9 -0
  239. package/dist/client/struct/E071K.js +2 -0
  240. package/dist/client/struct/PRDVERS.d.ts +9 -0
  241. package/dist/client/struct/PRDVERS.js +2 -0
  242. package/dist/client/struct/SCOMPKDTLN.d.ts +21 -0
  243. package/dist/client/struct/STMSCALERT.d.ts +21 -0
  244. package/dist/client/struct/STMSCALERT.js +2 -0
  245. package/dist/client/struct/STMS_TP_IMPORT.d.ts +14 -0
  246. package/dist/client/struct/STMS_TP_IMPORT.js +2 -0
  247. package/dist/client/struct/STMS_TR_REQUEST.d.ts +8 -0
  248. package/dist/client/struct/STMS_TR_REQUEST.js +2 -0
  249. package/dist/client/struct/TDEVC.d.ts +38 -0
  250. package/dist/client/struct/TPLOGPTR.d.ts +13 -0
  251. package/dist/client/struct/TPLOGPTR.js +2 -0
  252. package/dist/client/struct/TPSTDOUT.d.ts +3 -0
  253. package/dist/client/struct/TPSTDOUT.js +2 -0
  254. package/dist/client/struct/ZTRM_INSTALLTR.d.ts +8 -0
  255. package/dist/client/struct/ZTRM_INSTALLTR.js +2 -0
  256. package/dist/client/struct/index.d.ts +12 -0
  257. package/dist/client/struct/index.js +12 -0
  258. package/dist/commons/checkCoreTrmDependencies.js +1 -1
  259. package/dist/commons/getAxiosInstance.js +8 -17
  260. package/dist/commons/getNodePackage.js +7 -0
  261. package/dist/commons/getPackageHierarchy.js +2 -0
  262. package/dist/commons/getPackagesNamespace.d.ts +9 -0
  263. package/dist/commons/getPackagesNamespace.js +19 -0
  264. package/dist/commons/index.d.ts +4 -0
  265. package/dist/commons/index.js +4 -0
  266. package/dist/commons/packageDataFromTdevc.d.ts +12 -0
  267. package/dist/commons/packageDataFromTdevc.js +25 -0
  268. package/dist/commons/resolveCoreVersion.d.ts +10 -0
  269. package/dist/commons/resolveCoreVersion.js +24 -0
  270. package/dist/commons/summarizeForLog.d.ts +22 -0
  271. package/dist/commons/summarizeForLog.js +120 -0
  272. package/dist/connection/OpenRFCConnect.d.ts +13 -0
  273. package/dist/connection/OpenRFCConnect.js +23 -0
  274. package/dist/connection/index.d.ts +1 -0
  275. package/dist/connection/index.js +17 -0
  276. package/dist/dependencies/PackageDependencies.d.ts +2 -0
  277. package/dist/dependencies/PackageDependencies.js +24 -0
  278. package/dist/index.d.ts +1 -0
  279. package/dist/index.js +1 -0
  280. package/dist/lockfile/Lockfile.d.ts +23 -1
  281. package/dist/lockfile/Lockfile.js +45 -9
  282. package/dist/manifest/Manifest.d.ts +9 -5
  283. package/dist/manifest/Manifest.js +82 -29
  284. package/dist/manifest/PostActivity.js +3 -3
  285. package/dist/manifest/TrmManifest.d.ts +0 -2
  286. package/dist/manifest/TrmManifestBase.d.ts +2 -0
  287. package/dist/manifest/TrmManifestEngines.d.ts +64 -0
  288. package/dist/manifest/TrmManifestEngines.js +2 -0
  289. package/dist/manifest/engines/index.d.ts +2 -0
  290. package/dist/manifest/engines/index.js +18 -0
  291. package/dist/manifest/engines/sapRange.d.ts +38 -0
  292. package/dist/manifest/engines/sapRange.js +135 -0
  293. package/dist/manifest/engines/validateEngines.d.ts +44 -0
  294. package/dist/manifest/engines/validateEngines.js +282 -0
  295. package/dist/manifest/index.d.ts +3 -0
  296. package/dist/manifest/index.js +3 -0
  297. package/dist/manifest/sapEntries.d.ts +14 -0
  298. package/dist/manifest/sapEntries.js +63 -0
  299. package/dist/protocol/Protocol.js +7 -0
  300. package/dist/registry/AbstractRegistry.d.ts +18 -3
  301. package/dist/registry/FileSystem.d.ts +22 -13
  302. package/dist/registry/FileSystem.js +69 -18
  303. package/dist/registry/RegistryDeletionTransportUnauthorizedError.d.ts +4 -0
  304. package/dist/registry/RegistryDeletionTransportUnauthorizedError.js +12 -0
  305. package/dist/registry/RegistryDeletionTransportUnavailableError.d.ts +9 -0
  306. package/dist/registry/RegistryDeletionTransportUnavailableError.js +17 -0
  307. package/dist/registry/RegistryPackageNotFoundError.d.ts +7 -0
  308. package/dist/registry/RegistryPackageNotFoundError.js +14 -0
  309. package/dist/registry/RegistryV2.d.ts +15 -5
  310. package/dist/registry/RegistryV2.js +308 -48
  311. package/dist/registry/index.d.ts +4 -0
  312. package/dist/registry/index.js +4 -0
  313. package/dist/registry/registryKey.d.ts +7 -0
  314. package/dist/registry/registryKey.js +21 -0
  315. package/dist/systemConnector/ActionLock.d.ts +1 -0
  316. package/dist/systemConnector/ActionLock.js +2 -0
  317. package/dist/systemConnector/ISystemConnector.d.ts +21 -4
  318. package/dist/systemConnector/ISystemConnectorBase.d.ts +16 -0
  319. package/dist/systemConnector/InstallTransport.d.ts +6 -0
  320. package/dist/systemConnector/InstallTransport.js +2 -0
  321. package/dist/systemConnector/OpenRFCSystemConnector.d.ts +12 -0
  322. package/dist/systemConnector/OpenRFCSystemConnector.js +51 -0
  323. package/dist/systemConnector/RESTSystemConnector.d.ts +22 -7
  324. package/dist/systemConnector/RESTSystemConnector.js +95 -23
  325. package/dist/systemConnector/RFCConnection.d.ts +0 -1
  326. package/dist/systemConnector/RFCSystemConnector.d.ts +25 -7
  327. package/dist/systemConnector/RFCSystemConnector.js +75 -16
  328. package/dist/systemConnector/SystemConnector.d.ts +38 -6
  329. package/dist/systemConnector/SystemConnector.js +138 -12
  330. package/dist/systemConnector/SystemConnectorBase.d.ts +24 -1
  331. package/dist/systemConnector/SystemConnectorBase.js +174 -22
  332. package/dist/systemConnector/index.d.ts +3 -0
  333. package/dist/systemConnector/index.js +3 -0
  334. package/dist/transport/E071KOwner.d.ts +10 -0
  335. package/dist/transport/E071KOwner.js +15 -0
  336. package/dist/transport/R3transLogParser.d.ts +19 -0
  337. package/dist/transport/R3transLogParser.js +148 -0
  338. package/dist/transport/Transport.d.ts +36 -3
  339. package/dist/transport/Transport.js +304 -138
  340. package/dist/transport/index.d.ts +2 -0
  341. package/dist/transport/index.js +2 -0
  342. package/dist/trmPackage/TransportBinary.d.ts +4 -1
  343. package/dist/trmPackage/TrmArtifact.d.ts +12 -8
  344. package/dist/trmPackage/TrmArtifact.js +93 -74
  345. package/dist/trmPackage/TrmPackage.d.ts +20 -6
  346. package/dist/trmPackage/TrmPackage.js +27 -1
  347. package/dist/validators/validateDevclass.js +4 -0
  348. package/package.json +15 -7
  349. package/dist/actions/commons/trmServerPa.d.ts +0 -3
  350. package/dist/actions/commons/trmServerPa.js +0 -40
  351. package/dist/actions/install/checkAlreadyInstalled.d.ts +0 -3
  352. package/dist/actions/install/checkAlreadyInstalled.js +0 -71
  353. package/dist/actions/install/checkObjectTypes.d.ts +0 -3
  354. package/dist/actions/install/checkObjectTypes.js +0 -50
  355. package/dist/actions/install/checkObjectsLock.d.ts +0 -3
  356. package/dist/actions/install/checkObjectsLock.js +0 -52
  357. package/dist/actions/install/generateInstallTransports.d.ts +0 -3
  358. package/dist/actions/install/generateInstallTransports.js +0 -128
  359. package/dist/actions/install/importCustTransport.d.ts +0 -3
  360. package/dist/actions/install/importCustTransport.js +0 -73
  361. package/dist/actions/install/importDevcTransport.d.ts +0 -3
  362. package/dist/actions/install/importDevcTransport.js +0 -93
  363. package/dist/actions/install/importLangTransport.d.ts +0 -3
  364. package/dist/actions/install/importLangTransport.js +0 -72
  365. package/dist/actions/install/importTadirTransport.d.ts +0 -3
  366. package/dist/actions/install/importTadirTransport.js +0 -83
  367. package/dist/actions/install/readDevc.d.ts +0 -3
  368. package/dist/actions/install/readDevc.js +0 -33
  369. package/dist/actions/install/readTadir.d.ts +0 -3
  370. package/dist/actions/install/readTadir.js +0 -101
  371. package/dist/actions/install/refreshTmsTxt.d.ts +0 -3
  372. package/dist/actions/install/releaseInstallTransport.d.ts +0 -3
  373. package/dist/actions/install/releaseInstallTransport.js +0 -80
  374. package/dist/actions/publish/checkAllObjectsReleased.d.ts +0 -3
  375. package/dist/actions/publish/checkAllObjectsReleased.js +0 -46
  376. package/dist/actions/publish/getSourceCode.d.ts +0 -3
  377. package/dist/actions/publish/getSourceCode.js +0 -49
  378. package/dist/actions/publish/setChangelog.d.ts +0 -3
  379. package/dist/actions/publish/setChangelog.js +0 -69
  380. package/dist/actions/publish/setDevclass.d.ts +0 -3
  381. package/dist/actions/publish/setDevclass.js +0 -74
  382. package/dist/actions/publish/setReadme.d.ts +0 -3
  383. package/dist/actions/publish/setReadme.js +0 -52
  384. package/dist/actions/publish/setTransportTarget.d.ts +0 -3
@@ -13,6 +13,12 @@ exports.generateLangTransport = void 0;
13
13
  const trm_commons_1 = require("trm-commons");
14
14
  const transport_1 = require("../../transport");
15
15
  const stopWarning_1 = require("../stopWarning");
16
+ /**
17
+ * Workflow step that creates the optional transport containing language data.
18
+ *
19
+ * 1- generate transport
20
+ *
21
+ */
16
22
  exports.generateLangTransport = {
17
23
  name: 'generate-lang-transport',
18
24
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -25,48 +31,39 @@ exports.generateLangTransport = {
25
31
  }
26
32
  }),
27
33
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
28
- trm_commons_1.Logger.log('Generate LANG transport step', true);
29
- trm_commons_1.Logger.loading(`Generating transports...`);
30
- trm_commons_1.Logger.loading(`Generating LANG transport...`, true);
31
- const aDevc = context.runtime.packageData.tadir.filter(o => o.pgmid === 'R3TR' && o.object === 'DEVC');
32
34
  if (!context.runtime.stopWarningShown) {
33
35
  context.runtime.stopWarningShown = true;
34
36
  (0, stopWarning_1.stopWarning)('publish');
35
37
  }
36
- context.runtime.systemData.langTransport = yield transport_1.Transport.createToc({
38
+ //1- generate transport
39
+ trm_commons_1.Logger.loading(`Generating transports...`);
40
+ trm_commons_1.Logger.loading(`Generating LANG transport...`, true);
41
+ const aDevc = context.runtime.sapPackage.objects.filter(o => o.pgmid === 'R3TR' && o.object === 'DEVC');
42
+ context.runtime.transports.lang = yield transport_1.Transport.createToc({
37
43
  trmIdentifier: transport_1.TrmTransportIdentifier.LANG,
38
44
  target: context.rawInput.systemData.transportTarget,
39
- text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (L)`
45
+ text: `@X1@TRM (L) ${context.rawInput.packageData.name} v${context.rawInput.packageData.version}`.slice(0, 60)
40
46
  });
41
47
  var iLanguageObjects = 0;
42
48
  try {
43
- yield context.runtime.systemData.langTransport.addTranslations(aDevc.map(o => o.objName));
44
- iLanguageObjects = (yield context.runtime.systemData.langTransport.getE071()).length;
49
+ yield context.runtime.transports.lang.addTranslations(aDevc.map(o => o.objName));
50
+ iLanguageObjects = (yield context.runtime.transports.lang.getE071()).length;
45
51
  }
46
52
  catch (e) {
47
- trm_commons_1.Logger.warning(`Language transport generation error!`);
48
- trm_commons_1.Logger.error(e, true);
53
+ trm_commons_1.Logger.warning(`Language transport generation error: ${e.toString()}`, { important: true });
49
54
  }
50
55
  finally {
51
56
  if (iLanguageObjects === 0) {
52
57
  trm_commons_1.Logger.info(`Language transport has no content, deleting.`, true);
53
- yield context.runtime.systemData.langTransport.delete();
54
- context.runtime.systemData.langTransport = undefined;
58
+ yield context.runtime.transports.lang.delete();
59
+ context.runtime.transports.lang = undefined;
55
60
  }
56
61
  }
57
62
  }),
58
63
  revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
59
- trm_commons_1.Logger.log('Rollback generate LANG transport step', true);
60
- if (context.runtime.systemData.langTransport) {
61
- try {
62
- if (yield context.runtime.systemData.langTransport.canBeDeleted()) {
63
- yield context.runtime.systemData.langTransport.delete();
64
- trm_commons_1.Logger.success(`Executed rollback on transport ${context.runtime.systemData.langTransport.trkorr}`, true);
65
- }
66
- }
67
- catch (e) {
68
- trm_commons_1.Logger.error(`Unable to rollback transport ${context.runtime.systemData.langTransport.trkorr}!`);
69
- trm_commons_1.Logger.error(e.toString(), true);
64
+ if (context.runtime.transports.lang) {
65
+ if (yield context.runtime.transports.lang.canBeDeleted()) {
66
+ yield context.runtime.transports.lang.delete();
70
67
  }
71
68
  }
72
69
  })
@@ -1,3 +1,9 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { PublishWorkflowContext } from ".";
3
+ /**
4
+ * Workflow step that creates the transport containing repository objects.
5
+ *
6
+ * 1- generate transport
7
+ *
8
+ */
3
9
  export declare const generateTadirTransport: Step<PublishWorkflowContext>;
@@ -13,34 +13,35 @@ exports.generateTadirTransport = void 0;
13
13
  const trm_commons_1 = require("trm-commons");
14
14
  const transport_1 = require("../../transport");
15
15
  const stopWarning_1 = require("../stopWarning");
16
+ /**
17
+ * Workflow step that creates the transport containing repository objects.
18
+ *
19
+ * 1- generate transport
20
+ *
21
+ */
16
22
  exports.generateTadirTransport = {
17
23
  name: 'generate-tadir-transport',
18
24
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
- trm_commons_1.Logger.log('Generate TADIR transport step', true);
20
- var aTadir = context.runtime.packageData.tadir.filter(o => !(o.pgmid === 'R3TR' && o.object === 'DEVC'));
21
- context.runtime.abapGitData.sourceCode.ignoredObjects.forEach(o => {
22
- const objectIndex = aTadir.findIndex(k => k.pgmid === o.pgmid && k.object === o.object && k.objName === o.objName);
23
- if (objectIndex >= 0) {
24
- aTadir.splice(objectIndex, 1);
25
- }
26
- });
27
- if (aTadir.length === 0) {
28
- throw new Error(`Package ${context.rawInput.packageData.devclass} has no content.`);
29
- }
30
- trm_commons_1.Logger.loading(`Generating transports...`);
31
- trm_commons_1.Logger.loading(`Generating TADIR transport...`, true);
32
25
  if (!context.runtime.stopWarningShown) {
33
26
  context.runtime.stopWarningShown = true;
34
27
  (0, stopWarning_1.stopWarning)('publish');
35
28
  }
36
- context.runtime.systemData.tadirTransport = yield transport_1.Transport.createToc({
29
+ //1- generate transport
30
+ trm_commons_1.Logger.loading(`Generating transports...`);
31
+ trm_commons_1.Logger.loading(`Generating TADIR transport...`, true);
32
+ const aTadir = context.runtime.sapPackage.objects.filter(o => !(o.pgmid === 'R3TR' && o.object === 'DEVC'));
33
+ context.runtime.transports.tadir = yield transport_1.Transport.createToc({
37
34
  trmIdentifier: transport_1.TrmTransportIdentifier.TADIR,
38
35
  target: context.rawInput.systemData.transportTarget,
39
- text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version}`
36
+ text: `@X1@TRM ${context.rawInput.packageData.name} v${context.rawInput.packageData.version}`.slice(0, 60)
40
37
  });
41
- yield context.runtime.systemData.tadirTransport.addObjects(aTadir, false);
38
+ yield context.runtime.transports.tadir.addObjects(aTadir, false);
42
39
  }),
43
40
  revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
44
- trm_commons_1.Logger.log('Rollback generate TADIR transport step', true);
41
+ if (context.runtime.transports.tadir) {
42
+ if (yield context.runtime.transports.tadir.canBeDeleted()) {
43
+ yield context.runtime.transports.tadir.delete();
44
+ }
45
+ }
45
46
  })
46
47
  };
@@ -0,0 +1,27 @@
1
+ import { TrmManifestEngines } from "../../manifest";
2
+ /** Example engines used when the system can't be read (formally invalid on purpose: must be edited). */
3
+ export declare const ENGINES_TEMPLATE: {
4
+ components: {
5
+ '<<COMPONENT>>': {
6
+ release: string;
7
+ sp: string;
8
+ };
9
+ };
10
+ };
11
+ /**
12
+ * Builds an engines declaration from the connected system: each SAP software component
13
+ * as "this release at this SP or newer, or any newer release", and each installed product as "this version or newer".
14
+ *
15
+ * SAP Notes and table checks can't be inferred and are never included.
16
+ *
17
+ * @returns Engines declaration, or {@link ENGINES_TEMPLATE} if the system can't be read.
18
+ */
19
+ export declare function getSystemEngines(): Promise<TrmManifestEngines>;
20
+ /**
21
+ * Adds the `trm-core` engine (the version in use or newer) in front of an engines declaration.
22
+ *
23
+ * @param engines Engines declaration, left untouched.
24
+ * @param coreVersion Version of trm-core supplied by the client, defaults to the version read from trm-core package.json.
25
+ * @returns A new engines declaration, or `engines` itself if the trm-core version can't be determined.
26
+ */
27
+ export declare function withTrmEngines(engines: TrmManifestEngines, coreVersion?: string): TrmManifestEngines;
@@ -0,0 +1,112 @@
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.ENGINES_TEMPLATE = void 0;
13
+ exports.getSystemEngines = getSystemEngines;
14
+ exports.withTrmEngines = withTrmEngines;
15
+ const trm_commons_1 = require("trm-commons");
16
+ const systemConnector_1 = require("../../systemConnector");
17
+ const commons_1 = require("../../commons");
18
+ const manifest_1 = require("../../manifest");
19
+ //CVERS-COMP_TYPE of components that are not delivered by SAP (local, home, customer)
20
+ const EXCLUDED_COMPONENT_TYPES = ['L', 'M', 'J', 'K'];
21
+ /** Example engines used when the system can't be read (formally invalid on purpose: must be edited). */
22
+ exports.ENGINES_TEMPLATE = {
23
+ components: {
24
+ '<<COMPONENT>>': {
25
+ release: '<<release range>>',
26
+ sp: '<<sp range>>'
27
+ }
28
+ }
29
+ };
30
+ /**
31
+ * Builds an engines declaration from the connected system: each SAP software component
32
+ * as "this release at this SP or newer, or any newer release", and each installed product as "this version or newer".
33
+ *
34
+ * SAP Notes and table checks can't be inferred and are never included.
35
+ *
36
+ * @returns Engines declaration, or {@link ENGINES_TEMPLATE} if the system can't be read.
37
+ */
38
+ function getSystemEngines() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ try {
41
+ const engines = {
42
+ components: {},
43
+ products: {}
44
+ };
45
+ //a malformed row is skipped on its own, without discarding the rest of the prefill
46
+ for (const component of yield systemConnector_1.SystemConnector.getSoftwareComponents()) {
47
+ try {
48
+ const name = component.component.trim().toUpperCase();
49
+ const release = (0, manifest_1.normalizeSapValue)(component.release, 'release');
50
+ if (!name || !release || release === 'DEV' || EXCLUDED_COMPONENT_TYPES.includes(component.compType)) {
51
+ continue;
52
+ }
53
+ const sp = (0, manifest_1.normalizeSapValue)(component.extrelease, 'number') || '0';
54
+ const constraint = [
55
+ { release, sp: `>=${sp}` },
56
+ { release: `>${release}` }
57
+ ];
58
+ engines.components[name] = constraint;
59
+ }
60
+ catch (e) {
61
+ trm_commons_1.Logger.warning(`Skipping software component ${JSON.stringify(component)}: ${e}`, true);
62
+ }
63
+ }
64
+ const productVersions = {};
65
+ for (const product of yield systemConnector_1.SystemConnector.getInstalledProducts()) {
66
+ try {
67
+ const name = product.name.trim().toUpperCase().replace(/\s+/g, ' ');
68
+ const version = (0, manifest_1.normalizeSapValue)(product.version, 'version');
69
+ if (!name || !version) {
70
+ continue;
71
+ }
72
+ if (!productVersions[name] || (0, manifest_1.compareSapValues)(version, productVersions[name], 'version') > 0) {
73
+ productVersions[name] = version;
74
+ }
75
+ }
76
+ catch (e) {
77
+ trm_commons_1.Logger.warning(`Skipping installed product ${JSON.stringify(product)}: ${e}`, true);
78
+ }
79
+ }
80
+ Object.keys(productVersions).forEach(name => {
81
+ engines.products[name] = { version: `>=${productVersions[name]}` };
82
+ });
83
+ if (Object.keys(engines.components).length === 0) {
84
+ delete engines.components;
85
+ }
86
+ if (Object.keys(engines.products).length === 0) {
87
+ delete engines.products;
88
+ }
89
+ return Object.keys(engines).length > 0 ? engines : exports.ENGINES_TEMPLATE;
90
+ }
91
+ catch (e) {
92
+ trm_commons_1.Logger.error(e.toString(), true);
93
+ trm_commons_1.Logger.warning(`Couldn't read system components and products, engines will not be prefilled.`);
94
+ return exports.ENGINES_TEMPLATE;
95
+ }
96
+ });
97
+ }
98
+ /**
99
+ * Adds the `trm-core` engine (the version in use or newer) in front of an engines declaration.
100
+ *
101
+ * @param engines Engines declaration, left untouched.
102
+ * @param coreVersion Version of trm-core supplied by the client, defaults to the version read from trm-core package.json.
103
+ * @returns A new engines declaration, or `engines` itself if the trm-core version can't be determined.
104
+ */
105
+ function withTrmEngines(engines, coreVersion) {
106
+ const version = (0, commons_1.resolveCoreVersion)(coreVersion);
107
+ if (!version) {
108
+ trm_commons_1.Logger.warning(`Couldn't determine trm-core version, trm engines will not be prefilled.`, true);
109
+ return engines;
110
+ }
111
+ return Object.assign({ trm: Object.assign(Object.assign({}, engines === null || engines === void 0 ? void 0 : engines.trm), { 'trm-core': `>=${version}` }) }, Object.fromEntries(Object.entries(engines || {}).filter(([key]) => key !== 'trm')));
112
+ }
@@ -1,89 +1,214 @@
1
+ import { PackageDependencies } from "../../dependencies";
1
2
  import { TrmArtifact, TrmPackage } from "../../trmPackage";
2
3
  import { IActionContext } from "..";
3
- import { AbstractRegistry } from "../../registry";
4
- import { DEVCLASS, TADIR, TARSYSTEM, TR_TARGET, TRNSPACET, TRNSPACETT } from "../../client";
4
+ import { ReleaseType } from "semver";
5
+ import { DEVCLASS, TADIR, TR_TARGET, TRKORR, TRNSPACET, TRNSPACETT, ZTY_SER_OBJ } from "../../client";
5
6
  import { TrmManifest, TrmManifestBase } from "../../manifest";
6
- import { Transport } from "../../transport";
7
+ import { AbstractRegistry } from "../../registry";
8
+ import { Package } from "trm-registry-types";
7
9
  import { DotAbapGit } from "../../abapgit";
8
- import { ReleaseType } from "semver";
10
+ import { Transport } from "../../transport";
11
+ import { ActionLockScope } from "../commons/utils";
12
+ /** Input required to build and publish a TRM package release from the connected SAP system. */
9
13
  export interface PublishActionInput {
14
+ /**
15
+ * Optional context data.
16
+ */
10
17
  contextData?: {
18
+ /**
19
+ * Snapshot of packages installed on the origin system. When omitted, the action queries SAP.
20
+ */
11
21
  systemPackages?: TrmPackage[];
22
+ /**
23
+ * Disable interactive prompts. Missing required values then cause an error.
24
+ */
12
25
  noInquirer?: boolean;
26
+ /**
27
+ * Directory in which transport-release logs and temporary files are written.
28
+ */
13
29
  logTemporaryFolder?: string;
14
- noStopWarning?: boolean;
30
+ /**
31
+ * Version of trm-core in use, used to prefill the `trm-core` engine when engines are declared.
32
+ * Supply it when the client resolves trm-core itself; defaults to the version read from trm-core package.json.
33
+ */
34
+ coreVersion?: string;
15
35
  };
36
+ /**
37
+ * Data related to the package being published.
38
+ */
16
39
  packageData: {
40
+ /**
41
+ * TRM package name to publish.
42
+ */
17
43
  name: string;
44
+ /**
45
+ * Exact semantic version or `latest`/omitted for automatic version calculation.
46
+ *
47
+ * If blank/latest the latest version is retrieved from the registry:
48
+ *
49
+ * - first time publishing = 1.0.0
50
+ *
51
+ * - package exists = latest + inc
52
+ */
18
53
  version?: string;
54
+ /**
55
+ * Semantic-version increment used when `version` is omitted or `latest`.
56
+ */
19
57
  inc?: ReleaseType;
58
+ /**
59
+ * Publish a prerelease instead of a stable release.
60
+ */
20
61
  preRelease?: boolean;
62
+ /**
63
+ * Prerelease identifier such as `alpha` or `beta`.
64
+ */
21
65
  preReleaseIdentifier?: string;
66
+ /**
67
+ * Registry distribution tags assigned to the release. Defaults to an empty array.
68
+ */
22
69
  tags?: string[];
70
+ /**
71
+ * Destination registry used for validation, version lookup, and publication.
72
+ */
23
73
  registry: AbstractRegistry;
74
+ /**
75
+ * Source ABAP package. When omitted, the action derives or prompts for it.
76
+ */
24
77
  devclass?: DEVCLASS;
78
+ /**
79
+ * Manifest values supplied by the caller. Missing values may be copied from the latest
80
+ * release or collected interactively, depending on `publishData`.
81
+ */
25
82
  manifest?: TrmManifestBase;
26
83
  };
84
+ /**
85
+ * Data related to the origin system.
86
+ */
27
87
  systemData?: {
88
+ /**
89
+ * TMS target assigned to generated publish transports. It is selected interactively when omitted.
90
+ */
28
91
  transportTarget?: TR_TARGET;
29
92
  };
93
+ /**
94
+ * Data related to package publish.
95
+ */
30
96
  publishData?: {
97
+ /**
98
+ * Do not infer TRM dependencies from the source package hierarchy.
99
+ */
31
100
  noDependenciesDetection?: boolean;
101
+ /**
102
+ * Merge unspecified manifest metadata from the latest release. Defaults to `true`.
103
+ */
32
104
  keepLatestReleaseManifestValues?: boolean;
105
+ /**
106
+ * Set release visibility to private where supported by the registry.
107
+ * Required for the first remote publication when interactive prompts are disabled.
108
+ */
33
109
  private?: boolean;
110
+ /**
111
+ * Markdown readme stored with the release. Remote registries may prompt when omitted.
112
+ */
34
113
  readme?: string;
114
+ /**
115
+ * Markdown changelog stored with the release. Remote registries may prompt when omitted.
116
+ */
35
117
  changelog?: string;
36
- skipCustomizingTransports?: boolean;
37
- customizingTransports?: string | Transport[];
118
+ /**
119
+ * Exclude all customizing transports from this release.
120
+ */
121
+ noCustomizingTransports?: boolean;
122
+ /**
123
+ * Existing customizing request numbers to include. Retained transports from the latest
124
+ * release are merged into this list, except those listed in `dropCustomizingTransports`. Ignored when `noCustomizingTransports` is `true`.
125
+ */
126
+ customizingTransports?: string[];
127
+ /**
128
+ * Customizing transports carried over from the latest release to drop from this release,
129
+ * identified by their transport request number as published in the latest release.
130
+ * `all` drops every carried-over transport. An identifier that is not a customizing
131
+ * transport of the latest release, or that is also listed in `customizingTransports`,
132
+ * fails the publish. When prompts are enabled, the remaining selection is still shown for
133
+ * editing. Ignored when `noCustomizingTransports` is `true`.
134
+ */
135
+ dropCustomizingTransports?: string[];
136
+ /**
137
+ * Do not generate a language transport for translatable package content.
138
+ */
38
139
  noLanguageTransport?: boolean;
39
140
  };
40
141
  }
142
+ type EnrichedTransport = {
143
+ trkorr: TRKORR;
144
+ description: string;
145
+ };
41
146
  type WorkflowRuntime = {
42
- stopWarningShown: boolean;
43
- trmPackage: {
44
- package: TrmPackage;
45
- registry: AbstractRegistry;
46
- latestReleaseManifest?: TrmManifest;
47
- releasesInRegistry?: string[];
48
- manifest: TrmManifest;
49
- manifestXml?: string;
50
- artifact?: TrmArtifact;
51
- };
52
- systemData: {
53
- transportTargets: TARSYSTEM[];
54
- originCustomizing: {
55
- transports: Transport[];
56
- description: string;
57
- }[];
58
- devcTransport: Transport;
59
- tadirTransport: Transport;
60
- langTransport?: Transport;
61
- custTransports: Transport[];
62
- releasedTransports: Transport[];
147
+ /** Dependency analysis of the ABAP package, run once before the publish questions. */
148
+ packageDependencies?: PackageDependencies;
149
+ latest: {
150
+ data: Package;
63
151
  };
64
- packageData: {
65
- tadir: TADIR[];
66
- namespace?: {
152
+ sapPackage: {
153
+ objects: TADIR[];
154
+ namespace: {
67
155
  trnspacet: TRNSPACET;
68
156
  trnspacett: TRNSPACETT[];
69
157
  };
70
158
  };
71
- abapGitData: {
72
- dotAbapGit?: DotAbapGit;
73
- sourceCode?: {
74
- zip: Buffer;
75
- ignoredObjects: TADIR[];
76
- };
159
+ abapGit: {
160
+ dotAbapGit: DotAbapGit;
161
+ sourceCode: Buffer;
162
+ object: ZTY_SER_OBJ[];
163
+ excludedObjects: TADIR[];
77
164
  };
165
+ manifest: TrmManifest;
166
+ manifestXml: string;
167
+ customizing: {
168
+ retained: EnrichedTransport[];
169
+ new: EnrichedTransport[];
170
+ };
171
+ transports: {
172
+ devc: Transport;
173
+ tadir: Transport;
174
+ lang?: Transport;
175
+ cust?: Transport[];
176
+ };
177
+ aggregatedTransports: Transport[];
178
+ stopWarningShown: boolean;
78
179
  };
180
+ /** Artifacts produced by a successful {@link publish} action. */
79
181
  export type PublishActionOutput = {
182
+ /** Published package model, including its normalized manifest and registry identity. */
80
183
  trmPackage: TrmPackage;
184
+ /** Generated release artifact containing transports, manifest, and optional source archive. */
81
185
  trmArtifact: TrmArtifact;
82
186
  };
187
+ /** Internal state shared by package-publish workflow steps. */
83
188
  export interface PublishWorkflowContext extends IActionContext {
189
+ lockScope?: ActionLockScope;
190
+ /** Original action input; optional groups and collections are normalized before execution. */
84
191
  rawInput: PublishActionInput;
192
+ /** Latest release, SAP objects, generated transports, manifest, and source data. */
85
193
  runtime?: WorkflowRuntime;
194
+ /** Package and artifact assembled by the workflow. */
86
195
  output?: PublishActionOutput;
87
196
  }
197
+ /**
198
+ * Builds an ABAP package release from the connected SAP system and publishes it to a TRM registry.
199
+ *
200
+ * The workflow validates authorization and release metadata, detects dependencies, serializes
201
+ * the source package, creates and releases DEVC/TADIR plus optional language/customizing
202
+ * transports, uploads the artifact, and records the published package on the origin system.
203
+ *
204
+ * This operation creates and releases SAP transports. Do not interrupt it after processing begins.
205
+ * The function normalizes missing optional input groups and arrays in place.
206
+ *
207
+ * @param inputData Source package, destination registry, release metadata, and publish options.
208
+ * @returns The published package model and generated binary artifact.
209
+ * @throws When validation, authorization, source serialization, transport generation/release,
210
+ * or registry publication fails. A final local package-record update failure is logged without
211
+ * rejecting because the registry publication has already succeeded.
212
+ */
88
213
  export declare function publish(inputData: PublishActionInput): Promise<PublishActionOutput>;
89
214
  export {};
@@ -8,50 +8,66 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.publish = publish;
16
- const sammarksworkflow_1 = __importDefault(require("@simonegaffurini/sammarksworkflow"));
17
- const util_1 = require("util");
18
- const trm_commons_1 = require("trm-commons");
19
13
  const __1 = require("..");
20
14
  const init_1 = require("./init");
21
- const setDevclass_1 = require("./setDevclass");
22
- const setTransportTarget_1 = require("./setTransportTarget");
23
15
  const findDependencies_1 = require("./findDependencies");
24
- const setManifestValues_1 = require("./setManifestValues");
25
- const setReadme_1 = require("./setReadme");
26
16
  const setCustomizingTransports_1 = require("./setCustomizingTransports");
17
+ const setManifestValues_1 = require("./setManifestValues");
18
+ const setOptionalPublishData_1 = require("./setOptionalPublishData");
27
19
  const generateDevcTransport_1 = require("./generateDevcTransport");
28
20
  const generateTadirTransport_1 = require("./generateTadirTransport");
29
21
  const generateLangTransport_1 = require("./generateLangTransport");
30
22
  const generateCustTransport_1 = require("./generateCustTransport");
31
23
  const releaseTransports_1 = require("./releaseTransports");
32
- const updatePackageData_1 = require("./updatePackageData");
33
24
  const publishToRegistry_1 = require("./publishToRegistry");
34
- const getSourceCode_1 = require("./getSourceCode");
35
- const checkAllObjectsReleased_1 = require("./checkAllObjectsReleased");
36
- const setChangelog_1 = require("./setChangelog");
25
+ const updatePackageData_1 = require("./updatePackageData");
26
+ const utils_1 = require("../commons/utils");
27
+ const lockResources_1 = require("./lockResources");
37
28
  ;
38
29
  const WORKFLOW_NAME = 'publish';
30
+ /**
31
+ * Builds an ABAP package release from the connected SAP system and publishes it to a TRM registry.
32
+ *
33
+ * The workflow validates authorization and release metadata, detects dependencies, serializes
34
+ * the source package, creates and releases DEVC/TADIR plus optional language/customizing
35
+ * transports, uploads the artifact, and records the published package on the origin system.
36
+ *
37
+ * This operation creates and releases SAP transports. Do not interrupt it after processing begins.
38
+ * The function normalizes missing optional input groups and arrays in place.
39
+ *
40
+ * @param inputData Source package, destination registry, release metadata, and publish options.
41
+ * @returns The published package model and generated binary artifact.
42
+ * @throws When validation, authorization, source serialization, transport generation/release,
43
+ * or registry publication fails. A final local package-record update failure is logged without
44
+ * rejecting because the registry publication has already succeeded.
45
+ */
39
46
  function publish(inputData) {
40
47
  return __awaiter(this, void 0, void 0, function* () {
48
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
49
+ var _o, _p, _q, _r, _s, _t, _u, _v, _w;
50
+ (_a = inputData.contextData) !== null && _a !== void 0 ? _a : (inputData.contextData = {});
51
+ (_b = inputData.systemData) !== null && _b !== void 0 ? _b : (inputData.systemData = {});
52
+ (_c = inputData.publishData) !== null && _c !== void 0 ? _c : (inputData.publishData = { keepLatestReleaseManifestValues: true });
53
+ (_d = (_o = inputData.publishData).keepLatestReleaseManifestValues) !== null && _d !== void 0 ? _d : (_o.keepLatestReleaseManifestValues = true);
54
+ (_e = (_p = inputData.publishData).customizingTransports) !== null && _e !== void 0 ? _e : (_p.customizingTransports = []);
55
+ (_f = (_q = inputData.packageData).manifest) !== null && _f !== void 0 ? _f : (_q.manifest = {});
56
+ (_g = (_r = inputData.packageData.manifest).authors) !== null && _g !== void 0 ? _g : (_r.authors = []);
57
+ (_h = (_s = inputData.packageData.manifest).dependencies) !== null && _h !== void 0 ? _h : (_s.dependencies = []);
58
+ (_j = (_t = inputData.packageData.manifest).keywords) !== null && _j !== void 0 ? _j : (_t.keywords = []);
59
+ (_k = (_u = inputData.packageData.manifest).postActivities) !== null && _k !== void 0 ? _k : (_u.postActivities = []);
60
+ (_l = (_v = inputData.packageData.manifest).sapEntries) !== null && _l !== void 0 ? _l : (_v.sapEntries = {});
61
+ (_m = (_w = inputData.packageData).tags) !== null && _m !== void 0 ? _m : (_w.tags = []);
41
62
  const workflow = [
42
63
  __1.checkServerAuth,
43
- init_1.init,
44
64
  __1.setSystemPackages,
45
- __1.trmServerPa,
46
- setTransportTarget_1.setTransportTarget,
47
- setDevclass_1.setDevclass,
65
+ init_1.init,
48
66
  findDependencies_1.findDependencies,
49
- setManifestValues_1.setManifestValues,
50
67
  setCustomizingTransports_1.setCustomizingTransports,
51
- setReadme_1.setReadme,
52
- setChangelog_1.setChangelog,
53
- getSourceCode_1.getSourceCode,
54
- checkAllObjectsReleased_1.checkAllObjectsReleased,
68
+ setManifestValues_1.setManifestValues,
69
+ setOptionalPublishData_1.setOptionalReleaseData,
70
+ lockResources_1.lockResources,
55
71
  generateDevcTransport_1.generateDevcTransport,
56
72
  generateTadirTransport_1.generateTadirTransport,
57
73
  generateLangTransport_1.generateLangTransport,
@@ -60,16 +76,17 @@ function publish(inputData) {
60
76
  publishToRegistry_1.publishToRegistry,
61
77
  updatePackageData_1.updatePackageData
62
78
  ];
63
- trm_commons_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, util_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
64
- const result = yield (0, sammarksworkflow_1.default)(WORKFLOW_NAME, workflow, {
65
- rawInput: inputData
66
- });
67
- trm_commons_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, util_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
68
- const trmPackage = result.runtime.trmPackage.package;
69
- const trmArtifact = result.runtime.trmPackage.artifact;
70
- return {
71
- trmPackage,
72
- trmArtifact
73
- };
79
+ const lockScope = new utils_1.ActionLockScope(WORKFLOW_NAME);
80
+ yield lockScope.acquire([(0, utils_1.packageLockResource)(inputData.packageData.registry, inputData.packageData.name)]);
81
+ return (0, utils_1.withActionLockScope)(lockScope, () => __awaiter(this, void 0, void 0, function* () {
82
+ const result = yield (0, __1.executeWorkflow)(WORKFLOW_NAME, workflow, {
83
+ rawInput: inputData,
84
+ lockScope
85
+ }, __1.workflowCallbacks);
86
+ return {
87
+ trmPackage: result.output.trmPackage,
88
+ trmArtifact: result.output.trmArtifact
89
+ };
90
+ }));
74
91
  });
75
92
  }