build: define the package building function for ng-dev release tooling (#39711)
The packages are built during the release process on demand via a function defined locally in the ng-dev config. PR Close #39711
This commit is contained in:
parent
726d7c123c
commit
d65c2e351f
|
@ -18,14 +18,16 @@ export const release: ReleaseConfig = {
|
||||||
'@angular/platform-browser',
|
'@angular/platform-browser',
|
||||||
'@angular/platform-browser-dynamic',
|
'@angular/platform-browser-dynamic',
|
||||||
'@angular/platform-server',
|
'@angular/platform-server',
|
||||||
'@angular/platform-webworker',
|
|
||||||
'@angular/platform-webworker-dynamic',
|
|
||||||
'@angular/router',
|
'@angular/router',
|
||||||
'@angular/service-worker',
|
'@angular/service-worker',
|
||||||
'@angular/upgrade',
|
'@angular/upgrade',
|
||||||
],
|
],
|
||||||
// TODO: Implement release package building here.
|
buildPackages: async () => {
|
||||||
buildPackages: async () => [],
|
// The buildTargetPackages function is loaded at runtime as the loading the script causes an
|
||||||
|
// invocation of bazel.
|
||||||
|
const {buildTargetPackages} = require(join(__dirname, '../scripts/build/package-builder'));
|
||||||
|
return buildTargetPackages('dist/release-output', false, 'Release');
|
||||||
|
},
|
||||||
// TODO: This can be removed once there is an org-wide tool for changelog generation.
|
// TODO: This can be removed once there is an org-wide tool for changelog generation.
|
||||||
generateReleaseNotesForHead: async () => {
|
generateReleaseNotesForHead: async () => {
|
||||||
exec('yarn -s gulp changelog', {cwd: join(__dirname, '../')});
|
exec('yarn -s gulp changelog', {cwd: join(__dirname, '../')});
|
||||||
|
|
|
@ -62,6 +62,7 @@ module.exports = {
|
||||||
* This path should either be absolute or relative to the project root.
|
* This path should either be absolute or relative to the project root.
|
||||||
* @param {boolean} enableIvy True, if Ivy should be used.
|
* @param {boolean} enableIvy True, if Ivy should be used.
|
||||||
* @param {string} description Human-readable description of the build.
|
* @param {string} description Human-readable description of the build.
|
||||||
|
* @returns {Array<{name: string, outputPath: string}} A list of packages built.
|
||||||
*/
|
*/
|
||||||
function buildTargetPackages(destPath, enableIvy, description) {
|
function buildTargetPackages(destPath, enableIvy, description) {
|
||||||
console.info('##################################');
|
console.info('##################################');
|
||||||
|
@ -70,6 +71,8 @@ function buildTargetPackages(destPath, enableIvy, description) {
|
||||||
console.info(` Mode: ${description}`);
|
console.info(` Mode: ${description}`);
|
||||||
console.info('##################################');
|
console.info('##################################');
|
||||||
|
|
||||||
|
/** The list of packages which were built. */
|
||||||
|
const builtPackages = [];
|
||||||
// List of targets to build, e.g. core, common, compiler, etc. Note that we want to also remove
|
// List of targets to build, e.g. core, common, compiler, etc. Note that we want to also remove
|
||||||
// all carriage return (`\r`) characters form the query output, because otherwise the carriage
|
// all carriage return (`\r`) characters form the query output, because otherwise the carriage
|
||||||
// return is part of the bazel target name and bazel will complain.
|
// return is part of the bazel target name and bazel will complain.
|
||||||
|
@ -97,10 +100,12 @@ function buildTargetPackages(destPath, enableIvy, description) {
|
||||||
rm('-rf', destDir);
|
rm('-rf', destDir);
|
||||||
cp('-R', srcDir, destDir);
|
cp('-R', srcDir, destDir);
|
||||||
chmod('-R', 'u+w', destDir);
|
chmod('-R', 'u+w', destDir);
|
||||||
|
builtPackages.push({name: `@angular/${pkg}`, outputPath: destDir});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info('');
|
console.info('');
|
||||||
|
return builtPackages;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue