build: update config flags for snapshot builds (#40095)
Update the config flags used for snapshot builds and release builds. PR Close #40095
This commit is contained in:
parent
c44baa4c5c
commit
245dccc478
6
.bazelrc
6
.bazelrc
|
@ -47,9 +47,13 @@ build --nobuild_runfile_links
|
|||
# Releases should always be stamped with version control info
|
||||
# This command assumes node on the path and is a workaround for
|
||||
# https://github.com/bazelbuild/bazel/issues/4802
|
||||
build:release --workspace_status_command="yarn -s ng-dev release build-env-stamp"
|
||||
build:release --workspace_status_command="yarn -s ng-dev release build-env-stamp --mode=release"
|
||||
build:release --stamp
|
||||
|
||||
# Snapshots should also be stamped with version control information.
|
||||
build:snapshot --workspace_status_command="yarn -s ng-dev release build-env-stamp --mode=snapshot"
|
||||
build:snapshot --stamp
|
||||
|
||||
###############################
|
||||
# Output #
|
||||
###############################
|
||||
|
|
|
@ -26,7 +26,7 @@ export const release: ReleaseConfig = {
|
|||
// 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');
|
||||
return buildTargetPackages('dist/release-output', false, 'Release', true);
|
||||
},
|
||||
// TODO: This can be removed once there is an org-wide tool for changelog generation.
|
||||
generateReleaseNotesForHead: async () => {
|
||||
|
|
|
@ -62,9 +62,10 @@ module.exports = {
|
|||
* This path should either be absolute or relative to the project root.
|
||||
* @param {boolean} enableIvy True, if Ivy should be used.
|
||||
* @param {string} description Human-readable description of the build.
|
||||
* @param {boolean?} isRelease True, if the build should be stamped for a release.
|
||||
* @returns {Array<{name: string, outputPath: string}} A list of packages built.
|
||||
*/
|
||||
function buildTargetPackages(destPath, enableIvy, description) {
|
||||
function buildTargetPackages(destPath, enableIvy, description, isRelease = false) {
|
||||
console.info('##################################');
|
||||
console.info(`${scriptPath}:`);
|
||||
console.info(' Building @angular/* npm packages');
|
||||
|
@ -80,9 +81,10 @@ function buildTargetPackages(destPath, enableIvy, description) {
|
|||
bazelCmd} query --output=label "attr('tags', '\\[.*release-with-framework.*\\]', //packages/...) intersect kind('ng_package|pkg_npm', //packages/...)"`;
|
||||
const targets = exec(getTargetsCmd, true).split(/\r?\n/);
|
||||
|
||||
// Use `--config=release` so that snapshot builds get published with embedded version info.
|
||||
exec(`${bazelCmd} build --config=release --config=${enableIvy ? 'ivy' : 'view-engine'} ${
|
||||
targets.join(' ')}`);
|
||||
// Use either `--config=snapshot` or `--config=release` so that builds are created with the
|
||||
// correct embedded version info.
|
||||
exec(`${bazelCmd} build --config=${isRelease ? 'release' : 'snapshot'} --config=${
|
||||
enableIvy ? 'ivy' : 'view-engine'} ${targets.join(' ')}`);
|
||||
|
||||
// Create the output directory.
|
||||
const absDestPath = resolve(baseDir, destPath);
|
||||
|
|
Loading…
Reference in New Issue