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.
- package/dist/actions/checkPackageDependencies/analyze.d.ts +3 -0
- package/dist/actions/checkPackageDependencies/analyze.js +131 -0
- package/dist/actions/checkPackageDependencies/index.d.ts +28 -27
- package/dist/actions/checkPackageDependencies/index.js +12 -17
- package/dist/actions/checkPackageDependencies/init.d.ts +2 -2
- package/dist/actions/checkPackageDependencies/init.js +19 -11
- package/dist/actions/checkSapEntries/{buildOutput.d.ts → analyze.d.ts} +1 -1
- package/dist/actions/checkSapEntries/{analizeSapEntries.js → analyze.js} +40 -23
- package/dist/actions/checkSapEntries/index.d.ts +32 -21
- package/dist/actions/checkSapEntries/index.js +9 -14
- package/dist/actions/checkSapEntries/init.js +18 -10
- package/dist/actions/commons/IActionContext.d.ts +9 -0
- package/dist/actions/commons/index.d.ts +2 -0
- package/dist/actions/commons/index.js +18 -0
- package/dist/actions/commons/setSystemPackages.d.ts +3 -0
- package/dist/actions/{install → commons}/setSystemPackages.js +5 -6
- package/dist/actions/findDependencies/index.d.ts +47 -35
- package/dist/actions/findDependencies/index.js +18 -17
- package/dist/actions/findDependencies/init.js +22 -14
- package/dist/actions/findDependencies/parseSenvi.js +63 -29
- package/dist/actions/findDependencies/print.js +30 -23
- package/dist/actions/findDependencies/readRepositoryEnvironment.js +34 -11
- package/dist/actions/findDependencies/{readPackageData.d.ts → setObjects.d.ts} +1 -1
- package/dist/actions/findDependencies/setObjects.js +50 -0
- package/dist/actions/findDependencies/setTrmDependencies.js +14 -28
- package/dist/actions/index.d.ts +4 -2
- package/dist/actions/index.js +4 -2
- package/dist/actions/install/{readDevcTransport.d.ts → addNamespace.d.ts} +1 -1
- package/dist/actions/install/addNamespace.js +133 -0
- package/dist/actions/install/checkAlreadyInstalled.js +16 -25
- package/dist/actions/install/checkDependencies.js +34 -34
- package/dist/actions/install/checkIntegrity.js +14 -14
- package/dist/actions/install/{checkTadirContent.d.ts → checkObjectTypes.d.ts} +1 -1
- package/dist/actions/install/checkObjectTypes.js +50 -0
- package/dist/actions/install/checkSapEntries.js +21 -18
- package/dist/actions/install/checkTransports.js +75 -26
- package/dist/actions/install/generateDevclass.js +48 -59
- package/dist/actions/install/{checkTadirObjectTypes.d.ts → generateInstallTransport.d.ts} +1 -1
- package/dist/actions/install/generateInstallTransport.js +129 -0
- package/dist/actions/install/importCustTransport.js +15 -19
- package/dist/actions/install/{generateWbTransport.d.ts → importDevcTransport.d.ts} +1 -1
- package/dist/actions/install/importDevcTransport.js +61 -0
- package/dist/actions/install/importLangTransport.js +15 -19
- package/dist/actions/install/importTadirTransport.js +30 -36
- package/dist/actions/install/index.d.ts +84 -73
- package/dist/actions/install/index.js +28 -25
- package/dist/actions/install/init.js +109 -51
- package/dist/actions/install/installDependencies.js +79 -48
- package/dist/actions/install/{setDevclass.d.ts → readDevc.d.ts} +1 -1
- package/dist/actions/install/readDevc.js +29 -0
- package/dist/actions/install/{setSystemPackages.d.ts → readTadir.d.ts} +1 -1
- package/dist/actions/install/readTadir.js +34 -0
- package/dist/actions/install/setInstallDevclass.d.ts +3 -0
- package/dist/actions/install/setInstallDevclass.js +124 -0
- package/dist/actions/install/setPackageIntegrity.js +4 -6
- package/dist/actions/install/setR3trans.js +10 -6
- package/dist/actions/installDependency/findInstallRelease.js +19 -32
- package/dist/actions/installDependency/index.d.ts +18 -30
- package/dist/actions/installDependency/index.js +12 -14
- package/dist/actions/installDependency/init.js +55 -19
- package/dist/actions/installDependency/installRelease.js +19 -22
- package/dist/actions/publish/finalizePublish.js +7 -20
- package/dist/actions/publish/findDependencies.js +136 -21
- package/dist/actions/publish/generateCustTr.js +1 -1
- package/dist/actions/publish/{checkPackageExistance.d.ts → generateCustTransport.d.ts} +1 -1
- package/dist/actions/publish/generateCustTransport.js +63 -0
- package/dist/actions/publish/{editTrmDependencies.d.ts → generateDevcTransport.d.ts} +1 -1
- package/dist/actions/publish/generateDevcTransport.js +48 -0
- package/dist/actions/publish/{editSapEntries.d.ts → generateLangTransport.d.ts} +1 -1
- package/dist/actions/publish/generateLangTransport.js +71 -0
- package/dist/actions/publish/{setBackwardsCompatible.d.ts → generateTadirTransport.d.ts} +1 -1
- package/dist/actions/publish/generateTadirTransport.js +53 -0
- package/dist/actions/publish/index.d.ts +61 -68
- package/dist/actions/publish/index.js +30 -61
- package/dist/actions/publish/init.js +152 -75
- package/dist/actions/publish/{setCustTransports.d.ts → publishToRegistry.d.ts} +1 -1
- package/dist/actions/publish/{buildTrmPackageInstance.js → publishToRegistry.js} +13 -7
- package/dist/actions/publish/{generateLangTr.d.ts → releaseTransports.d.ts} +1 -1
- package/dist/actions/publish/releaseTransports.js +42 -0
- package/dist/actions/publish/{buildTrmPackageInstance.d.ts → setCustomizingTransports.d.ts} +1 -1
- package/dist/actions/publish/setCustomizingTransports.js +84 -0
- package/dist/actions/publish/setDevclass.js +53 -21
- package/dist/actions/publish/setManifestValues.js +132 -80
- package/dist/actions/publish/setReadme.js +20 -21
- package/dist/actions/publish/setTransportTarget.js +30 -38
- package/dist/client/IClient.d.ts +2 -0
- package/dist/{systemConnector → client}/Login.d.ts +1 -1
- package/dist/client/RESTClient.d.ts +52 -0
- package/dist/client/RESTClient.js +499 -0
- package/dist/client/RFCClient.d.ts +11 -3
- package/dist/client/RFCClient.js +123 -18
- package/dist/client/components/NAMESPACE.d.ts +1 -0
- package/dist/client/components/NAMESPACE.js +2 -0
- package/dist/client/components/NSP_OWNER.d.ts +1 -0
- package/dist/client/components/NSP_OWNER.js +2 -0
- package/dist/client/components/NSP_TEXT.d.ts +1 -0
- package/dist/client/components/NSP_TEXT.js +2 -0
- package/dist/client/components/RFCDEST.d.ts +1 -0
- package/dist/client/components/RFCDEST.js +2 -0
- package/dist/client/components/TRNLICENSE.d.ts +1 -0
- package/dist/client/components/TRNLICENSE.js +2 -0
- package/dist/client/components/index.d.ts +5 -0
- package/dist/client/components/index.js +5 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.js +3 -0
- package/dist/client/struct/STMSIQREQ.d.ts +1 -0
- package/dist/client/struct/TRNSPACET.d.ts +5 -0
- package/dist/client/struct/TRNSPACET.js +2 -0
- package/dist/client/struct/TRNSPACETT.d.ts +7 -0
- package/dist/client/struct/TRNSPACETT.js +2 -0
- package/dist/client/struct/index.d.ts +2 -0
- package/dist/client/struct/index.js +2 -0
- package/dist/commons/fromAbapToDate.js +1 -2
- package/dist/commons/getAxiosInstance.d.ts +5 -0
- package/dist/commons/getAxiosInstance.js +94 -0
- package/dist/commons/getFileSysSeparator.js +1 -2
- package/dist/commons/getNpmGlobalPath.d.ts +1 -0
- package/dist/commons/getNpmGlobalPath.js +30 -0
- package/dist/commons/getPackageHierarchy.js +1 -2
- package/dist/commons/getPackageNamespace.js +2 -3
- package/dist/commons/getParentFromHierarchy.js +1 -2
- package/dist/commons/index.d.ts +2 -0
- package/dist/commons/index.js +2 -0
- package/dist/commons/normalize.js +1 -2
- package/dist/commons/parsePackageName.js +1 -2
- package/dist/commons/validateOrganizationName.js +1 -2
- package/dist/inquirer/CliInquirer.d.ts +4 -0
- package/dist/inquirer/CliInquirer.js +13 -1
- package/dist/inquirer/IInquirer.d.ts +3 -0
- package/dist/inquirer/Inquirer.d.ts +3 -0
- package/dist/inquirer/Inquirer.js +15 -0
- package/dist/inquirer/validators/validateDevclass.js +5 -3
- package/dist/inquirer/validators/validateTransportTarget.js +1 -2
- package/dist/logger/CliLogFileLogger.d.ts +1 -1
- package/dist/logger/CliLogger.d.ts +6 -2
- package/dist/logger/CliLogger.js +24 -4
- package/dist/logger/ConsoleLogger.d.ts +5 -1
- package/dist/logger/ConsoleLogger.js +20 -9
- package/dist/logger/DummyLogger.d.ts +4 -1
- package/dist/logger/DummyLogger.js +5 -0
- package/dist/logger/ILogger.d.ts +4 -1
- package/dist/logger/Logger.d.ts +3 -1
- package/dist/logger/Logger.js +17 -2
- package/dist/manifest/Manifest.js +43 -0
- package/dist/manifest/TrmManifest.d.ts +5 -13
- package/dist/manifest/TrmManifestBase.d.ts +13 -0
- package/dist/manifest/TrmManifestBase.js +2 -0
- package/dist/manifest/TrmManifestNamespace.d.ts +8 -0
- package/dist/manifest/TrmManifestNamespace.js +2 -0
- package/dist/manifest/index.d.ts +2 -0
- package/dist/manifest/index.js +2 -0
- package/dist/registry/Registry.d.ts +0 -1
- package/dist/registry/Registry.js +13 -75
- package/dist/systemConnector/ISystemConnector.d.ts +12 -30
- package/dist/systemConnector/ISystemConnectorBase.d.ts +33 -0
- package/dist/systemConnector/ISystemConnectorBase.js +2 -0
- package/dist/systemConnector/RESTConnection.d.ts +5 -0
- package/dist/systemConnector/RESTConnection.js +2 -0
- package/dist/systemConnector/{ServerSystemConnector.d.ts → RESTSystemConnector.d.ts} +23 -38
- package/dist/systemConnector/RESTSystemConnector.js +275 -0
- package/dist/systemConnector/{Connection.d.ts → RFCConnection.d.ts} +1 -1
- package/dist/systemConnector/RFCConnection.js +2 -0
- package/dist/systemConnector/RFCSystemConnector.d.ts +62 -0
- package/dist/systemConnector/RFCSystemConnector.js +246 -0
- package/dist/systemConnector/SystemConnector.d.ts +15 -3
- package/dist/systemConnector/SystemConnector.js +69 -8
- package/dist/systemConnector/SystemConnectorBase.d.ts +51 -0
- package/dist/systemConnector/{ServerSystemConnector.js → SystemConnectorBase.js} +109 -267
- package/dist/systemConnector/SystemConnectorSupportedBulk.d.ts +4 -0
- package/dist/systemConnector/SystemConnectorSupportedBulk.js +2 -0
- package/dist/systemConnector/index.d.ts +11 -4
- package/dist/systemConnector/index.js +11 -4
- package/dist/transport/BinaryTransport.d.ts +0 -1
- package/dist/transport/Transport.d.ts +2 -3
- package/dist/transport/Transport.js +65 -17
- package/dist/trmPackage/TrmArtifact.d.ts +0 -1
- package/dist/trmPackage/TrmPackage.d.ts +5 -1
- package/dist/trmPackage/TrmPackage.js +6 -2
- package/package.json +5 -4
- package/dist/actions/checkPackageDependencies/analizeDependencies.d.ts +0 -3
- package/dist/actions/checkPackageDependencies/analizeDependencies.js +0 -84
- package/dist/actions/checkPackageDependencies/buildOutput.d.ts +0 -3
- package/dist/actions/checkPackageDependencies/buildOutput.js +0 -82
- package/dist/actions/checkPackageDependencies/setSystemPackages.d.ts +0 -3
- package/dist/actions/checkPackageDependencies/setSystemPackages.js +0 -28
- package/dist/actions/checkSapEntries/analizeSapEntries.d.ts +0 -3
- package/dist/actions/checkSapEntries/buildOutput.js +0 -46
- package/dist/actions/findDependencies/acknowledgementSize.d.ts +0 -3
- package/dist/actions/findDependencies/acknowledgementSize.js +0 -43
- package/dist/actions/findDependencies/readPackageData.js +0 -22
- package/dist/actions/findDependencies/readPackageObjects.d.ts +0 -3
- package/dist/actions/findDependencies/readPackageObjects.js +0 -26
- package/dist/actions/findDependencies/setSystemPackages.d.ts +0 -3
- package/dist/actions/findDependencies/setSystemPackages.js +0 -25
- package/dist/actions/install/checkTadirContent.js +0 -50
- package/dist/actions/install/checkTadirObjectTypes.js +0 -54
- package/dist/actions/install/generateWbTransport.js +0 -90
- package/dist/actions/install/readDevcTransport.js +0 -30
- package/dist/actions/install/setDevclass.js +0 -115
- package/dist/actions/installDependency/checkAlreadyInstalled.d.ts +0 -3
- package/dist/actions/installDependency/checkAlreadyInstalled.js +0 -42
- package/dist/actions/installDependency/getRangeReleases.d.ts +0 -3
- package/dist/actions/installDependency/getRangeReleases.js +0 -38
- package/dist/actions/installDependency/setSystemPackages.d.ts +0 -3
- package/dist/actions/installDependency/setSystemPackages.js +0 -25
- package/dist/actions/publish/checkPackageExistance.js +0 -27
- package/dist/actions/publish/checkPublishAllowed.d.ts +0 -3
- package/dist/actions/publish/checkPublishAllowed.js +0 -33
- package/dist/actions/publish/editSapEntries.js +0 -69
- package/dist/actions/publish/editTrmDependencies.js +0 -69
- package/dist/actions/publish/generateDevcTr.d.ts +0 -3
- package/dist/actions/publish/generateDevcTr.js +0 -47
- package/dist/actions/publish/generateLangTr.js +0 -69
- package/dist/actions/publish/generateTadirTr.d.ts +0 -3
- package/dist/actions/publish/generateTadirTr.js +0 -52
- package/dist/actions/publish/generateTrmArtifact.d.ts +0 -3
- package/dist/actions/publish/generateTrmArtifact.js +0 -30
- package/dist/actions/publish/logDependencies.d.ts +0 -3
- package/dist/actions/publish/logDependencies.js +0 -31
- package/dist/actions/publish/overwriteManifestValues.d.ts +0 -3
- package/dist/actions/publish/overwriteManifestValues.js +0 -46
- package/dist/actions/publish/publishTrmArtifact.d.ts +0 -3
- package/dist/actions/publish/publishTrmArtifact.js +0 -23
- package/dist/actions/publish/releaseCustTr.d.ts +0 -3
- package/dist/actions/publish/releaseCustTr.js +0 -34
- package/dist/actions/publish/releaseDevcTr.d.ts +0 -3
- package/dist/actions/publish/releaseDevcTr.js +0 -23
- package/dist/actions/publish/releaseLangTr.d.ts +0 -3
- package/dist/actions/publish/releaseLangTr.js +0 -34
- package/dist/actions/publish/releaseTadirTr.d.ts +0 -3
- package/dist/actions/publish/releaseTadirTr.js +0 -23
- package/dist/actions/publish/setBackwardsCompatible.js +0 -54
- package/dist/actions/publish/setCustTransports.js +0 -49
- package/dist/actions/publish/setDevclassObjs.d.ts +0 -3
- package/dist/actions/publish/setDevclassObjs.js +0 -22
- package/dist/actions/publish/setPrivate.d.ts +0 -3
- package/dist/actions/publish/setPrivate.js +0 -61
- package/dist/actions/publish/setSapEntries.d.ts +0 -3
- package/dist/actions/publish/setSapEntries.js +0 -46
- package/dist/actions/publish/setTrmDependencies.d.ts +0 -3
- package/dist/actions/publish/setTrmDependencies.js +0 -59
- /package/dist/{systemConnector/Connection.js → actions/commons/IActionContext.js} +0 -0
- /package/dist/{systemConnector → client}/Login.js +0 -0
- /package/dist/{systemConnector → client}/SapMessage.d.ts +0 -0
- /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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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 "${
|
|
27
|
-
}
|
|
28
|
-
context.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
|
15
|
-
const SUBWORKFLOW_NAME = '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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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,
|
|
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.
|
|
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.
|
|
20
|
+
logger_1.Logger.log('Finalize publish step', true);
|
|
21
21
|
try {
|
|
22
|
-
|
|
23
|
-
|
|
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.
|
|
31
|
-
package_registry: context.
|
|
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
|
|
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.
|
|
20
|
-
logger_1.Logger.
|
|
21
|
-
logger_1.Logger.warning(`Skipping
|
|
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
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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: ${
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
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 {
|
|
@@ -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
|
+
};
|
|
@@ -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
|
+
};
|
|
@@ -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
|
+
};
|
|
@@ -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
|
+
};
|