trm-core 7.5.6 → 8.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.
- package/changelog.txt +15 -0
- package/dist/actions/checkPackageDependencies/analyze.js +5 -51
- package/dist/actions/checkPackageDependencies/index.d.ts +2 -5
- package/dist/actions/checkPackageDependencies/init.js +5 -7
- package/dist/actions/checkSapEntries/analyze.js +2 -2
- package/dist/actions/checkSapEntries/index.d.ts +2 -2
- package/dist/actions/checkSapEntries/init.js +1 -4
- package/dist/actions/findDependencies/index.d.ts +0 -2
- package/dist/actions/findDependencies/setTrmDependencies.js +11 -55
- package/dist/actions/install/addNamespace.js +14 -9
- package/dist/actions/install/checkAlreadyInstalled.js +2 -2
- package/dist/actions/install/checkDependencies.js +2 -16
- package/dist/actions/install/checkSapEntries.js +1 -1
- package/dist/actions/install/checkTransports.js +2 -2
- package/dist/actions/install/executePostActivities.js +3 -3
- package/dist/actions/install/generateInstallTransport.js +40 -5
- package/dist/actions/install/index.d.ts +6 -10
- package/dist/actions/install/index.js +2 -4
- package/dist/actions/install/init.js +37 -45
- package/dist/actions/install/installDependencies.js +0 -1
- package/dist/actions/install/setPackageIntegrity.js +1 -1
- package/dist/actions/install/setTrmServerUpgradeService.js +1 -1
- package/dist/actions/installDependency/findInstallRelease.js +18 -18
- package/dist/actions/installDependency/index.d.ts +0 -1
- package/dist/actions/installDependency/init.js +0 -7
- package/dist/actions/installDependency/installRelease.js +0 -1
- package/dist/actions/publish/findDependencies.js +0 -12
- package/dist/actions/publish/generateCustTransport.js +0 -3
- package/dist/actions/publish/generateDevcTransport.js +0 -4
- package/dist/actions/publish/generateLangTransport.js +0 -3
- package/dist/actions/publish/getSourceCode.js +1 -1
- package/dist/actions/publish/index.d.ts +1 -1
- package/dist/actions/publish/init.js +71 -95
- package/dist/actions/publish/setManifestValues.js +4 -13
- package/dist/commons/getAxiosInstance.d.ts +1 -1
- package/dist/manifest/Manifest.d.ts +2 -0
- package/dist/manifest/Manifest.js +47 -17
- package/dist/manifest/TrmManifestDependency.d.ts +0 -1
- package/dist/registry/AbstractRegistry.d.ts +7 -7
- package/dist/registry/FileSystem.d.ts +7 -6
- package/dist/registry/FileSystem.js +35 -34
- package/dist/registry/RegistryProvider.js +4 -4
- package/dist/registry/{Registry.d.ts → RegistryV2.d.ts} +11 -10
- package/dist/registry/{Registry.js → RegistryV2.js} +146 -74
- package/dist/registry/index.d.ts +1 -1
- package/dist/registry/index.js +1 -1
- package/dist/systemConnector/ISystemConnectorBase.d.ts +1 -1
- package/dist/systemConnector/SystemConnector.d.ts +1 -1
- package/dist/systemConnector/SystemConnector.js +3 -3
- package/dist/systemConnector/SystemConnectorBase.d.ts +1 -1
- package/dist/systemConnector/SystemConnectorBase.js +33 -11
- package/dist/transport/Transport.d.ts +4 -1
- package/dist/transport/Transport.js +54 -31
- package/dist/trmPackage/TrmArtifact.js +3 -5
- package/dist/trmPackage/TrmPackage.d.ts +0 -16
- package/dist/trmPackage/TrmPackage.js +10 -133
- package/dist/validators/validatePackageVisibility.d.ts +1 -1
- package/dist/validators/validatePackageVisibility.js +2 -16
- package/package.json +4 -3
- package/dist/actions/install/checkIntegrity.d.ts +0 -3
- package/dist/actions/install/checkIntegrity.js +0 -42
package/changelog.txt
CHANGED
|
@@ -8,6 +8,21 @@ Legend
|
|
|
8
8
|
+ : added
|
|
9
9
|
- : removed
|
|
10
10
|
|
|
11
|
+
2025-10-24 v8.0.1
|
|
12
|
+
-------------------
|
|
13
|
+
* fix transport relevant for dependency detection issue
|
|
14
|
+
|
|
15
|
+
2025-10-21 v8.0.0
|
|
16
|
+
-------------------
|
|
17
|
+
! implement registry v2
|
|
18
|
+
- misuse of integrity
|
|
19
|
+
* error messages on publish rollback
|
|
20
|
+
! trm-registry-types ^2.0.0
|
|
21
|
+
! transport rc read
|
|
22
|
+
! get workbench method
|
|
23
|
+
+ handle install transport for same package local/remote
|
|
24
|
+
! manifest.json keys order
|
|
25
|
+
|
|
11
26
|
2025-10-01 v7.5.5
|
|
12
27
|
-------------------
|
|
13
28
|
! trm-commons ^3.4.2
|
|
@@ -14,7 +14,6 @@ const trm_commons_1 = require("trm-commons");
|
|
|
14
14
|
const trmPackage_1 = require("../../trmPackage");
|
|
15
15
|
const registry_1 = require("../../registry");
|
|
16
16
|
const semver_1 = require("semver");
|
|
17
|
-
const systemConnector_1 = require("../../systemConnector");
|
|
18
17
|
exports.analyze = {
|
|
19
18
|
name: 'analyze',
|
|
20
19
|
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -22,15 +21,15 @@ exports.analyze = {
|
|
|
22
21
|
return true;
|
|
23
22
|
}
|
|
24
23
|
else {
|
|
25
|
-
trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.
|
|
24
|
+
trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.manifest.name} has no TRM package dependencies`, !context.rawInput.printOptions.information);
|
|
26
25
|
return false;
|
|
27
26
|
}
|
|
28
27
|
}),
|
|
29
28
|
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
29
|
trm_commons_1.Logger.log('Analyze step', true);
|
|
31
|
-
trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.
|
|
30
|
+
trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.manifest.name} has ${context.output.dependencies.length} TRM package dependencies`, !context.rawInput.printOptions.information);
|
|
32
31
|
var table = {
|
|
33
|
-
header: ['Dependency', 'Registry', 'Dependency range', 'Version on system', 'Version status'
|
|
32
|
+
header: ['Dependency', 'Registry', 'Dependency range', 'Version on system', 'Version status'],
|
|
34
33
|
data: []
|
|
35
34
|
};
|
|
36
35
|
var tableData;
|
|
@@ -55,23 +54,6 @@ exports.analyze = {
|
|
|
55
54
|
tableData.push('ERR!');
|
|
56
55
|
context.runtime.dependenciesStatus.badVersion.push(dependency);
|
|
57
56
|
}
|
|
58
|
-
try {
|
|
59
|
-
const installedPackageIntegrity = yield systemConnector_1.SystemConnector.getPackageIntegrity(systemInstalledPackage);
|
|
60
|
-
if (installedPackageIntegrity === dependency.integrity) {
|
|
61
|
-
tableData.push('Safe');
|
|
62
|
-
context.runtime.dependenciesStatus.goodIntegrity.push(dependency);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
tableData.push('Unsafe');
|
|
66
|
-
context.runtime.dependenciesStatus.badIntegrity.push(dependency);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
tableData.push('Unknown');
|
|
71
|
-
context.runtime.dependenciesStatus.badIntegrity.push(dependency);
|
|
72
|
-
trm_commons_1.Logger.error(e.toString(), true);
|
|
73
|
-
trm_commons_1.Logger.error(`Couldn't retrieve package integrity`, true);
|
|
74
|
-
}
|
|
75
57
|
table.data.push(tableData);
|
|
76
58
|
}
|
|
77
59
|
trm_commons_1.Logger.table(table.header, table.data, !context.rawInput.printOptions.dependencyStatus);
|
|
@@ -83,8 +65,7 @@ exports.analyze = {
|
|
|
83
65
|
else {
|
|
84
66
|
context.output.dependencyStatus.push({
|
|
85
67
|
dependency: o,
|
|
86
|
-
match: true
|
|
87
|
-
safe: null
|
|
68
|
+
match: true
|
|
88
69
|
});
|
|
89
70
|
}
|
|
90
71
|
});
|
|
@@ -96,34 +77,7 @@ exports.analyze = {
|
|
|
96
77
|
else {
|
|
97
78
|
context.output.dependencyStatus.push({
|
|
98
79
|
dependency: o,
|
|
99
|
-
match: false
|
|
100
|
-
safe: null
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
context.runtime.dependenciesStatus.goodIntegrity.forEach(o => {
|
|
105
|
-
const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
|
|
106
|
-
if (i >= 0) {
|
|
107
|
-
context.output.dependencyStatus[i].safe = true;
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
context.output.dependencyStatus.push({
|
|
111
|
-
dependency: o,
|
|
112
|
-
match: null,
|
|
113
|
-
safe: true
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
context.runtime.dependenciesStatus.badIntegrity.forEach(o => {
|
|
118
|
-
const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
|
|
119
|
-
if (i >= 0) {
|
|
120
|
-
context.output.dependencyStatus[i].safe = false;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
context.output.dependencyStatus.push({
|
|
124
|
-
dependency: o,
|
|
125
|
-
match: null,
|
|
126
|
-
safe: false
|
|
80
|
+
match: false
|
|
127
81
|
});
|
|
128
82
|
}
|
|
129
83
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { TrmPackage } from "../../trmPackage";
|
|
2
2
|
import { IActionContext } from "../commons";
|
|
3
|
-
import { TrmManifestDependency } from "../../manifest";
|
|
3
|
+
import { TrmManifest, TrmManifestDependency } from "../../manifest";
|
|
4
4
|
export interface CheckPackageDependenciesActionInput {
|
|
5
5
|
contextData?: {
|
|
6
6
|
systemPackages?: TrmPackage[];
|
|
7
7
|
};
|
|
8
8
|
packageData: {
|
|
9
|
-
|
|
9
|
+
manifest: TrmManifest;
|
|
10
10
|
};
|
|
11
11
|
printOptions?: {
|
|
12
12
|
dependencyStatus?: boolean;
|
|
@@ -17,8 +17,6 @@ type WorkflowRuntime = {
|
|
|
17
17
|
dependenciesStatus: {
|
|
18
18
|
goodVersion: TrmManifestDependency[];
|
|
19
19
|
badVersion: TrmManifestDependency[];
|
|
20
|
-
goodIntegrity: TrmManifestDependency[];
|
|
21
|
-
badIntegrity: TrmManifestDependency[];
|
|
22
20
|
};
|
|
23
21
|
};
|
|
24
22
|
export type CheckPackageDependenciesActionOutput = {
|
|
@@ -26,7 +24,6 @@ export type CheckPackageDependenciesActionOutput = {
|
|
|
26
24
|
dependencyStatus: {
|
|
27
25
|
dependency: TrmManifestDependency;
|
|
28
26
|
match: boolean;
|
|
29
|
-
safe: boolean;
|
|
30
27
|
}[];
|
|
31
28
|
};
|
|
32
29
|
export interface CheckPackageDependenciesWorkflowContext extends IActionContext {
|
|
@@ -22,17 +22,15 @@ exports.init = {
|
|
|
22
22
|
context.runtime = {
|
|
23
23
|
dependenciesStatus: {
|
|
24
24
|
goodVersion: [],
|
|
25
|
-
badVersion: []
|
|
26
|
-
goodIntegrity: [],
|
|
27
|
-
badIntegrity: []
|
|
25
|
+
badVersion: []
|
|
28
26
|
}
|
|
29
27
|
};
|
|
30
|
-
|
|
31
|
-
const manifest = context.rawInput.packageData.package.manifest.get();
|
|
32
|
-
context.output.dependencies = manifest.dependencies || [];
|
|
33
|
-
}
|
|
28
|
+
context.output.dependencies = context.rawInput.packageData.manifest.dependencies || [];
|
|
34
29
|
if (!context.rawInput.printOptions) {
|
|
35
30
|
context.rawInput.printOptions = {};
|
|
36
31
|
}
|
|
32
|
+
if (!context.rawInput.contextData) {
|
|
33
|
+
context.rawInput.contextData = {};
|
|
34
|
+
}
|
|
37
35
|
})
|
|
38
36
|
};
|
|
@@ -19,7 +19,7 @@ exports.analyze = {
|
|
|
19
19
|
return true;
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
|
-
trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.
|
|
22
|
+
trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.manifest.name} has no SAP entries`, !context.rawInput.printOptions.information);
|
|
23
23
|
return false;
|
|
24
24
|
}
|
|
25
25
|
}),
|
|
@@ -43,7 +43,7 @@ exports.analyze = {
|
|
|
43
43
|
fields: aFields
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
|
-
trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.
|
|
46
|
+
trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.manifest.name} has ${entriesCount} SAP entries`, !context.rawInput.printOptions.information);
|
|
47
47
|
if (entriesCount === 0) {
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
@@ -26,10 +26,7 @@ exports.init = {
|
|
|
26
26
|
},
|
|
27
27
|
missingTables: []
|
|
28
28
|
};
|
|
29
|
-
|
|
30
|
-
const manifest = context.rawInput.packageData.package.manifest.get();
|
|
31
|
-
context.output.sapEntries = manifest.sapEntries || {};
|
|
32
|
-
}
|
|
29
|
+
context.output.sapEntries = context.rawInput.packageData.manifest.sapEntries || {};
|
|
33
30
|
if (!context.rawInput.printOptions) {
|
|
34
31
|
context.rawInput.printOptions = {};
|
|
35
32
|
}
|
|
@@ -55,31 +55,15 @@ const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, v
|
|
|
55
55
|
var index = 0;
|
|
56
56
|
if (!trmServerPackage) {
|
|
57
57
|
try {
|
|
58
|
-
|
|
59
|
-
if (systemTrmServerPackage.manifest) {
|
|
60
|
-
trmServerPackage = { package: systemTrmServerPackage };
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
trmServerPackage = {};
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
catch (e) {
|
|
67
|
-
trmServerPackage = {};
|
|
58
|
+
trmServerPackage = yield systemConnector_1.SystemConnector.getTrmServerPackage();
|
|
68
59
|
}
|
|
60
|
+
catch (_a) { }
|
|
69
61
|
}
|
|
70
62
|
if (!trmRestPackage) {
|
|
71
63
|
try {
|
|
72
|
-
|
|
73
|
-
if (systemTrmRestPackage.manifest) {
|
|
74
|
-
trmRestPackage = { package: systemTrmRestPackage };
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
trmRestPackage = {};
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch (e) {
|
|
81
|
-
trmRestPackage = {};
|
|
64
|
+
trmRestPackage = yield systemConnector_1.SystemConnector.getTrmRestPackage();
|
|
82
65
|
}
|
|
66
|
+
catch (_b) { }
|
|
83
67
|
}
|
|
84
68
|
for (const tadirDependency of tadirDependencies) {
|
|
85
69
|
index++;
|
|
@@ -94,42 +78,23 @@ const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, v
|
|
|
94
78
|
var latestTransport;
|
|
95
79
|
var devclass;
|
|
96
80
|
var trmPackage;
|
|
97
|
-
var integrity;
|
|
98
81
|
var arrayIndex1;
|
|
99
82
|
var arrayIndex2;
|
|
100
83
|
var append;
|
|
101
|
-
var ignoreNoIntegrity;
|
|
102
84
|
trmPackage = null;
|
|
103
|
-
if (trmServerPackage
|
|
85
|
+
if (trmServerPackage && trmServerPackage.getDevclass() === tadir.devclass) {
|
|
104
86
|
trm_commons_1.Logger.log(`Dependency with TRM SERVER package`, true);
|
|
105
|
-
devclass = trmServerPackage.
|
|
106
|
-
trmPackage = trmServerPackage
|
|
107
|
-
if (trmServerPackage.integrity) {
|
|
108
|
-
integrity = trmServerPackage.integrity;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
integrity = yield systemConnector_1.SystemConnector.getPackageIntegrity(trmPackage);
|
|
112
|
-
trmServerPackage.integrity = integrity;
|
|
113
|
-
}
|
|
87
|
+
devclass = trmServerPackage.getDevclass();
|
|
88
|
+
trmPackage = trmServerPackage;
|
|
114
89
|
append = true;
|
|
115
|
-
ignoreNoIntegrity = true;
|
|
116
90
|
}
|
|
117
|
-
else if (trmRestPackage
|
|
91
|
+
else if (trmRestPackage && trmRestPackage.getDevclass() === tadir.devclass) {
|
|
118
92
|
trm_commons_1.Logger.log(`Dependency with TRM REST package`, true);
|
|
119
|
-
devclass = trmRestPackage.
|
|
120
|
-
trmPackage = trmRestPackage
|
|
121
|
-
if (trmRestPackage.integrity) {
|
|
122
|
-
integrity = trmRestPackage.integrity;
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
integrity = yield systemConnector_1.SystemConnector.getPackageIntegrity(trmPackage);
|
|
126
|
-
trmRestPackage.integrity = integrity;
|
|
127
|
-
}
|
|
93
|
+
devclass = trmRestPackage.getDevclass();
|
|
94
|
+
trmPackage = trmRestPackage;
|
|
128
95
|
append = true;
|
|
129
|
-
ignoreNoIntegrity = true;
|
|
130
96
|
}
|
|
131
97
|
else {
|
|
132
|
-
ignoreNoIntegrity = false;
|
|
133
98
|
trm_commons_1.Logger.log(`Searching transports for object ${tadir.pgmid} ${tadir.object} ${tadir.objName}`, true);
|
|
134
99
|
const allTransports = yield transport_1.Transport.getTransportsFromObject(tadir, transportsObjectCache);
|
|
135
100
|
trm_commons_1.Logger.log(`Found ${allTransports.length} transports for object ${tadir.pgmid} ${tadir.object} ${tadir.objName}`, true);
|
|
@@ -160,23 +125,17 @@ const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, v
|
|
|
160
125
|
if (latestTransport) {
|
|
161
126
|
trm_commons_1.Logger.log(`Latest transport is ${latestTransport.trkorr}`, true);
|
|
162
127
|
const iTransportsCache = transportsCache.findIndex(o => o.trkorr === latestTransport.trkorr);
|
|
163
|
-
if (transportsCache[iTransportsCache].devclass
|
|
128
|
+
if (transportsCache[iTransportsCache].devclass) {
|
|
164
129
|
trm_commons_1.Logger.log(`Transport ${latestTransport.trkorr} in cache, not reading again...`, true);
|
|
165
130
|
devclass = transportsCache[iTransportsCache].devclass;
|
|
166
|
-
integrity = transportsCache[iTransportsCache].integrity;
|
|
167
131
|
}
|
|
168
132
|
else {
|
|
169
133
|
trmPackage = yield latestTransport.getLinkedPackage();
|
|
170
134
|
const alreadyInArray = trmDependencies.find(o => o.package && trmPackage_1.TrmPackage.compare(o.package, trmPackage));
|
|
171
135
|
if (alreadyInArray) {
|
|
172
136
|
devclass = alreadyInArray.devclass;
|
|
173
|
-
integrity = alreadyInArray.integrity;
|
|
174
137
|
}
|
|
175
138
|
else {
|
|
176
|
-
integrity = yield systemConnector_1.SystemConnector.getPackageIntegrity(trmPackage);
|
|
177
|
-
if (!integrity) {
|
|
178
|
-
throw new Error(`Package "${trmPackage.packageName}", integrity not found!`);
|
|
179
|
-
}
|
|
180
139
|
try {
|
|
181
140
|
devclass = yield latestTransport.getDevclass();
|
|
182
141
|
}
|
|
@@ -185,7 +144,6 @@ const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, v
|
|
|
185
144
|
}
|
|
186
145
|
}
|
|
187
146
|
transportsCache[iTransportsCache].devclass = devclass;
|
|
188
|
-
transportsCache[iTransportsCache].integrity = integrity;
|
|
189
147
|
}
|
|
190
148
|
append = true;
|
|
191
149
|
}
|
|
@@ -215,8 +173,6 @@ const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, v
|
|
|
215
173
|
arrayIndex1 = trmDependencies.push({
|
|
216
174
|
devclass,
|
|
217
175
|
package: trmPackage,
|
|
218
|
-
integrity,
|
|
219
|
-
ignoreNoIntegrity,
|
|
220
176
|
sapEntries: []
|
|
221
177
|
});
|
|
222
178
|
arrayIndex1--;
|
|
@@ -17,7 +17,6 @@ exports.addNamespace = {
|
|
|
17
17
|
name: 'add-namespace',
|
|
18
18
|
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
19
|
trm_commons_1.Logger.log('Add namespace step', true);
|
|
20
|
-
context.runtime.rollback = true;
|
|
21
20
|
var originalNamespace = (0, commons_1.getPackageNamespace)(context.runtime.originalData.hierarchy.devclass);
|
|
22
21
|
trm_commons_1.Logger.log(`Package original namespace is ${originalNamespace}`, true);
|
|
23
22
|
if (!context.rawInput.installData.installDevclass.keepOriginal && context.rawInput.installData.installDevclass.replacements.length > 0) {
|
|
@@ -30,6 +29,12 @@ exports.addNamespace = {
|
|
|
30
29
|
trm_commons_1.Logger.log(`Package install namespace is ${context.runtime.installData.namespace}`, true);
|
|
31
30
|
return;
|
|
32
31
|
}
|
|
32
|
+
else {
|
|
33
|
+
if (context.rawInput.installData.installDevclass.skipNamespace) {
|
|
34
|
+
trm_commons_1.Logger.info(`Skipping install of namespace ${context.runtime.installData.namespace}`, false);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
33
38
|
trm_commons_1.Logger.loading(`Checking namespace ${context.runtime.installData.namespace}...`);
|
|
34
39
|
var namespace;
|
|
35
40
|
const namespaceCheck = yield systemConnector_1.SystemConnector.getNamespace(context.runtime.installData.namespace);
|
|
@@ -80,15 +85,15 @@ exports.addNamespace = {
|
|
|
80
85
|
}
|
|
81
86
|
}
|
|
82
87
|
else {
|
|
83
|
-
if (context.runtime.remotePackageData.
|
|
84
|
-
replicense = context.runtime.remotePackageData.
|
|
85
|
-
if (context.runtime.remotePackageData.
|
|
86
|
-
if (context.runtime.remotePackageData.
|
|
88
|
+
if (context.runtime.remotePackageData.manifest.namespace) {
|
|
89
|
+
replicense = context.runtime.remotePackageData.manifest.namespace.replicense;
|
|
90
|
+
if (context.runtime.remotePackageData.manifest.namespace.texts && context.runtime.remotePackageData.manifest.namespace.texts.length > 0) {
|
|
91
|
+
if (context.runtime.remotePackageData.manifest.namespace.texts.length === 1 || context.rawInput.contextData.noInquirer) {
|
|
87
92
|
texts = {
|
|
88
93
|
namespace: context.runtime.installData.namespace,
|
|
89
|
-
descriptn: context.runtime.remotePackageData.
|
|
90
|
-
owner: context.runtime.remotePackageData.
|
|
91
|
-
spras: context.runtime.remotePackageData.
|
|
94
|
+
descriptn: context.runtime.remotePackageData.manifest.namespace.texts[0].description,
|
|
95
|
+
owner: context.runtime.remotePackageData.manifest.namespace.texts[0].owner,
|
|
96
|
+
spras: context.runtime.remotePackageData.manifest.namespace.texts[0].language
|
|
92
97
|
};
|
|
93
98
|
}
|
|
94
99
|
else {
|
|
@@ -97,7 +102,7 @@ exports.addNamespace = {
|
|
|
97
102
|
type: 'list',
|
|
98
103
|
message: 'Choose namespace install text',
|
|
99
104
|
name: 'choice',
|
|
100
|
-
choices: context.runtime.remotePackageData.
|
|
105
|
+
choices: context.runtime.remotePackageData.manifest.namespace.texts.map(o => {
|
|
101
106
|
return {
|
|
102
107
|
name: `${o.language} ${o.description} ${o.owner}`,
|
|
103
108
|
value: {
|
|
@@ -19,8 +19,8 @@ exports.checkAlreadyInstalled = {
|
|
|
19
19
|
trm_commons_1.Logger.log('Check already installed step', true);
|
|
20
20
|
const installedPackages = context.rawInput.contextData.systemPackages;
|
|
21
21
|
const manifest = context.runtime.remotePackageData.manifest;
|
|
22
|
-
const trmManifest = context.runtime.remotePackageData.
|
|
23
|
-
const installedPackage = installedPackages.find(o => manifest_1.Manifest.compare(o.manifest, manifest, false));
|
|
22
|
+
const trmManifest = context.runtime.remotePackageData.manifest;
|
|
23
|
+
const installedPackage = installedPackages.find(o => manifest_1.Manifest.compare(o.manifest, new manifest_1.Manifest(manifest), false));
|
|
24
24
|
if (installedPackage) {
|
|
25
25
|
const installVersion = trmManifest.version;
|
|
26
26
|
const installedVersion = installedPackage.manifest.get().version;
|
|
@@ -28,7 +28,7 @@ exports.checkDependencies = {
|
|
|
28
28
|
trm_commons_1.Logger.log('Check dependencies step', true);
|
|
29
29
|
const inputData = {
|
|
30
30
|
packageData: {
|
|
31
|
-
|
|
31
|
+
manifest: context.runtime.remotePackageData.manifest
|
|
32
32
|
},
|
|
33
33
|
contextData: {
|
|
34
34
|
systemPackages: context.rawInput.contextData.systemPackages
|
|
@@ -50,20 +50,6 @@ exports.checkDependencies = {
|
|
|
50
50
|
trm_commons_1.Logger.info(`"${context.rawInput.packageData.name}" has ${result.dependencies.length} dependencies: ${result.dependencyStatus.filter(o => o.match).length} installed, ${result.dependencyStatus.filter(o => !o.match).length} missing.`);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
result.dependencyStatus.
|
|
54
|
-
if (!o.match) {
|
|
55
|
-
context.runtime.dependenciesToInstall.push(o.dependency);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
if (!o.safe) {
|
|
59
|
-
if (context.rawInput.installData.checks.safe) {
|
|
60
|
-
throw new Error(`Dependency "${o.dependency.name}" is installed, but integrity doesn't match.`);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
trm_commons_1.Logger.warning(`Dependency "${o.dependency.name}" is installed, but integrity doesn't match.`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
});
|
|
53
|
+
context.runtime.dependenciesToInstall = result.dependencyStatus.filter(o => !o.match).map(k => k.dependency);
|
|
68
54
|
})
|
|
69
55
|
};
|
|
@@ -28,7 +28,7 @@ exports.checkSapEntries = {
|
|
|
28
28
|
trm_commons_1.Logger.log('Check sap entries step', true);
|
|
29
29
|
const inputData = {
|
|
30
30
|
packageData: {
|
|
31
|
-
|
|
31
|
+
manifest: context.runtime.remotePackageData.manifest
|
|
32
32
|
},
|
|
33
33
|
printOptions: {
|
|
34
34
|
entriesStatus: false,
|
|
@@ -138,7 +138,7 @@ exports.checkTransports = {
|
|
|
138
138
|
const linkedPackage = yield oTransport.getLinkedPackage();
|
|
139
139
|
if (linkedPackage) {
|
|
140
140
|
trm_commons_1.Logger.log(`${trkorr} package is ${linkedPackage.packageName}`, true);
|
|
141
|
-
if (linkedPackage.compareName(context.runtime.remotePackageData.
|
|
141
|
+
if (linkedPackage.compareName(context.runtime.remotePackageData.manifest.name) && linkedPackage.compareRegistry(context.runtime.registry)) {
|
|
142
142
|
trm_commons_1.Logger.log(`${trkorr} same package (updating?)`, true);
|
|
143
143
|
}
|
|
144
144
|
else {
|
|
@@ -154,7 +154,7 @@ exports.checkTransports = {
|
|
|
154
154
|
else {
|
|
155
155
|
if (yield oTransport.isReleased()) {
|
|
156
156
|
trm_commons_1.Logger.warning(`Transport ${trkorr} already exists in target system ${systemConnector_1.SystemConnector.getDest()}`);
|
|
157
|
-
trm_commons_1.Logger.warning(`If you continue, TRM will replace the content of transport ${trkorr} with the content of the transport with the same number of package "${context.runtime.remotePackageData.
|
|
157
|
+
trm_commons_1.Logger.warning(`If you continue, TRM will replace the content of transport ${trkorr} with the content of the transport with the same number of package "${context.runtime.remotePackageData.manifest.name}".`);
|
|
158
158
|
trm_commons_1.Logger.warning(`All of the content of the existing transport will remain untouched, however you need to manually create a new transport if you want to use it again in the future.`);
|
|
159
159
|
if (!context.rawInput.installData.import.replaceExistingTransports) {
|
|
160
160
|
var continueInstall;
|
|
@@ -21,7 +21,7 @@ exports.executePostActivities = {
|
|
|
21
21
|
return false;
|
|
22
22
|
}
|
|
23
23
|
else {
|
|
24
|
-
if (context.runtime.remotePackageData.
|
|
24
|
+
if (context.runtime.remotePackageData.manifest.postActivities && context.runtime.remotePackageData.manifest.postActivities.length > 0) {
|
|
25
25
|
if (commons_1.TrmServerUpgrade.getInstance().executePostActivities()) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
@@ -39,9 +39,9 @@ exports.executePostActivities = {
|
|
|
39
39
|
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
40
|
trm_commons_1.Logger.log('Execute post activities step', true);
|
|
41
41
|
var counter = 0;
|
|
42
|
-
for (var data of context.runtime.remotePackageData.
|
|
42
|
+
for (var data of context.runtime.remotePackageData.manifest.postActivities) {
|
|
43
43
|
counter++;
|
|
44
|
-
trm_commons_1.Logger.setPrefix(`(${counter}/${context.runtime.remotePackageData.
|
|
44
|
+
trm_commons_1.Logger.setPrefix(`(${counter}/${context.runtime.remotePackageData.manifest.postActivities.length}) `);
|
|
45
45
|
try {
|
|
46
46
|
if (Array.isArray(data.parameters)) {
|
|
47
47
|
data.parameters.forEach(param => {
|
|
@@ -14,6 +14,9 @@ const trm_commons_1 = require("trm-commons");
|
|
|
14
14
|
const commons_1 = require("../../commons");
|
|
15
15
|
const systemConnector_1 = require("../../systemConnector");
|
|
16
16
|
const transport_1 = require("../../transport");
|
|
17
|
+
const registry_1 = require("../../registry");
|
|
18
|
+
const trmPackage_1 = require("../../trmPackage");
|
|
19
|
+
const manifest_1 = require("../../manifest");
|
|
17
20
|
exports.generateInstallTransport = {
|
|
18
21
|
name: 'generate-install-transport',
|
|
19
22
|
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -34,7 +37,39 @@ exports.generateInstallTransport = {
|
|
|
34
37
|
}
|
|
35
38
|
trm_commons_1.Logger.loading(`Checking install transport...`);
|
|
36
39
|
if (context.runtime.update) {
|
|
37
|
-
context.runtime.installData.transport = yield context.
|
|
40
|
+
context.runtime.installData.transport = yield (new trmPackage_1.TrmPackage(context.rawInput.packageData.name, context.rawInput.packageData.registry)).getWbTransport();
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
if (!context.rawInput.contextData.noInquirer) {
|
|
44
|
+
var transports = yield systemConnector_1.SystemConnector.getWbTransports(context.rawInput.packageData.name);
|
|
45
|
+
if (context.runtime.registry.getRegistryType() !== registry_1.RegistryType.LOCAL) {
|
|
46
|
+
for (var i = transports.length - 1; i >= 0; i--) {
|
|
47
|
+
const linkedPackage = yield transports[i].getLinkedPackage();
|
|
48
|
+
if (linkedPackage.registry.getRegistryType() !== registry_1.RegistryType.LOCAL) {
|
|
49
|
+
transports.splice(i, 1);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (transports.length > 0) {
|
|
54
|
+
const trkorr = (yield trm_commons_1.Inquirer.prompt({
|
|
55
|
+
name: 'trkorr',
|
|
56
|
+
message: `Found ${transports.length} install transport(s) that might be linked to ${context.rawInput.packageData.name}, do you want to use one of these?`,
|
|
57
|
+
type: 'select',
|
|
58
|
+
choices: transports.map(o => {
|
|
59
|
+
return {
|
|
60
|
+
name: o.trkorr,
|
|
61
|
+
value: o.trkorr
|
|
62
|
+
};
|
|
63
|
+
}).concat([{
|
|
64
|
+
name: 'Generate new',
|
|
65
|
+
value: null
|
|
66
|
+
}])
|
|
67
|
+
})).trkorr;
|
|
68
|
+
if (trkorr) {
|
|
69
|
+
context.runtime.installData.transport = transports.find(o => o.trkorr === trkorr);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
38
73
|
}
|
|
39
74
|
if (context.runtime.installData.transport) {
|
|
40
75
|
trm_commons_1.Logger.log(`Install transport (${context.runtime.installData.transport.trkorr}) already exists, won't create a new one.`, true);
|
|
@@ -54,10 +89,10 @@ exports.generateInstallTransport = {
|
|
|
54
89
|
});
|
|
55
90
|
trm_commons_1.Logger.log(`Generated transport ${context.runtime.installData.transport.trkorr}`, true);
|
|
56
91
|
}
|
|
57
|
-
yield context.runtime.installData.transport.addComment(`name=${context.runtime.remotePackageData.
|
|
58
|
-
yield context.runtime.installData.transport.addComment(`version=${context.runtime.remotePackageData.
|
|
59
|
-
yield context.runtime.installData.transport.setDocumentation(context.runtime.remotePackageData.manifest.getAbapXml());
|
|
60
|
-
yield context.runtime.installData.transport.rename(`@X1@TRM: ${context.runtime.remotePackageData.
|
|
92
|
+
yield context.runtime.installData.transport.addComment(`name=${context.runtime.remotePackageData.manifest.name}`);
|
|
93
|
+
yield context.runtime.installData.transport.addComment(`version=${context.runtime.remotePackageData.manifest.version}`);
|
|
94
|
+
yield context.runtime.installData.transport.setDocumentation(new manifest_1.Manifest(context.runtime.remotePackageData.manifest).getAbapXml());
|
|
95
|
+
yield context.runtime.installData.transport.rename(`@X1@TRM: ${context.runtime.remotePackageData.manifest.name} v${context.runtime.remotePackageData.manifest.version}`);
|
|
61
96
|
var tadirObjects = context.runtime.packageTransportsData.tadir;
|
|
62
97
|
if (context.rawInput.installData.installDevclass.keepOriginal) {
|
|
63
98
|
tadirObjects = tadirObjects.concat(context.runtime.packageTransportsData.tdevc.map(o => {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { R3trans, R3transOptions } from "node-r3trans";
|
|
2
2
|
import { Transport } from "../../transport";
|
|
3
3
|
import { TransportBinary, TrmArtifact, TrmPackage } from "../../trmPackage";
|
|
4
|
-
import {
|
|
4
|
+
import { TrmManifest, TrmManifestDependency } from "../../manifest";
|
|
5
5
|
import { IActionContext } from "..";
|
|
6
6
|
import { DEVCLASS, E071, NAMESPACE, TADIR, TDEVC, TDEVCT } from "../../client";
|
|
7
7
|
import { PackageHierarchy } from "../../commons";
|
|
8
8
|
import { AbstractRegistry } from "../../registry";
|
|
9
|
+
import { Package } from "trm-registry-types";
|
|
9
10
|
export type InstallPackageReplacements = {
|
|
10
11
|
originalDevclass: string;
|
|
11
12
|
installDevclass: string;
|
|
@@ -24,7 +25,6 @@ export type InstallActionInputInstallData = {
|
|
|
24
25
|
replaceExistingTransports?: boolean;
|
|
25
26
|
};
|
|
26
27
|
checks?: {
|
|
27
|
-
safe?: boolean;
|
|
28
28
|
noSapEntries?: boolean;
|
|
29
29
|
noObjectTypes?: boolean;
|
|
30
30
|
noDependencies?: boolean;
|
|
@@ -34,6 +34,7 @@ export type InstallActionInputInstallData = {
|
|
|
34
34
|
keepOriginal?: boolean;
|
|
35
35
|
transportLayer?: string;
|
|
36
36
|
replacements?: InstallPackageReplacements[];
|
|
37
|
+
skipNamespace?: boolean;
|
|
37
38
|
};
|
|
38
39
|
installTransport?: {
|
|
39
40
|
create?: boolean;
|
|
@@ -46,7 +47,6 @@ export interface InstallActionInput {
|
|
|
46
47
|
packageData: {
|
|
47
48
|
name: string;
|
|
48
49
|
version?: string;
|
|
49
|
-
integrity?: string;
|
|
50
50
|
registry: AbstractRegistry;
|
|
51
51
|
overwrite?: boolean;
|
|
52
52
|
};
|
|
@@ -59,14 +59,10 @@ type TransportRuntime = {
|
|
|
59
59
|
type WorkflowRuntime = {
|
|
60
60
|
registry: AbstractRegistry;
|
|
61
61
|
update: boolean;
|
|
62
|
-
rollback: boolean;
|
|
63
62
|
remotePackageData: {
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
data: Package;
|
|
64
|
+
manifest: TrmManifest;
|
|
66
65
|
artifact: TrmArtifact;
|
|
67
|
-
manifest: Manifest;
|
|
68
|
-
trmManifest: TrmManifest;
|
|
69
|
-
integrity: string;
|
|
70
66
|
};
|
|
71
67
|
packageTransports: {
|
|
72
68
|
devc: TransportRuntime;
|
|
@@ -98,7 +94,7 @@ type WorkflowRuntime = {
|
|
|
98
94
|
};
|
|
99
95
|
};
|
|
100
96
|
export type InstallActionOutput = {
|
|
101
|
-
|
|
97
|
+
manifest: TrmManifest;
|
|
102
98
|
registry: AbstractRegistry;
|
|
103
99
|
installTransport?: Transport;
|
|
104
100
|
};
|