@eui/tools 6.2.10 → 6.2.12
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 +18 -0
- package/package.json +1 -1
- package/scripts/csdr/config/init.js +0 -2
- package/scripts/csdr/config/packages.js +1 -0
- package/scripts/csdr/config/remotes.js +4 -0
- package/scripts/csdr/init/init.js +19 -14
- package/scripts/csdr/metadata/common.js +1 -3
- package/scripts/csdr/metadata/package-envs.js +3 -4
- package/scripts/csdr/metadata/package-history.js +3 -3
- package/scripts/csdr/metadata/package-versions.js +1 -5
- package/scripts/csdr/metadata/package.js +57 -151
- package/scripts/csdr/release/package/common.js +66 -59
- package/scripts/csdr/release/package/release-package.js +27 -191
- package/scripts/csdr/release/package/release-ui.js +199 -0
- package/scripts/csdr/release/package/release-virtual-remote.js +154 -0
- package/scripts/csdr/version/package-common.js +10 -10
- package/scripts/utils/build/package/build-package-utils.js +7 -7
- package/scripts/utils/publish/npm.js +12 -7
- package/scripts/utils/publish/publish-utils.js +1 -1
- package/scripts/utils/tools.js +25 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// GLOBAL
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
// UTILS
|
|
7
|
+
const utils = require('../../../utils');
|
|
8
|
+
|
|
9
|
+
// CSDR RELATED
|
|
10
|
+
const configUtils = require('../../config/config-utils');
|
|
11
|
+
|
|
12
|
+
// INNER MODULES
|
|
13
|
+
const innerCommon = require('./common');
|
|
14
|
+
const innerRemote = require('./remote');
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
module.exports.run = () => {
|
|
20
|
+
utils.tools.logBanner('Starting virtual remote pipeline');
|
|
21
|
+
|
|
22
|
+
// fetching package from config based on default arg
|
|
23
|
+
const pkg = configUtils.remotes.getRemote();
|
|
24
|
+
|
|
25
|
+
// checking if the package can be retrieved from args
|
|
26
|
+
if (!pkg.name) {
|
|
27
|
+
utils.tools.logError('ERROR : "package" NOT PROVIDED as argument !!!');
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Get branches flags
|
|
32
|
+
const branches = innerCommon.getBranches();
|
|
33
|
+
|
|
34
|
+
// Get envTarget (used by remotes)
|
|
35
|
+
const envTarget = innerCommon.getEnvTarget();
|
|
36
|
+
|
|
37
|
+
// Get compositeType (used by remotes)
|
|
38
|
+
const compositeType = innerCommon.getCompositeType();
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
// local saved vars
|
|
42
|
+
var newVersion, pkgMetadata, pkgCompositeDeps;
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
return Promise.resolve()
|
|
46
|
+
|
|
47
|
+
// RELEASE PACKAGE START
|
|
48
|
+
.then(() => {
|
|
49
|
+
return innerCommon.init(pkg, envTarget, compositeType);
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
// FOR UI and REMOTES clone metadata repositories
|
|
53
|
+
.then(() => {
|
|
54
|
+
return innerCommon.cloneMetadataRepos();
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
// EXECUTING PRE BUILD SCRIPT IF AVAILABLE
|
|
59
|
+
.then(() => {
|
|
60
|
+
return innerCommon.preBuild(pkg);
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
// INSTALL dependencies by type
|
|
65
|
+
.then(() => {
|
|
66
|
+
return innerRemote.install(pkg, envTarget, compositeType);
|
|
67
|
+
})
|
|
68
|
+
.then((compositeDeps) => {
|
|
69
|
+
// storing for later use
|
|
70
|
+
pkgCompositeDeps = compositeDeps;
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
// BUILD PACKAGE
|
|
75
|
+
.then(() => {
|
|
76
|
+
return utils.buildPackage.build(pkg, true);
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
// GENERATE and UPDATE new version
|
|
81
|
+
.then(() => {
|
|
82
|
+
return innerCommon.updateVersion(pkg, pkgMetadata, envTarget);
|
|
83
|
+
})
|
|
84
|
+
.then((version) => {
|
|
85
|
+
// storing version for later use
|
|
86
|
+
newVersion = version;
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
// EXECUTING GLOBAL POST BUILD
|
|
91
|
+
.then(() => {
|
|
92
|
+
return innerCommon.postBuild(pkg, newVersion);
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
// STORING METADATA ASSETS
|
|
97
|
+
.then(() => {
|
|
98
|
+
return innerCommon.storeMetadataAssets(pkg, pkgCompositeDeps);
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
// PUBLISH PACKAGE
|
|
103
|
+
.then(() => {
|
|
104
|
+
return utils.publish.publish(pkg);
|
|
105
|
+
})
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
// EXECUTING POST PUBLISH SCRIPT IF AVAILABLE
|
|
109
|
+
.then(() => {
|
|
110
|
+
return utils.publish.postPublish(pkg);
|
|
111
|
+
})
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
// STORING CENTRALIZED METADATA
|
|
115
|
+
.then(() => {
|
|
116
|
+
// get run duration
|
|
117
|
+
const duration = utils.pipeline.getTimerDuration();
|
|
118
|
+
return innerCommon.storeMetadata(pkg, newVersion, pkgMetadata, pkgCompositeDeps, duration, envTarget);
|
|
119
|
+
})
|
|
120
|
+
|
|
121
|
+
// STORING PACKAGE HISTORY
|
|
122
|
+
.then(() => {
|
|
123
|
+
if (branches.isMaster && pkg.remote) {
|
|
124
|
+
return innerCommon.generateDiffReport(pkg, newVersion);
|
|
125
|
+
}
|
|
126
|
+
})
|
|
127
|
+
|
|
128
|
+
// COMMITING METADATA
|
|
129
|
+
.then(() => {
|
|
130
|
+
return innerCommon.commitMetadata(pkg, newVersion);
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
// EXPORT ADDITIONAL PIPELINE VARIABLES
|
|
135
|
+
.then(() => {
|
|
136
|
+
return innerCommon.exportPipelineVariables(pkg, compositeType);
|
|
137
|
+
})
|
|
138
|
+
|
|
139
|
+
// SEND SUCCESS NOTIFICATION
|
|
140
|
+
.then(() => {
|
|
141
|
+
return innerCommon.sendSuccessNotification(pkg, newVersion, pkgMetadata)
|
|
142
|
+
.then(() => {
|
|
143
|
+
innerCommon.close(pkg);
|
|
144
|
+
});
|
|
145
|
+
})
|
|
146
|
+
|
|
147
|
+
.catch((e) => {
|
|
148
|
+
return innerCommon.sendErrorNotification(pkg, e, pkgMetadata)
|
|
149
|
+
.then(() => {
|
|
150
|
+
innerCommon.close(pkg);
|
|
151
|
+
process.exit(1);
|
|
152
|
+
});
|
|
153
|
+
})
|
|
154
|
+
}
|
|
@@ -54,7 +54,7 @@ const writePackageJson = (pkg, newVersion, isSnapshot, isNextBranch, isSupportBr
|
|
|
54
54
|
if (!pkg.parent) {
|
|
55
55
|
return Promise.resolve()
|
|
56
56
|
.then(() => {
|
|
57
|
-
return writePackageJsonCore(newVersion, pkg.paths.
|
|
57
|
+
return writePackageJsonCore(newVersion, pkg.paths.root, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget);
|
|
58
58
|
})
|
|
59
59
|
.then(() => {
|
|
60
60
|
if (!pkg.element && !pkg.config) {
|
|
@@ -68,7 +68,7 @@ const writePackageJson = (pkg, newVersion, isSnapshot, isNextBranch, isSupportBr
|
|
|
68
68
|
} else {
|
|
69
69
|
return Promise.resolve()
|
|
70
70
|
.then(() => {
|
|
71
|
-
return writePackageJsonCore(newVersion, pkg.paths.
|
|
71
|
+
return writePackageJsonCore(newVersion, pkg.paths.root, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget);
|
|
72
72
|
})
|
|
73
73
|
.then(() => {
|
|
74
74
|
let linkedPackages = Object.keys(pkg.packages)
|
|
@@ -119,18 +119,18 @@ const writePomXml = (pkg, newVersion, isSnapshot, isForceTimestamp = true) => {
|
|
|
119
119
|
|
|
120
120
|
.then((mavenSettingsFile) => {
|
|
121
121
|
|
|
122
|
-
tools.logInfo(`Executing mvn versions on : ${pkg.paths.
|
|
122
|
+
tools.logInfo(`Executing mvn versions on : ${pkg.paths.root}`);
|
|
123
123
|
|
|
124
|
-
execa.shellSync('mvn versions:set -T1 -DnewVersion=' + newVersion + ' -s ' + mavenSettingsFile, { cwd: pkg.paths.
|
|
125
|
-
execa.shellSync('mvn versions:commit -T1' + ' -s ' + mavenSettingsFile, { cwd: pkg.paths.
|
|
124
|
+
execa.shellSync('mvn versions:set -T1 -DnewVersion=' + newVersion + ' -s ' + mavenSettingsFile, { cwd: pkg.paths.root });
|
|
125
|
+
execa.shellSync('mvn versions:commit -T1' + ' -s ' + mavenSettingsFile, { cwd: pkg.paths.root });
|
|
126
126
|
|
|
127
127
|
if (isForceTimestamp) {
|
|
128
128
|
// timestamp file is forced to have at least one file to commit, as snapshot release
|
|
129
129
|
// for backend can keep the same version until its latest
|
|
130
|
-
const tsversionFile = path.resolve(pkg.paths.
|
|
130
|
+
const tsversionFile = path.resolve(pkg.paths.root, '.tsversion');
|
|
131
131
|
tools.writeFileContent(tsversionFile, Date.now().toString());
|
|
132
132
|
|
|
133
|
-
const versionFile = path.resolve(pkg.paths.
|
|
133
|
+
const versionFile = path.resolve(pkg.paths.root, '.version.properties');
|
|
134
134
|
tools.writeFileContent(versionFile, newVersion);
|
|
135
135
|
}
|
|
136
136
|
})
|
|
@@ -170,14 +170,14 @@ module.exports.getCurrentVersion = (pkg) => {
|
|
|
170
170
|
if (pkg.build && pkg.build.nodejs) {
|
|
171
171
|
tools.logInfo('UI package => extracting from package.json');
|
|
172
172
|
|
|
173
|
-
const pathPkgJson = path.resolve(pkg.paths.
|
|
173
|
+
const pathPkgJson = path.resolve(pkg.paths.root, 'package.json');
|
|
174
174
|
const pkgJson = require(pathPkgJson);
|
|
175
175
|
currentVersion = pkgJson.version;
|
|
176
176
|
|
|
177
177
|
// by default maven java backend is taken into account
|
|
178
178
|
} else {
|
|
179
179
|
tools.logInfo('Backend => extracting pom.xml');
|
|
180
|
-
const xmlContent = tools.getXMLJsContent(path.join(pkg.paths.
|
|
180
|
+
const xmlContent = tools.getXMLJsContent(path.join(pkg.paths.root, 'pom.xml'));
|
|
181
181
|
|
|
182
182
|
tools.logInfo('Content found:');
|
|
183
183
|
console.log(xmlContent);
|
|
@@ -188,7 +188,7 @@ module.exports.getCurrentVersion = (pkg) => {
|
|
|
188
188
|
} else {
|
|
189
189
|
tools.logInfo('UI package => extracting from package.json');
|
|
190
190
|
|
|
191
|
-
const pathPkgJson = path.resolve(pkg.paths.
|
|
191
|
+
const pathPkgJson = path.resolve(pkg.paths.root, 'package.json');
|
|
192
192
|
const pkgJson = require(pathPkgJson);
|
|
193
193
|
currentVersion = pkgJson.version;
|
|
194
194
|
}
|
|
@@ -134,7 +134,7 @@ module.exports.preBuild = (pkg) => {
|
|
|
134
134
|
|
|
135
135
|
return Promise.resolve()
|
|
136
136
|
.then(() => {
|
|
137
|
-
const prebuildScript = path.join(pkg.paths.
|
|
137
|
+
const prebuildScript = path.join(pkg.paths.root, 'pre-build.js');
|
|
138
138
|
if (!dryRun && tools.isFileExists(prebuildScript)) {
|
|
139
139
|
return tools.runScript(`node ${prebuildScript}`);
|
|
140
140
|
} else {
|
|
@@ -159,7 +159,7 @@ module.exports.postBuild = (pkg) => {
|
|
|
159
159
|
return Promise.resolve()
|
|
160
160
|
.then(() => {
|
|
161
161
|
tools.logInfo('Executing post-build.js script if present in package');
|
|
162
|
-
const postbuildScript = path.join(pkg.paths.
|
|
162
|
+
const postbuildScript = path.join(pkg.paths.root, 'post-build.js');
|
|
163
163
|
if (!dryRun && tools.isFileExists(postbuildScript)) {
|
|
164
164
|
return tools.runScript(`node ${postbuildScript}`);
|
|
165
165
|
} else {
|
|
@@ -170,7 +170,7 @@ module.exports.postBuild = (pkg) => {
|
|
|
170
170
|
// Clean up temporary sonar generated folder and files
|
|
171
171
|
.then(() => {
|
|
172
172
|
tools.logInfo('Cleaning sonar temporary assets if exist');
|
|
173
|
-
const sonarTempPath = path.join(pkg.paths.
|
|
173
|
+
const sonarTempPath = path.join(pkg.paths.root, '.scannerwork');
|
|
174
174
|
if (tools.isDirExists(sonarTempPath)) {
|
|
175
175
|
return tools.rimraf(sonarTempPath);
|
|
176
176
|
}
|
|
@@ -190,7 +190,7 @@ module.exports.buildSubEntry = (pkg, subEntry) => {
|
|
|
190
190
|
.then(() => {
|
|
191
191
|
tools.logInfo(`Building sub-entry : ${subEntry} of package : ${pkg.name}`);
|
|
192
192
|
// console.log(pkg);
|
|
193
|
-
return tools.getFilesGlob(pkg.paths.
|
|
193
|
+
return tools.getFilesGlob(pkg.paths.root, `**/package.json`);
|
|
194
194
|
})
|
|
195
195
|
|
|
196
196
|
.then((files) => {
|
|
@@ -227,8 +227,8 @@ module.exports.buildSubEntry = (pkg, subEntry) => {
|
|
|
227
227
|
tools.logInfo('Testing...');
|
|
228
228
|
const ng = path.resolve(process.cwd(), 'node_modules', '@angular', 'cli', 'bin', 'ng');
|
|
229
229
|
let args = ['--max_old_space_size=8096', ng, 'test', subEntry, '--code-coverage', '--watch=false'];
|
|
230
|
-
tools.logInfo(`running ng test : with args: ${args} on folder : ${pkg.paths.
|
|
231
|
-
return execa('node', args, { cwd: pkg.paths.
|
|
230
|
+
tools.logInfo(`running ng test : with args: ${args} on folder : ${pkg.paths.root}`);
|
|
231
|
+
return execa('node', args, { cwd: pkg.paths.root, stdio: 'inherit' });
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
})
|
|
@@ -237,7 +237,7 @@ module.exports.buildSubEntry = (pkg, subEntry) => {
|
|
|
237
237
|
|
|
238
238
|
let args = ['--max_old_space_size=8096', ng, 'build', subEntry];
|
|
239
239
|
|
|
240
|
-
return execa('node', args, { cwd: pkg.paths.
|
|
240
|
+
return execa('node', args, { cwd: pkg.paths.root, stdio: 'inherit' });
|
|
241
241
|
})
|
|
242
242
|
|
|
243
243
|
.then(() => {
|
|
@@ -15,7 +15,7 @@ const { dryRun, registry } = tools.getArgs();
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
const getPkgVersion = (pkg) => {
|
|
18
|
-
const pathPkgJson = path.resolve(pkg.paths.
|
|
18
|
+
const pathPkgJson = path.resolve(pkg.paths.publish, 'package.json');
|
|
19
19
|
delete require.cache[pathPkgJson];
|
|
20
20
|
require(pathPkgJson);
|
|
21
21
|
const { version } = require(pathPkgJson);
|
|
@@ -23,9 +23,9 @@ const getPkgVersion = (pkg) => {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
const publishCore = (pkg, registry, isPublicAccess) => {
|
|
26
|
-
tools.logInfo(`Publishing package "${pkg.name}" from "${pkg.paths.
|
|
26
|
+
tools.logInfo(`Publishing package "${pkg.name}" from "${pkg.paths.publish}" on ${registry}`);
|
|
27
27
|
|
|
28
|
-
let command = `npm publish ${pkg.paths.
|
|
28
|
+
let command = `npm publish ${pkg.paths.publish} --registry ${registry}`;
|
|
29
29
|
|
|
30
30
|
if (isPublicAccess) {
|
|
31
31
|
command += ' --access public';
|
|
@@ -59,7 +59,7 @@ const publishCore = (pkg, registry, isPublicAccess) => {
|
|
|
59
59
|
.then(() => {
|
|
60
60
|
tools.logInfo('Write version properties file');
|
|
61
61
|
|
|
62
|
-
const versionFile = path.resolve(pkg.paths.
|
|
62
|
+
const versionFile = path.resolve(pkg.paths.root, '.version.properties');
|
|
63
63
|
tools.writeFileContent(versionFile, version);
|
|
64
64
|
})
|
|
65
65
|
|
|
@@ -164,9 +164,14 @@ module.exports.publish = (pkg) => {
|
|
|
164
164
|
.then(() => {
|
|
165
165
|
|
|
166
166
|
if (!pkg.parent) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
167
|
+
if (pkg.remote && pkg.virtual) {
|
|
168
|
+
return publishPackage(pkg);
|
|
169
|
+
|
|
170
|
+
} else {
|
|
171
|
+
// building normal package without linked children
|
|
172
|
+
const pkgFull = configUtils.packages.getPackage(pkg.name); // TO CHECK
|
|
173
|
+
return publishPackage(pkgFull);
|
|
174
|
+
}
|
|
170
175
|
|
|
171
176
|
} else {
|
|
172
177
|
|
|
@@ -25,7 +25,7 @@ module.exports.publish = (pkg) => {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
module.exports.postPublish = (pkg) => {
|
|
28
|
-
const postpublishScript = path.join(pkg.paths.
|
|
28
|
+
const postpublishScript = path.join(pkg.paths.root, 'post-publish.js');
|
|
29
29
|
if (!dryRun && tools.isFileExists(postpublishScript)) {
|
|
30
30
|
return tools.runScript(`node ${postpublishScript}`);
|
|
31
31
|
} else {
|
package/scripts/utils/tools.js
CHANGED
|
@@ -81,6 +81,29 @@ function getArgs() {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
|
|
84
|
+
function convertBooleanArg(arg) {
|
|
85
|
+
if (arg && typeof(arg) === 'boolean') {
|
|
86
|
+
return false;
|
|
87
|
+
} else {
|
|
88
|
+
if (arg) {
|
|
89
|
+
return true;
|
|
90
|
+
} else {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function convertStringArg(arg, defaultValue = null) {
|
|
97
|
+
if (arg && typeof(arg) === 'boolean') {
|
|
98
|
+
return defaultValue
|
|
99
|
+
} else {
|
|
100
|
+
if (arg) {
|
|
101
|
+
return arg;
|
|
102
|
+
} else {
|
|
103
|
+
return defaultValue;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
84
107
|
|
|
85
108
|
|
|
86
109
|
/* -------------------------------------------------------------------------------------------
|
|
@@ -796,6 +819,8 @@ module.exports.sortArray = sortArray;
|
|
|
796
819
|
module.exports.removeArrayDuplicates = removeArrayDuplicates;
|
|
797
820
|
module.exports.getArraySum = getArraySum;
|
|
798
821
|
module.exports.getArgs = getArgs;
|
|
822
|
+
module.exports.convertBooleanArg = convertBooleanArg;
|
|
823
|
+
module.exports.convertStringArg = convertStringArg;
|
|
799
824
|
module.exports.getXMLJsContent = getXMLJsContent;
|
|
800
825
|
module.exports.getFolders = getFolders;
|
|
801
826
|
module.exports.getFiles = getFiles;
|