@eui/tools 5.1.12 → 5.2.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/.version.properties +1 -1
- package/CHANGELOG.md +27 -0
- package/bin/eui-scripts.js +2 -0
- package/bin/scripts/i18n-translate.js +12 -0
- package/package.json +1 -1
- package/sandbox.js +26 -5
- package/scripts/csdr/release/package/common.js +2 -1
- package/scripts/csdr/version/common.js +9 -4
- package/scripts/csdr/version/package-common.js +62 -15
- package/scripts/csdr/version/package-default.js +53 -98
- package/scripts/csdr/version/package-remote.js +11 -1
- package/scripts/csdr/version/version-utils.js +2 -0
- package/scripts/utils/translate/translate-utils.js +124 -0
package/.version.properties
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
5.1
|
|
1
|
+
5.2.1
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
## 5.2.1 (2022-05-02)
|
|
2
|
+
|
|
3
|
+
##### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **other:**
|
|
6
|
+
* wrong initial version set for envTarget remote delivery - EUI-5632 [EUI-5632](https://webgate.ec.europa.eu/CITnet/jira/browse/EUI-5632) ([cc894439](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/cc8944393d48bb9b7ae2ee5afb3ab5052983f4a5))
|
|
7
|
+
|
|
8
|
+
* * *
|
|
9
|
+
* * *
|
|
10
|
+
## 5.2.0 (2022-04-29)
|
|
11
|
+
|
|
12
|
+
##### New Features
|
|
13
|
+
|
|
14
|
+
* **other:**
|
|
15
|
+
* added script for translating i18n files EUI-5847 [EUI-5847](https://webgate.ec.europa.eu/CITnet/jira/browse/EUI-5847) ([3e0740f4](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/3e0740f40386d87f2baa4045ae14fe93adf40655))
|
|
16
|
+
|
|
17
|
+
* * *
|
|
18
|
+
* * *
|
|
19
|
+
## 5.1.13 (2022-04-28)
|
|
20
|
+
|
|
21
|
+
##### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* **other:**
|
|
24
|
+
* broken version generated for remote snapshot - EUI-5632 [EUI-5632](https://webgate.ec.europa.eu/CITnet/jira/browse/EUI-5632) ([21a5afd7](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/21a5afd7c07bcea1c4bed4e0ed7c417667e87673))
|
|
25
|
+
|
|
26
|
+
* * *
|
|
27
|
+
* * *
|
|
1
28
|
## 5.1.12 (2022-04-28)
|
|
2
29
|
|
|
3
30
|
##### Bug Fixes
|
package/bin/eui-scripts.js
CHANGED
|
@@ -35,6 +35,7 @@ const scriptIndex = args.findIndex(
|
|
|
35
35
|
x === 'csdr-stats' ||
|
|
36
36
|
x === 'generate-app-metadata' ||
|
|
37
37
|
x === 'help' ||
|
|
38
|
+
x === 'i18n-translate' ||
|
|
38
39
|
x === 'inject-config-app' ||
|
|
39
40
|
x === 'version'
|
|
40
41
|
);
|
|
@@ -70,6 +71,7 @@ switch (script) {
|
|
|
70
71
|
case 'csdr-stats':
|
|
71
72
|
case 'generate-app-metadata':
|
|
72
73
|
case 'help':
|
|
74
|
+
case 'i18n-translate':
|
|
73
75
|
case 'inject-config-app':
|
|
74
76
|
case 'version': {
|
|
75
77
|
const result = spawn.sync(
|
package/package.json
CHANGED
package/sandbox.js
CHANGED
|
@@ -790,7 +790,7 @@ const versionUtils = require('./scripts/csdr/version/version-utils');
|
|
|
790
790
|
// METADATA API TESTING
|
|
791
791
|
// --------------------
|
|
792
792
|
// const metadataModule = require('./scripts/csdr/metadata/v2');
|
|
793
|
-
// const pkg = configUtils.packages.getPackage('
|
|
793
|
+
// const pkg = configUtils.packages.getPackage('cc-task-details-eui10-remote-el-ui');
|
|
794
794
|
|
|
795
795
|
// Promise.resolve()
|
|
796
796
|
// .then(() => {
|
|
@@ -840,12 +840,33 @@ const versionUtils = require('./scripts/csdr/version/version-utils');
|
|
|
840
840
|
// })
|
|
841
841
|
|
|
842
842
|
|
|
843
|
-
|
|
843
|
+
// METADATA ESTING
|
|
844
|
+
// --------------------
|
|
845
|
+
const pkg = configUtils.packages.getPackage('cc-task-details-eui10-remote-el-ui');
|
|
846
|
+
const envTarget = 'DEV';
|
|
847
|
+
|
|
848
|
+
let versionsMetadata, envsMetadata;
|
|
844
849
|
|
|
845
850
|
Promise.resolve()
|
|
851
|
+
// generating new version based on the env target and the envs cycle type
|
|
846
852
|
.then(() => {
|
|
847
|
-
return
|
|
853
|
+
return versionUtils.packageRemote.getNewVersion(pkg, envTarget);
|
|
848
854
|
})
|
|
849
|
-
.then((
|
|
850
|
-
console.log(
|
|
855
|
+
.then((version) => {
|
|
856
|
+
console.log(version);
|
|
851
857
|
})
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
// const pkg = configUtils.packages.getPackage('opsys-epc-esub-bo-ui', true);
|
|
865
|
+
|
|
866
|
+
// Promise.resolve()
|
|
867
|
+
// .then(() => {
|
|
868
|
+
// return metadataUtils.package.getPackageVersionsByMajor(pkg, '10', false)
|
|
869
|
+
// })
|
|
870
|
+
// .then((versions) => {
|
|
871
|
+
// console.log(versions);
|
|
872
|
+
// })
|
|
@@ -7,7 +7,7 @@ const semver = require('semver');
|
|
|
7
7
|
const tools = require('../../utils/tools');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
const getNewVersionForDev = (versionsMetadata, envsMetadata, rootEnv) => {
|
|
10
|
+
const getNewVersionForDev = (versionsMetadata, envsMetadata, rootEnv, currentVersion) => {
|
|
11
11
|
let version;
|
|
12
12
|
const lastIntMetadata = envsMetadata[rootEnv];
|
|
13
13
|
|
|
@@ -19,7 +19,11 @@ const getNewVersionForDev = (versionsMetadata, envsMetadata, rootEnv) => {
|
|
|
19
19
|
|
|
20
20
|
} else {
|
|
21
21
|
tools.logInfo('No INT metadata found : initializing version');
|
|
22
|
-
|
|
22
|
+
if (currentVersion) {
|
|
23
|
+
version = semver.coerce(currentVersion).raw + '-SNAPSHOT';
|
|
24
|
+
} else {
|
|
25
|
+
version = '1.0.0-SNAPSHOT';
|
|
26
|
+
}
|
|
23
27
|
tools.logInfo(`version intialized : ${version}`);
|
|
24
28
|
}
|
|
25
29
|
|
|
@@ -48,6 +52,7 @@ const getNewVersionForDev = (versionsMetadata, envsMetadata, rootEnv) => {
|
|
|
48
52
|
|
|
49
53
|
// if it's a branch new DEV stream release, the snapshot is itialized
|
|
50
54
|
} else {
|
|
55
|
+
tools.logInfo(`prevVersions matching: ${version} not found initializing first release of raw version`);
|
|
51
56
|
version += '.0';
|
|
52
57
|
}
|
|
53
58
|
}
|
|
@@ -132,7 +137,7 @@ const getNewVersionForEnv = (versionsMetadata, envsMetadata, rootEnv, envTarget)
|
|
|
132
137
|
|
|
133
138
|
|
|
134
139
|
|
|
135
|
-
module.exports.getNewVersionDefault = (envTarget, versionsMetadata, envsMetadata) => {
|
|
140
|
+
module.exports.getNewVersionDefault = (envTarget, versionsMetadata, envsMetadata, currentVersion) => {
|
|
136
141
|
tools.logInfo(`Retrieve version for ${envTarget}`);
|
|
137
142
|
|
|
138
143
|
return Promise.resolve()
|
|
@@ -145,7 +150,7 @@ module.exports.getNewVersionDefault = (envTarget, versionsMetadata, envsMetadata
|
|
|
145
150
|
// =====================================================================
|
|
146
151
|
|
|
147
152
|
if (envTarget === 'DEV') {
|
|
148
|
-
version = getNewVersionForDev(versionsMetadata, envsMetadata, 'INT');
|
|
153
|
+
version = getNewVersionForDev(versionsMetadata, envsMetadata, 'INT', currentVersion);
|
|
149
154
|
}
|
|
150
155
|
|
|
151
156
|
|
|
@@ -16,7 +16,7 @@ const configUtils = require('../config/config-utils');
|
|
|
16
16
|
const { dryRun, nexusUser, nexusPassword } = tools.getArgs();
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
const writePackageJsonCore = (newVersion, folder, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch) => {
|
|
19
|
+
const writePackageJsonCore = (newVersion, folder, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget) => {
|
|
20
20
|
return Promise.resolve()
|
|
21
21
|
.then(() => {
|
|
22
22
|
const pkgJsonFile = path.resolve(folder, 'package.json');
|
|
@@ -24,14 +24,18 @@ const writePackageJsonCore = (newVersion, folder, isSnapshot, isNextBranch, isSu
|
|
|
24
24
|
|
|
25
25
|
let tag;
|
|
26
26
|
|
|
27
|
-
if (
|
|
27
|
+
if (envTarget && envTarget === 'DEV') {
|
|
28
28
|
tag = 'snapshot';
|
|
29
|
-
} else if (isNextBranch) {
|
|
30
|
-
tag = 'next';
|
|
31
|
-
} else if (isSupportBranch) {
|
|
32
|
-
tag = 'prev';
|
|
33
29
|
} else {
|
|
34
|
-
|
|
30
|
+
if (isSnapshot) {
|
|
31
|
+
tag = 'snapshot';
|
|
32
|
+
} else if (isNextBranch) {
|
|
33
|
+
tag = 'next';
|
|
34
|
+
} else if (isSupportBranch) {
|
|
35
|
+
tag = 'prev';
|
|
36
|
+
} else {
|
|
37
|
+
tag = 'latest';
|
|
38
|
+
}
|
|
35
39
|
}
|
|
36
40
|
|
|
37
41
|
pkgJson.version = newVersion;
|
|
@@ -48,7 +52,7 @@ const writePackageJsonCore = (newVersion, folder, isSnapshot, isNextBranch, isSu
|
|
|
48
52
|
})
|
|
49
53
|
}
|
|
50
54
|
|
|
51
|
-
const writePackageJson = (pkg, newVersion, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch) => {
|
|
55
|
+
const writePackageJson = (pkg, newVersion, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget) => {
|
|
52
56
|
return Promise.resolve()
|
|
53
57
|
.then(() => {
|
|
54
58
|
tools.logTitle('updating package version');
|
|
@@ -56,11 +60,11 @@ const writePackageJson = (pkg, newVersion, isSnapshot, isNextBranch, isSupportBr
|
|
|
56
60
|
if (!pkg.parent) {
|
|
57
61
|
return Promise.resolve()
|
|
58
62
|
.then(() => {
|
|
59
|
-
return writePackageJsonCore(newVersion, pkg.paths.pkgDirectory, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch);
|
|
63
|
+
return writePackageJsonCore(newVersion, pkg.paths.pkgDirectory, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget);
|
|
60
64
|
})
|
|
61
65
|
.then(() => {
|
|
62
66
|
if (!pkg.element && !pkg.config) {
|
|
63
|
-
return writePackageJsonCore(newVersion, pkg.paths.pkgPublish, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch);
|
|
67
|
+
return writePackageJsonCore(newVersion, pkg.paths.pkgPublish, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget);
|
|
64
68
|
}
|
|
65
69
|
})
|
|
66
70
|
.catch((e) => {
|
|
@@ -70,7 +74,7 @@ const writePackageJson = (pkg, newVersion, isSnapshot, isNextBranch, isSupportBr
|
|
|
70
74
|
} else {
|
|
71
75
|
return Promise.resolve()
|
|
72
76
|
.then(() => {
|
|
73
|
-
return writePackageJsonCore(newVersion, pkg.paths.pkgDirectory, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch);
|
|
77
|
+
return writePackageJsonCore(newVersion, pkg.paths.pkgDirectory, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget);
|
|
74
78
|
})
|
|
75
79
|
.then(() => {
|
|
76
80
|
let linkedPackages = Object.keys(pkg.packages)
|
|
@@ -85,7 +89,7 @@ const writePackageJson = (pkg, newVersion, isSnapshot, isNextBranch, isSupportBr
|
|
|
85
89
|
.then((linkedPackages) => Promise.resolve().then(() => {
|
|
86
90
|
return linkedPackages.reduce((promise, pkg) => {
|
|
87
91
|
return promise.then(() => (
|
|
88
|
-
writePackageJsonCore(newVersion, pkg.paths.pkgPublish, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch)
|
|
92
|
+
writePackageJsonCore(newVersion, pkg.paths.pkgPublish, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget)
|
|
89
93
|
));
|
|
90
94
|
}, Promise.resolve());
|
|
91
95
|
}))
|
|
@@ -113,7 +117,7 @@ const writePomXml = (pkg, newVersion, isSnapshot, isForceTimestamp = true) => {
|
|
|
113
117
|
if (dryRun) {
|
|
114
118
|
return;
|
|
115
119
|
}
|
|
116
|
-
|
|
120
|
+
|
|
117
121
|
return Promise.resolve()
|
|
118
122
|
.then(() => {
|
|
119
123
|
return templateUtils.generateMavenSettings(nexusUser, nexusPassword);
|
|
@@ -146,13 +150,56 @@ const writePomXml = (pkg, newVersion, isSnapshot, isForceTimestamp = true) => {
|
|
|
146
150
|
|
|
147
151
|
|
|
148
152
|
|
|
149
|
-
module.exports.updateVersion = (pkg, newVersion, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch) => {
|
|
153
|
+
module.exports.updateVersion = (pkg, newVersion, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget) => {
|
|
150
154
|
if (pkg.backend) {
|
|
151
155
|
return writePomXml(pkg, newVersion, isSnapshot);
|
|
152
156
|
}
|
|
153
157
|
else {
|
|
154
|
-
return writePackageJson(pkg, newVersion, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch);
|
|
158
|
+
return writePackageJson(pkg, newVersion, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget);
|
|
155
159
|
}
|
|
156
160
|
}
|
|
157
161
|
|
|
158
162
|
|
|
163
|
+
module.exports.getCurrentVersion = (pkg) => {
|
|
164
|
+
return Promise.resolve()
|
|
165
|
+
.then(() => {
|
|
166
|
+
let currentVersion;
|
|
167
|
+
|
|
168
|
+
tools.logTitle('Extracting current version');
|
|
169
|
+
|
|
170
|
+
if (pkg.backend) {
|
|
171
|
+
// if nodejs backend, explicitely declared
|
|
172
|
+
if (pkg.build && pkg.build.nodejs) {
|
|
173
|
+
tools.logInfo('UI package => extracting from package.json');
|
|
174
|
+
|
|
175
|
+
const pathPkgJson = path.resolve(pkg.paths.pkgDirectory, 'package.json');
|
|
176
|
+
const pkgJson = require(pathPkgJson);
|
|
177
|
+
currentVersion = pkgJson.version;
|
|
178
|
+
|
|
179
|
+
// by default maven java backend is taken into account
|
|
180
|
+
} else {
|
|
181
|
+
tools.logInfo('Backend => extracting pom.xml');
|
|
182
|
+
const xmlContent = tools.getXMLJsContent(path.join(pkg.paths.pkgDirectory, 'pom.xml'));
|
|
183
|
+
|
|
184
|
+
tools.logInfo('Content found:');
|
|
185
|
+
console.log(xmlContent);
|
|
186
|
+
|
|
187
|
+
currentVersion = xmlContent.project.version.toString();
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
} else {
|
|
191
|
+
tools.logInfo('UI package => extracting from package.json');
|
|
192
|
+
|
|
193
|
+
const pathPkgJson = path.resolve(pkg.paths.pkgDirectory, 'package.json');
|
|
194
|
+
const pkgJson = require(pathPkgJson);
|
|
195
|
+
currentVersion = pkgJson.version;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
tools.logSuccess('Current version found : ' + currentVersion);
|
|
199
|
+
return currentVersion;
|
|
200
|
+
})
|
|
201
|
+
.catch((e) => {
|
|
202
|
+
throw e;
|
|
203
|
+
})
|
|
204
|
+
}
|
|
205
|
+
|
|
@@ -2,87 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
// externals
|
|
4
4
|
const semver = require('semver');
|
|
5
|
-
const path = require('path');
|
|
6
5
|
|
|
7
6
|
// local
|
|
8
7
|
const tools = require('../../utils/tools');
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
return Promise.resolve()
|
|
13
|
-
.then(() => {
|
|
14
|
-
let currentVersion;
|
|
15
|
-
|
|
16
|
-
tools.logTitle('Extracting current version');
|
|
17
|
-
|
|
18
|
-
if (pkg.backend) {
|
|
19
|
-
// if nodejs backend, explicitely declared
|
|
20
|
-
if (pkg.build && pkg.build.nodejs) {
|
|
21
|
-
tools.logInfo('UI package => extracting from package.json');
|
|
22
|
-
|
|
23
|
-
const pathPkgJson = path.resolve(pkg.paths.pkgDirectory, 'package.json');
|
|
24
|
-
const pkgJson = require(pathPkgJson);
|
|
25
|
-
currentVersion = pkgJson.version;
|
|
26
|
-
|
|
27
|
-
// by default maven java backend is taken into account
|
|
28
|
-
} else {
|
|
29
|
-
tools.logInfo('Backend => extracting pom.xml');
|
|
30
|
-
const xmlContent = tools.getXMLJsContent(path.join(pkg.paths.pkgDirectory, 'pom.xml'));
|
|
31
|
-
|
|
32
|
-
tools.logInfo('Content found:');
|
|
33
|
-
console.log(xmlContent);
|
|
34
|
-
|
|
35
|
-
currentVersion = xmlContent.project.version.toString();
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
} else {
|
|
39
|
-
tools.logInfo('UI package => extracting from package.json');
|
|
40
|
-
|
|
41
|
-
const pathPkgJson = path.resolve(pkg.paths.pkgDirectory, 'package.json');
|
|
42
|
-
const pkgJson = require(pathPkgJson);
|
|
43
|
-
currentVersion = pkgJson.version;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
tools.logSuccess('Current version found : ' + currentVersion);
|
|
47
|
-
return currentVersion;
|
|
48
|
-
})
|
|
49
|
-
.catch((e) => {
|
|
50
|
-
throw e;
|
|
51
|
-
})
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const getReleaseType = (commitsMetadata) => {
|
|
56
|
-
tools.logInfo('Getting release type based on commits metadata parsed from last tag');
|
|
57
|
-
|
|
58
|
-
const RELEASE_TYPES = ['major', 'minor', 'patch'];
|
|
59
|
-
|
|
60
|
-
let level = 2;
|
|
61
|
-
let breakings = 0;
|
|
62
|
-
let features = 0;
|
|
63
|
-
|
|
64
|
-
commitsMetadata.forEach((commit) => {
|
|
65
|
-
if (commit.breakingChange) {
|
|
66
|
-
breakings += commit.body;
|
|
67
|
-
level = 1; // no major bump on "breaking changes"
|
|
68
|
-
} else if (commit.type === 'feat') {
|
|
69
|
-
features += 1;
|
|
70
|
-
if (level === 2) {
|
|
71
|
-
level = 1;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
return {
|
|
77
|
-
level: level,
|
|
78
|
-
reason: 'There are ' + breakings + ' BREAKING CHANGES and ' + features + ' features',
|
|
79
|
-
releaseType: RELEASE_TYPES[level]
|
|
80
|
-
};
|
|
81
|
-
}
|
|
9
|
+
// inner
|
|
10
|
+
const innerPackageCommon = require('./package-common');
|
|
82
11
|
|
|
83
12
|
|
|
84
|
-
// PUBLIC METHODS
|
|
85
|
-
|
|
86
13
|
module.exports.getNewVersion = (
|
|
87
14
|
pkg,
|
|
88
15
|
commits,
|
|
@@ -90,7 +17,7 @@ module.exports.getNewVersion = (
|
|
|
90
17
|
) => {
|
|
91
18
|
return Promise.resolve()
|
|
92
19
|
.then(() => {
|
|
93
|
-
return getCurrentVersion(pkg);
|
|
20
|
+
return innerPackageCommon.getCurrentVersion(pkg);
|
|
94
21
|
})
|
|
95
22
|
|
|
96
23
|
.then((currentVersion) => {
|
|
@@ -98,10 +25,36 @@ module.exports.getNewVersion = (
|
|
|
98
25
|
|
|
99
26
|
tools.logInfo(`Current version found : ${currentVersion}`);
|
|
100
27
|
|
|
28
|
+
const RELEASE_TYPES = ['major', 'minor', 'patch'];
|
|
29
|
+
|
|
101
30
|
let newVersion = '1.0.0';
|
|
102
31
|
|
|
103
32
|
if (commits) {
|
|
104
|
-
|
|
33
|
+
|
|
34
|
+
tools.logInfo('Commits found for processing version, extracting...');
|
|
35
|
+
|
|
36
|
+
let level = 2;
|
|
37
|
+
let breakings = 0;
|
|
38
|
+
let features = 0;
|
|
39
|
+
|
|
40
|
+
commits.forEach((commit) => {
|
|
41
|
+
if (commit.breakingChange) {
|
|
42
|
+
breakings += commit.body;
|
|
43
|
+
level = 1; // no major bump on "breaking changes"
|
|
44
|
+
} else if (commit.type === 'feat') {
|
|
45
|
+
features += 1;
|
|
46
|
+
if (level === 2) {
|
|
47
|
+
level = 1;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
const release = {
|
|
53
|
+
level: level,
|
|
54
|
+
reason: 'There are ' + breakings + ' BREAKING CHANGES and ' + features + ' features',
|
|
55
|
+
releaseType: RELEASE_TYPES[level]
|
|
56
|
+
};
|
|
57
|
+
|
|
105
58
|
tools.logInfo('release info found : ' + JSON.stringify(release));
|
|
106
59
|
|
|
107
60
|
if (isNextBranch) {
|
|
@@ -110,37 +63,39 @@ module.exports.getNewVersion = (
|
|
|
110
63
|
newVersion = semver.valid(release.releaseType) || semver.inc(currentVersion, release.releaseType)
|
|
111
64
|
}
|
|
112
65
|
|
|
113
|
-
tools.logInfo('probable new version : ' + newVersion);
|
|
114
66
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
if (pkg.build && pkg.build.nodejs) {
|
|
118
|
-
newVersion += '-snapshot-' + Date.now();
|
|
119
|
-
} else {
|
|
120
|
-
newVersion += '-SNAPSHOT';
|
|
121
|
-
}
|
|
122
|
-
} else {
|
|
123
|
-
newVersion += '-snapshot-' + Date.now();
|
|
124
|
-
}
|
|
67
|
+
} else {
|
|
68
|
+
tools.logInfo('No commits found for version processing...applying minor version upgrade');
|
|
125
69
|
|
|
126
|
-
|
|
127
|
-
if (pkg.backend) {
|
|
70
|
+
if (isNextBranch) {
|
|
128
71
|
newVersion = semver.inc(currentVersion, 'prerelease');
|
|
72
|
+
} else {
|
|
73
|
+
newVersion = semver.inc(currentVersion, 'minor');
|
|
129
74
|
}
|
|
130
|
-
|
|
131
|
-
newVersion = semver.inc(currentVersion, 'prerelease');
|
|
132
|
-
}
|
|
75
|
+
}
|
|
133
76
|
|
|
134
|
-
|
|
135
|
-
tools.logInfo('No commits found for version processing...applying minor version upgrade');
|
|
77
|
+
tools.logInfo('probable new version : ' + newVersion);
|
|
136
78
|
|
|
137
|
-
|
|
138
|
-
|
|
79
|
+
if (isSnapshot) {
|
|
80
|
+
if (pkg.backend) {
|
|
81
|
+
if (pkg.build && pkg.build.nodejs) {
|
|
82
|
+
newVersion += '-snapshot-' + Date.now();
|
|
83
|
+
} else {
|
|
84
|
+
newVersion += '-SNAPSHOT';
|
|
85
|
+
}
|
|
139
86
|
} else {
|
|
140
|
-
newVersion
|
|
87
|
+
newVersion += '-snapshot-' + Date.now();
|
|
141
88
|
}
|
|
142
89
|
}
|
|
143
90
|
|
|
91
|
+
if (isSupportBranch && pkg.backend) {
|
|
92
|
+
newVersion = semver.inc(currentVersion, 'prerelease');
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (isHotfixBranch) {
|
|
96
|
+
newVersion = semver.inc(currentVersion, 'prerelease');
|
|
97
|
+
}
|
|
98
|
+
|
|
144
99
|
tools.logSuccess('new version generated : ' + newVersion);
|
|
145
100
|
|
|
146
101
|
return newVersion;
|
|
@@ -12,6 +12,7 @@ const metadataUtils = require('../metadata/metadata-utils');
|
|
|
12
12
|
|
|
13
13
|
// inner modules
|
|
14
14
|
const innerCommon = require('./common');
|
|
15
|
+
const innerPackageCommon = require('./package-common');
|
|
15
16
|
|
|
16
17
|
// constants
|
|
17
18
|
const { dryRun } = tools.getArgs();
|
|
@@ -21,8 +22,17 @@ const { dryRun } = tools.getArgs();
|
|
|
21
22
|
module.exports.getNewVersion = (pkg, envTarget) => {
|
|
22
23
|
let versionsMetadata;
|
|
23
24
|
let envsMetadata;
|
|
25
|
+
let currentVersion;
|
|
24
26
|
|
|
25
27
|
return Promise.resolve()
|
|
28
|
+
// get current version
|
|
29
|
+
.then(() => {
|
|
30
|
+
return innerPackageCommon.getCurrentVersion(pkg);
|
|
31
|
+
})
|
|
32
|
+
.then((version) => {
|
|
33
|
+
currentVersion = version;
|
|
34
|
+
})
|
|
35
|
+
|
|
26
36
|
// fetch versions history and store
|
|
27
37
|
.then(() => {
|
|
28
38
|
return metadataUtils.packageVersions.getMetadata(pkg);
|
|
@@ -42,7 +52,7 @@ module.exports.getNewVersion = (pkg, envTarget) => {
|
|
|
42
52
|
|
|
43
53
|
// generating new version based on the env target and the envs cycle type
|
|
44
54
|
.then(() => {
|
|
45
|
-
return innerCommon.getNewVersionDefault(envTarget, versionsMetadata, envsMetadata);
|
|
55
|
+
return innerCommon.getNewVersionDefault(envTarget, versionsMetadata, envsMetadata, currentVersion);
|
|
46
56
|
})
|
|
47
57
|
|
|
48
58
|
.catch((e) => {
|
|
@@ -9,6 +9,7 @@ const innerPackage = require('./package');
|
|
|
9
9
|
const innerPackageCommon = require('./package-common');
|
|
10
10
|
const innerPackageRemote = require('./package-remote');
|
|
11
11
|
const innerPackageDefault = require('./package-default');
|
|
12
|
+
const innerCommon = require('./common');
|
|
12
13
|
|
|
13
14
|
// re-exports inner modules
|
|
14
15
|
module.exports.app = innerApp;
|
|
@@ -19,3 +20,4 @@ module.exports.package = innerPackage;
|
|
|
19
20
|
module.exports.packageCommon = innerPackageCommon;
|
|
20
21
|
module.exports.packageRemote = innerPackageRemote;
|
|
21
22
|
module.exports.packageDefault = innerPackageDefault;
|
|
23
|
+
module.exports.common = innerCommon;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const tools = require('../../utils/tools');
|
|
4
|
+
const https = require('https');
|
|
5
|
+
var fs = require('fs');
|
|
6
|
+
const { filePath, sourceLang, targetLang } = require('../tools').getArgs();
|
|
7
|
+
const TEXT = '<text>';
|
|
8
|
+
const TEXT_END = '</text>';
|
|
9
|
+
const CONTENT = '<content>';
|
|
10
|
+
const CONTENT_END = '</content>';
|
|
11
|
+
|
|
12
|
+
// example: node translate-utils.js --filePath c:\i18n\en.json --sourceLang en --targetLang bg
|
|
13
|
+
|
|
14
|
+
const readFile = (filePath) => {
|
|
15
|
+
return JSON.parse(fs.readFileSync(filePath));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const translate = (text, sourceLang, targetLang) => {
|
|
19
|
+
tools.logTitle(`Translating file : ${filePath} from ${sourceLang} to ${targetLang}.`);
|
|
20
|
+
return new Promise((resolve, reject) => {
|
|
21
|
+
const data = JSON.stringify({
|
|
22
|
+
textToTranslate: text,
|
|
23
|
+
sourceLanguage: sourceLang,
|
|
24
|
+
targetLanguage: targetLang
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const options = {
|
|
28
|
+
hostname: 'europa.eu',
|
|
29
|
+
path: '/webtools/rest/etrans/translate',
|
|
30
|
+
method: 'POST',
|
|
31
|
+
headers: {
|
|
32
|
+
'Content-Type': 'application/json',
|
|
33
|
+
'Content-Length': data.length
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const req = https.request(options, res => {
|
|
38
|
+
let chunks_of_data = [];
|
|
39
|
+
|
|
40
|
+
res.on('data', d => {
|
|
41
|
+
chunks_of_data.push(d);
|
|
42
|
+
});
|
|
43
|
+
res.on('end', () => {
|
|
44
|
+
tools.logInfo('Received response from eTrans service.');
|
|
45
|
+
let response_body = Buffer.concat(chunks_of_data);
|
|
46
|
+
var response = JSON.parse(response_body);
|
|
47
|
+
resolve(Buffer.from(response.translation, 'base64').toString());
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
req.on('error', error => {
|
|
52
|
+
reject(error);
|
|
53
|
+
return;
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
tools.logInfo('Sending request to eTrans service.');
|
|
57
|
+
req.write(data);
|
|
58
|
+
req.end();
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const prepareStringToTranslate = (arrLines, result) => {
|
|
63
|
+
var keys = Object.keys(arrLines);
|
|
64
|
+
keys.forEach((key) => {
|
|
65
|
+
if (arrLines[key] instanceof Object && !(arrLines[key] instanceof Array)) {
|
|
66
|
+
result += prepareStringToTranslate(arrLines[key], '');
|
|
67
|
+
} else {
|
|
68
|
+
result += `${TEXT}${arrLines[key]}${TEXT_END}`;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const createResultJsonFile = (arrLines, res) => {
|
|
75
|
+
const resString = res.split(`${CONTENT}${TEXT}`).pop().split(`${TEXT_END}${CONTENT_END}`)[0];
|
|
76
|
+
const resArr = resString.split(`${TEXT_END}${TEXT}`);
|
|
77
|
+
var resultJson = Object.assign({}, arrLines);
|
|
78
|
+
var finalRes = iterateResultToJson(resultJson, resArr);
|
|
79
|
+
return finalRes;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const iterateResultToJson = (resultJson, resArr) => {
|
|
83
|
+
var keys = Object.keys(resultJson);
|
|
84
|
+
keys.forEach((key, index) => {
|
|
85
|
+
if (resultJson[key] instanceof Object && !(resultJson[key] instanceof Array)) { // If there is nested JSON
|
|
86
|
+
resultJson[key] = iterateResultToJson(resultJson[key], resArr.slice(index));
|
|
87
|
+
var subKeys = Object.keys(resultJson[key]);
|
|
88
|
+
resArr.splice(index, subKeys.length - 1); // remove elements for nested JSON from results array
|
|
89
|
+
} else {
|
|
90
|
+
if (resultJson[key] instanceof Array) {
|
|
91
|
+
resultJson[key] = resArr[index].split(',').map(el => el.trim());
|
|
92
|
+
} else {
|
|
93
|
+
resultJson[key] = resArr[index];
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
return resultJson;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const translateI18nFile = () => {
|
|
101
|
+
return Promise.resolve()
|
|
102
|
+
.then(() => {
|
|
103
|
+
const arrLines = readFile(filePath);
|
|
104
|
+
const destFolder = filePath.substring(0, filePath.lastIndexOf("\\") + 1);
|
|
105
|
+
var stringToTranslate = prepareStringToTranslate(arrLines, '');
|
|
106
|
+
translate(`${CONTENT}${stringToTranslate}${CONTENT_END}`, sourceLang, targetLang)
|
|
107
|
+
.then((res) => {
|
|
108
|
+
const resultJson = createResultJsonFile(arrLines, res);
|
|
109
|
+
fs.writeFile(`${destFolder}${targetLang}.json`, JSON.stringify(resultJson, null, 2), function (err) {
|
|
110
|
+
if (err) { tools.logError(err); }
|
|
111
|
+
tools.logInfo(`File ${targetLang}.json created.`);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
}, (err) => {
|
|
115
|
+
tools.logInfo(`Error: ${err}`);
|
|
116
|
+
});
|
|
117
|
+
}).catch((error) => {
|
|
118
|
+
tools.logError(error);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
translateI18nFile();
|
|
123
|
+
|
|
124
|
+
module.exports.translateI18nFile = translateI18nFile;
|