@eui/tools 6.2.11 → 6.2.13

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.
@@ -1,207 +1,43 @@
1
1
  'use strict';
2
2
 
3
- // GLOBAL
4
- const path = require('path');
5
-
6
3
  // UTILS
7
- const utils = require('../../../utils');
8
-
9
- // CSDR RELATED
10
- const configUtils = require('../../config/config-utils');
11
- const metadataUtils = require('../../metadata/metadata-utils');
4
+ const tools = require('../../../utils/tools');
12
5
 
13
6
  // INNER MODULES
14
- const innerCommon = require('./common');
15
- const innerUi = require('./ui');
16
- const innerRemote = require('./remote');
7
+ const innerReleaseVirtualRemote = require('./release-virtual-remote');
8
+ const innerReleaseUi = require('./release-ui');
17
9
 
18
10
 
19
11
  module.exports.run = () => {
20
12
 
21
- // fetching package from config based on default arg
22
- const pkg = configUtils.packages.getPackage();
23
-
24
- // checking if the package can be retrieved from args
25
- if (!pkg.name) {
26
- utils.tools.logError('ERROR : "package" NOT PROVIDED as argument !!!');
27
- process.exit(1);
28
- }
29
-
30
- // Get branches flags
31
- const branches = innerCommon.getBranches();
32
-
33
- // Get envTarget (used by remotes)
34
- const envTarget = innerCommon.getEnvTarget();
35
-
36
- // Get compositeType (used by remotes)
37
- const compositeType = innerCommon.getCompositeType();
38
-
39
-
40
- // local saved vars
41
- var newVersion, pkgMetadata, pkgCompositeDeps;
42
-
43
-
44
- return Promise.resolve()
45
- // LOGGING CURRENT eUI TOOLS VERSION
46
- .then(() => {
47
- utils.tools.logVersion();
48
- })
49
-
50
- // RELEASE PACKAGE START
51
- .then(() => {
52
- return innerCommon.init(pkg, envTarget, compositeType);
53
- })
54
-
55
- // FOR UI and REMOTES clone metadata repositories
56
- .then(() => {
57
- return innerCommon.cloneMetadataRepos();
58
- })
59
-
60
- // PRE-RELEASE & COMMON CHECKS
61
- .then(() => {
62
- return innerCommon.preReleaseChecks(pkg);
63
- })
64
-
65
- // FETCHING COMMITS METADATA
66
- .then(() => {
67
- return metadataUtils.commit.getMetadata(pkg);
68
- })
69
- .then((metadata) => {
70
- pkgMetadata = metadata;
71
- })
72
-
73
- // COMMIT METADATA CHECKS
74
- .then(() => {
75
- return innerCommon.commitMetadataChecks(pkg);
76
- })
77
- .then((metadata) => {
78
- pkgMetadata = metadata;
79
- })
80
-
81
-
82
- // EXECUTING PRE BUILD SCRIPT IF AVAILABLE
83
- .then(() => {
84
- return innerCommon.preBuild(pkg);
85
- })
86
-
87
-
88
- // INSTALL dependencies by type
89
- .then(() => {
90
- if (pkg.remote) {
91
- return innerRemote.install(pkg, envTarget, compositeType);
92
-
93
- } else {
94
- return innerUi.install(pkg, branches.isMaster);
95
- }
96
- })
97
- .then((compositeDeps) => {
98
- // storing for later use
99
- pkgCompositeDeps = compositeDeps;
100
- })
101
-
102
-
103
- // BUILD PACKAGE
104
- .then(() => {
105
- return utils.buildPackage.build(pkg, branches.isMaster);
106
- })
107
-
108
-
109
- // EXECUTING SONAR ANALYSIS
110
- .then(() => {
111
- return utils.sonar.run(pkg, branches.isMaster);
112
- })
113
-
114
-
115
- // GENERATE and UPDATE new version
116
- .then(() => {
117
- return innerCommon.updateVersion(pkg, pkgMetadata, envTarget);
118
- })
119
- .then((version) => {
120
- // storing version for later use
121
- newVersion = version;
122
- })
123
-
124
-
125
- // GENERATE CHANGELOG
126
- .then(() => {
127
- if (!pkg.remote) {
128
- return innerCommon.generateChangelog(pkg, newVersion, pkgMetadata);
129
- }
130
- })
131
-
132
-
133
- // EXECUTING GLOBAL POST BUILD
134
- .then(() => {
135
- return innerCommon.postBuild(pkg, newVersion);
136
- })
137
-
138
-
139
- // STORING METADATA ASSETS
140
- .then(() => {
141
- return innerCommon.storeMetadataAssets(pkg, pkgCompositeDeps);
142
- })
143
-
144
-
145
- // PUBLISH PACKAGE
146
- .then(() => {
147
- return utils.publish.publish(pkg);
148
- })
149
-
150
-
151
- // EXECUTING POST PUBLISH SCRIPT IF AVAILABLE
152
- .then(() => {
153
- return utils.publish.postPublish(pkg);
154
- })
155
-
156
-
157
-
158
- // GIT OPERATIONS
159
- .then(() => {
160
- return innerCommon.runGitOperations(pkg, newVersion);
161
- })
162
-
163
- // STORING CENTRALIZED METADATA
164
- .then(() => {
165
- // get run duration
166
- const duration = utils.pipeline.getTimerDuration();
167
- return innerCommon.storeMetadata(pkg, newVersion, pkgMetadata, pkgCompositeDeps, duration, envTarget);
168
- })
169
-
170
- // STORING PACKAGE HISTORY
171
- .then(() => {
172
- if (branches.isMaster && pkg.remote) {
173
- return innerCommon.generateDiffReport(pkg, newVersion);
174
- }
175
- })
13
+ // TESTING a release pipeline in DRY-RUN mode :
14
+ // virtual remotes
15
+ // npm run pkg:release mywp-dashboard -- --euiVersion 15.x --dryRun --branch master --remoteBuild true --virtual true --envTarget DEV --skipInstall
176
16
 
177
- // COMMITING METADATA
178
- .then(() => {
179
- return innerCommon.commitMetadata(pkg, newVersion);
180
- })
17
+ // normal UI package / old style remote
18
+ // npm run pkg:release csdr-core-ui -- --dryRun --branch develop --skipInstall
181
19
 
182
- .catch((e) => {
183
- throw e;
184
- })
185
20
 
21
+ return Promise.resolve()
22
+ // LOGGING CURRENT eUI TOOLS VERSION
23
+ .then(() => {
24
+ tools.logVersion();
25
+ })
186
26
 
187
- // EXPORT ADDITIONAL PIPELINE VARIABLES
188
- .then(() => {
189
- return innerCommon.exportPipelineVariables(pkg, compositeType);
190
- })
27
+ // CHECKING if release is for virtual remote or normal UI package (including normal remote)
28
+ .then(() => {
29
+ let { remoteBuild, virtual } = tools.getArgs();
30
+ remoteBuild = tools.convertBooleanArg(remoteBuild);
31
+ virtual = tools.convertBooleanArg(virtual);
191
32
 
192
- // SEND SUCCESS NOTIFICATION
193
- .then(() => {
194
- return innerCommon.sendSuccessNotification(pkg, newVersion, pkgMetadata)
195
- .then(() => {
196
- innerCommon.close(pkg);
197
- });
198
- })
33
+ if (remoteBuild && virtual) {
34
+ return innerReleaseVirtualRemote.run();
35
+ } else {
36
+ return innerReleaseUi.run();
37
+ }
38
+ })
199
39
 
200
- .catch((e) => {
201
- return innerCommon.sendErrorNotification(pkg, e, pkgMetadata)
202
- .then(() => {
203
- innerCommon.close(pkg);
204
- process.exit(1);
205
- });
206
- })
40
+ .catch((e) => {
41
+ throw e;
42
+ })
207
43
  }
@@ -0,0 +1,199 @@
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
+ const metadataUtils = require('../../metadata/metadata-utils');
12
+
13
+ // INNER MODULES
14
+ const innerCommon = require('./common');
15
+ const innerUi = require('./ui');
16
+ const innerRemote = require('./remote');
17
+
18
+
19
+ module.exports.run = () => {
20
+ utils.tools.logBanner('Starting UI pipeline');
21
+
22
+ // fetching package from config based on default arg
23
+ const pkg = configUtils.packages.getPackage();
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
+ // PRE-RELEASE & COMMON CHECKS
58
+ .then(() => {
59
+ return innerCommon.preReleaseChecks(pkg);
60
+ })
61
+
62
+ // FETCHING COMMITS METADATA
63
+ .then(() => {
64
+ return metadataUtils.commit.getMetadata(pkg);
65
+ })
66
+ .then((metadata) => {
67
+ pkgMetadata = metadata;
68
+ })
69
+
70
+ // COMMIT METADATA CHECKS
71
+ .then(() => {
72
+ return innerCommon.commitMetadataChecks(pkg);
73
+ })
74
+ .then((metadata) => {
75
+ pkgMetadata = metadata;
76
+ })
77
+
78
+
79
+ // EXECUTING PRE BUILD SCRIPT IF AVAILABLE
80
+ .then(() => {
81
+ return innerCommon.preBuild(pkg);
82
+ })
83
+
84
+
85
+ // INSTALL dependencies by type
86
+ .then(() => {
87
+ if (pkg.remote) {
88
+ return innerRemote.install(pkg, envTarget, compositeType);
89
+
90
+ } else {
91
+ return innerUi.install(pkg, branches.isMaster);
92
+ }
93
+ })
94
+ .then((compositeDeps) => {
95
+ // storing for later use
96
+ pkgCompositeDeps = compositeDeps;
97
+ })
98
+
99
+
100
+ // BUILD PACKAGE
101
+ .then(() => {
102
+ return utils.buildPackage.build(pkg, branches.isMaster);
103
+ })
104
+
105
+
106
+ // EXECUTING SONAR ANALYSIS
107
+ .then(() => {
108
+ return utils.sonar.run(pkg, branches.isMaster);
109
+ })
110
+
111
+
112
+ // GENERATE and UPDATE new version
113
+ .then(() => {
114
+ return innerCommon.updateVersion(pkg, pkgMetadata, envTarget);
115
+ })
116
+ .then((version) => {
117
+ // storing version for later use
118
+ newVersion = version;
119
+ })
120
+
121
+
122
+ // GENERATE CHANGELOG
123
+ .then(() => {
124
+ if (!pkg.remote) {
125
+ return innerCommon.generateChangelog(pkg, newVersion, pkgMetadata);
126
+ }
127
+ })
128
+
129
+
130
+ // EXECUTING GLOBAL POST BUILD
131
+ .then(() => {
132
+ return innerCommon.postBuild(pkg, newVersion);
133
+ })
134
+
135
+
136
+ // STORING METADATA ASSETS
137
+ .then(() => {
138
+ return innerCommon.storeMetadataAssets(pkg, pkgCompositeDeps);
139
+ })
140
+
141
+
142
+ // PUBLISH PACKAGE
143
+ .then(() => {
144
+ return utils.publish.publish(pkg);
145
+ })
146
+
147
+
148
+ // EXECUTING POST PUBLISH SCRIPT IF AVAILABLE
149
+ .then(() => {
150
+ return utils.publish.postPublish(pkg);
151
+ })
152
+
153
+
154
+
155
+ // GIT OPERATIONS
156
+ .then(() => {
157
+ return innerCommon.runGitOperations(pkg, newVersion);
158
+ })
159
+
160
+ // STORING CENTRALIZED METADATA
161
+ .then(() => {
162
+ // get run duration
163
+ const duration = utils.pipeline.getTimerDuration();
164
+ return innerCommon.storeMetadata(pkg, newVersion, pkgMetadata, pkgCompositeDeps, duration, envTarget);
165
+ })
166
+
167
+ // STORING PACKAGE HISTORY
168
+ .then(() => {
169
+ if (branches.isMaster && pkg.remote) {
170
+ return innerCommon.generateDiffReport(pkg, newVersion);
171
+ }
172
+ })
173
+
174
+ // COMMITING METADATA
175
+ .then(() => {
176
+ return innerCommon.commitMetadata(pkg, newVersion);
177
+ })
178
+
179
+ // EXPORT ADDITIONAL PIPELINE VARIABLES
180
+ .then(() => {
181
+ return innerCommon.exportPipelineVariables(pkg, compositeType);
182
+ })
183
+
184
+ // SEND SUCCESS NOTIFICATION
185
+ .then(() => {
186
+ return innerCommon.sendSuccessNotification(pkg, newVersion, pkgMetadata)
187
+ .then(() => {
188
+ innerCommon.close(pkg);
189
+ });
190
+ })
191
+
192
+ .catch((e) => {
193
+ return innerCommon.sendErrorNotification(pkg, e, pkgMetadata)
194
+ .then(() => {
195
+ innerCommon.close(pkg);
196
+ process.exit(1);
197
+ });
198
+ })
199
+ }
@@ -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.pkgDirectory, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget);
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.pkgDirectory, isSnapshot, isNextBranch, isSupportBranch, isHotfixBranch, envTarget);
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.pkgDirectory}`);
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.pkgDirectory });
125
- execa.shellSync('mvn versions:commit -T1' + ' -s ' + mavenSettingsFile, { cwd: pkg.paths.pkgDirectory });
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.pkgDirectory, '.tsversion');
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.pkgDirectory, '.version.properties');
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.pkgDirectory, 'package.json');
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.pkgDirectory, 'pom.xml'));
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.pkgDirectory, 'package.json');
191
+ const pathPkgJson = path.resolve(pkg.paths.root, 'package.json');
192
192
  const pkgJson = require(pathPkgJson);
193
193
  currentVersion = pkgJson.version;
194
194
  }