Tags: tetromino/bazel
Tags
Release 0.22.0 (2019-01-28) Baseline: deb028e Cherry picks: + a3a5975: Fix a race condition in remote cache + b8d0e1b: Use a new GitHub token and KMS key for the release process. + 3759e38: remote: fix unexpected IO error (not a directory) + 4473bb1: Fix a race condition in Bazel's Windows process management. + 9137fb9: undo flag flip of --incompatible_strict_action_env + 12ab12e: Revert "Enabling Bazel to generate input symlinks as defined by RE AP? + 6345c74: Automated rollback of commit 30536ba. New features: - Add inputs filtering for aquery - https://docs.bazel.build now supports versioned documentation. Use the selector at the top of the navigation bar to switch between documentation for different Bazel releases. - build_tar.py in tools/build_defs/pkg now supports a json manifest that can be used to add paths that have symbols that can't be specified via the command line Important changes: - Added `--incompatible_dont_emit_static_libgcc` (bazelbuild#6825) Added `--incompatible_linkopts_in_user_link_flags` (bazelbuild#6826) - mobile-install now works with aapt2. Try it out with `bazel mobile-install --android_aapt=aapt2 //my:target` - Fixed a mobile-install v1 bug when deploying to Android 9 Pie devices. bazelbuild#6814 - Add a new option --xbinary_fdo to pass xbinary profile. - --runs_per_test: place in TESTING documentation category. - Adds a clarifying message to test case summary output when all test cases pass but the target fails. - Fixed mobile-install v1 error when installing an app with native libraries onto an Android 9 (Pie) device. See bazelbuild/examples#77 - Fixed issue where error messages from Android manifest merging actions were not propagated fully. - Add outputs and mnemonic filtering to aquery - New incompatible change flag for defaulting to aapt2 in Android builds: `--incompatible_use_aapt2_by_default`. To build with aapt2 today, pass the flag `--incompatible_use_aapt2_by_default=true` or `--android_aapt=aapt2`, or set the `aapt_version` to `aapt2` on your `android_binary` or `android_local_test` target. - set projectId in all PublishBuildToolEventStreamRequest - Flip flag --incompatible_string_is_not_iterable (bazelbuild#5830) - cc_toolchain.(static|dynamic)_runtime_libs attributes are now optional - Added --incompatible_disable_runtimes_filegroups (bazelbuild#6942). - objc_bundle has been removed. Please migrate to rules_apple's [apple_bundle_import](https://github.com/bazelbuild/rules_apple/bl ob/master/doc/rules-resources.md#apple_bundle_import). - The apple_stub_binary rule has been deleted. - Incompatible flag `--incompatible_dont_emit_static_libgcc` has been flipped (bazelbuild#6825) - Incompatible flag `--incompatible_linkopts_in_user_link_flags` has been flipped (bazelbuild#6826) - Open source aquery & cquery query2 tests - Fixed a mobile-install bug where `arm64-v8a` libraries were not deployed correctly on `arm64` devices. This was done by enabling incremental native lib deployment by default. A previously undocumented `--android_incremental_native_libs` flag is removed, and is now the regular behavior. See bazelbuild#2239 - Incompatible flag `--incompatible_linkopts_in_user_link_flags` has been flipped (bazelbuild#6826) - Incompatible flag `--incompatible_dont_emit_static_libgcc` has been flipped (bazelbuild#6825) - Added --incompatible_disable_legacy_crosstool_fields. See the migration notes at bazelbuild#6861. - In the Query HowTo, recommend ":*" instead of ":all". "all" might be the name of a target. - The default value for --incompatible_strict_action_env has been flipped to 'false' again, as we discovered breakages for local execution users. We'll need some more time to figure out the best way to make this work for local and remote execution. Follow bazelbuild#7026 for more details. This release contains contributions from many people at Google, as well as Benjamin Peterson, Dave Lee, George Gensure, Gert van Dijk, Gustavo Storti Salibi, Keith Smiley, Loo Rong Jie, Lukasz Tekieli, Mikhail Mazurskiy, Thi, Travis Cline, Vladimir Chebotarev, Yannic.
Release 0.21.0 (2018-12-19) Baseline: cb9b2af Cherry picks: + 12b9646: Windows, test wrapper: rename the associated flag + 7fc967c: Use a fixed thread pool in ByteStreamBuildEventArtifactUploader + 798b9a9: Add --build_event_upload_max_threads option + dbe05df: Update the version of skylib bundled in the distfile Incompatible changes: - The --experimental_stl command line option is removed. - aquery defaults to human readable output format. New features: - repository_ctx.download and repository_ctx.download_and_extract now return a struct. - Android Databinding v2 can be enabled with --experimental_android_databinding_v2. Important changes: - The deprecated and unmaintained Docker rules in tools/build_defs/docker were removed. Please use https://github.com/bazelbuild/rules_docker instead. - The new --upload_query_output_using_bep query/cquery/aquery flag causes query outputs to be uploaded via BEP. - New incompatible flag --incompatible_strict_argument_ordering - --strict_android_deps and --strict_java_deps were renamed to --experimental_strict_java_deps - config_settings that select on "compiler" value instead of values = {"compiler" : "x"} should use flag_values = {"@bazel_tools//tools/cpp:compiler": "x"}. - The new --upload_query_output_using_bep query/cquery/aquery flag causes query outputs to be uploaded via BEP. - Turn on --incompatible_disable_sysroot_from_configuration - We revamped our Android with Bazel tutorial! Check it out [here](https://docs.bazel.build/versions/master/tutorial/android-a pp.html). - --incompatible_disallow_slash_operator is now on by default - Enable --experimental_check_desugar_deps by default. This flag rules out several types of invalid Android builds at compile-time. - The --max_config_changes_to_show option lists the names of options which have changed and thus caused the analysis cache to be dropped. - The --experimental_strict_action_env option has been renamed to --incompatible_strict_action_env and is now on by default. This means Bazel will no longer use the client's PATH and LD_LIBRARY_PATH environmental variables in the default action environment. If the old behavior is desired, pass --action_env=PATH and --action_env=LD_LIBRARY_PATH. --noincompatible_strict_action_env will also temporarily restore the old behavior. However, as --action_env is a more general and explicit way to pass client environmental variables into actions, --noincompatible_strict_action_env will eventually be deprecated and removed. See bazelbuild#6648 for more details. - XCRUNWRAPPER_LABEL has been removed. If you used this value before, please use @bazel_tools//tools/objc:xcrunwrapper instead. - --incompatible_static_name_resolution is no unable by default - We will phase out --genrule_strategy in favor of --strategy=Genrule=<value> (for genrules) or --spawn_strategy=<value> (for all actions). - --incompatible_package_name_is_a_function is now enabled by default - Dynamic execution is now available with --experimental_spawn_strategy. Dynamic execution allows a build action to run locally and remotely simultaneously, and Bazel picks the fastest action. This provides the best of both worlds: faster clean builds than pure local builds, and faster incremental builds than pure remote builds. - --incompatible_package_name_is_a_function is now enabled by default - New incompatible flag --incompatible_merge_genfiles_directory - grpc log now logs updateActionResult - CppConfiguration doesn't do package loading anymore. That means: * it's no longer needed to have C++ toolchain available when building non-C++ projects * bazel will not analyze C++ toolchain when not needed -> speedup ~2s on bazel startup when C++ rules using hermetic toolchain are not loaded - --incompatible_package_name_is_a_fu... This release contains contributions from many people at Google, as well as andy g scott ?, Attila Ol?h, Benjamin Peterson, Clint Harrison, Dave Lee, Ed Schouten, Greg Estren, Gregor Jasny, Jamie Snape, Jerry Marino, Loo Rong Jie, Or Shachar, Sevki Hasirci, William Chargin.
Release 0.20.0 (2018-11-30) Baseline: 7bf7f03 Cherry picks: + fd52341: update bazel-toolchains pin to latest release Part of changes to allow bazelci to use 0.19.0 configs. RBE toolchain configs at or before 0.17.0 are not compatible with bazel 0.19.0 or above. + 241f28d: Revert "Toggle --incompatible_disable_late_bound_option_defaults flag." + f7e5aef: Add cc_toolchain targets for the new entries in the default cc_toolchain_suite. + d2920e3: Revert "WindowsFileSystem: open files with delete-sharing" [Breaking changes in 0.20](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.20) - [--incompatible_remove_native_http_archive](bazelbuild#6570). - [--incompatible_remove_native_git_repository](bazelbuild#6569). - [--incompatible_disable_cc_toolchain_label_from_crosstool_proto](bazelbuild#6434). - [--incompatible_disable_depset_in_cc_user_flags](bazelbuild#6384). - [--incompatible_disable_cc_configuration_make_variables](bazelbuild#6381). - [--incompatible_disallow_conflicting_providers](bazelbuild#5902). - [--incompatible_range_type](bazelbuild#5264). [0.20 is a migration window for the following changes](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Amigration-0.20) - [--incompatible_use_jdk10_as_host_javabase](bazelbuild#6661) - [--incompatible_use_remotejdk_as_host_javabase](bazelbuild#6656) - [--incompatible_disable_sysroot_from_configuration](bazelbuild#6565) - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](bazelbuild#6537) - [--incompatible_disable_depset_in_cc_user_flags](bazelbuild#6383) - [--incompatible_package_name_is_a_function](bazelbuild#5827) [Breaking changes in the next release (0.21)](https://github.com/bazelbuild/bazel/issues?q=is%3Aissue+label%3Abreaking-change-0.21) - [--incompatible_use_jdk10_as_host_javabase](bazelbuild#6661) - [--incompatible_use_remotejdk_as_host_javabase](bazelbuild#6656) - [--incompatible_disable_sysroot_from_configuration](bazelbuild#6565) - [--incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite](bazelbuild#6537) - [--incompatible_disable_depset_in_cc_user_flags](bazelbuild#6383) - [--incompatible_disallow_data_transition](bazelbuild#6153) - [--incompatible_package_name_is_a_function](bazelbuild#5827) - [--incompatible_disallow_slash_operator](bazelbuild#5823) - [--incompatible_static_name_resolution](bazelbuild#5637) Incompatible changes: - the --experimental_no_dotd_scanning_with_modules command line argument is not supported anymore. - The --prune_cpp_modules command line option is not supported anymore. - the --experimental_prune_cpp_input_discovery command line option is not supported anymore. New features: - Added support for Android NDK r18. Important changes: - The 'default' parameter of attr.output and attr.output_list is removed. This is controlled by --incompatible_no_output_attr_default - A number of platform-related Starlark APIs which were previously marked "experimental" are now disabled by default, and may be enabled via --experimental_platforms_api - Make legacy-test-support ("legacy_test-<api-level>") from android_sdk_repository neverlink. The legacy test support libraries shouldn't be built into test binaries. To make them available at runtime, developers should declare them via uses-library: https://developer.android.com/training/testing/set-up-project#andr oid-test-base - query remote server Capabilities (per REAPI v2) - CppRules: All cc_toolchains depended on from cc_toolchain_suite.toolchains are now analyzed when not using platforms in order to select the right cc_toolchain. - removed obsolete --explicit_jre_deps flag. - Incompatible flag --incompatible_disable_legacy_cpp_toolchain_skylark_api was flipped. - Improve error messaging when unsupport proguard options are specified at the library level. - Incompatible flag --incompatible_disable_legacy_cpp_toolchain_skylark_api was flipped. - Incompatible flag --incompatible_disable_legacy_cpp_toolchain_skylark_api was flipped. - The --incompatible_disable_late_bound_option_defaults flag has been flipped (bazelbuild#6384) - Incompatible flag --incompatible_disable_legacy_flags_cc_toolchain_api was flipped (bazelbuild#6434) - Fixed issue where ctx.resolve_command created conflicting intermediate files when resolve_command was called multiple times within the same rule invocation with a long command attribute. - Incompatible flag --incompatible_disable_cc_configuration_make_variables was flipped (bazelbuild#6381) - If the --javabase flag is unset, it Bazel locates a JDK using the JAVA_HOME environment variable and searching the PATH. If no JDK is found --javabase will be empty, and builds targeting Java will not be supported. Previously Bazel would fall back to using the embedded JDK as a --javabase, but this is no longer default behaviour. A JDK should be explicitly installed instead to enable Java development - Bazel will now shut down when idle for 5 minutes and the system is low on RAM (linux only). - CROSSTOOL file is now read from the package of cc_toolchain, not from the package of cc_toolchain_suite. This is not expected to break anybody since cc_toolchain_suite and cc_toolchain are commonly in the same package. - All overrides of Starlark's ctx.new_file function are now deprecated. Try the `--incompatible_new_actions_api` flag to ensure your code is forward-compatible. - --incompatible_disable_cc_toolchain_label_from_crosstool_proto was flipped. - Introduce --(no)shutdown_on_low_sys_mem startup flag to toggle idle low-memory shutdown, disabled by default. - --incompatible_disable_cc_toolchain_label_from_crosstool_proto was flipped. - --incompatible_disable_cc_toolchain_label_from_crosstool_proto was flipped. - CppRules: All cc_toolchains depended on from cc_toolchain_suite.toolchains are now analyzed when not using platforms in order to select the right cc_toolchain. - The function `attr.license` is deprecated and will be removed. It can be disabled now with `--incompatible_no_attr_license`. - `range()` function now returns a lazy value (`--incompatible_range_type` is now set by default). - The code coverage report now includes the actual paths to header files instead of the ugly, Bazel generated, virtual includes path. - `--incompatible_disallow_conflicting_providers` has been switched to true - Add new flag `--incompatible_disable_systool_from_configration` to disable loading the systool from CppConfiguration. - Add new flag `--incompatible_disable_sysroot_from_configuration` to disable loading the systool from CppConfiguration. - Sorting remote Platform properties for remote execution. May affect cache keys! - Use different server log files per Bazel server process; java.log is now a symlink to the latest log. This release contains contributions from many people at Google, as well as a7g4 <a7g4@a7g4.net>, Alan <alan.agius@betssongroup.com>, Asaf Flescher <asafflesch@gmail.com>, Benjamin Peterson <bp@benjamin.pe>, Ed Schouten <ed.schouten@prodrive-technologies.com>, George Gensure <ggensure@uber.com>, George Kalpakas <kalpakas.g@gmail.com>, Greg <gregestren@users.noreply.github.com>, Irina Iancu <iirina@users.noreply.github.com>, Keith Smiley <keithbsmiley@gmail.com>, Loo Rong Jie <loorongjie@gmail.com>, Mark Zeren <mzeren@vmware.com>, Petros Eskinder <petroseskinder@users.noreply.github.com>, rachcatch <rachelcatchpoole@hotmail.com>, Robert Brown <robert.brown@gmail.com>, Robert Gay <robert.gay@redfin.com>, Salty Egg <2281521+zhouhao@users.noreply.github.com>.
Release 0.19.2 (2018-11-19) Baseline: ac88041 Cherry picks: + 9bc3b20: Fix the "nojava" platform and enable full presubmit checks for the various JDK platforms now that we have enough GCE resources. + 54c2572: Add openjdk_linux_archive java_toolchain for nojava platform. + 20bfdc6: Automated rollback of commit 19a401c. + 914b4ce: Windows: Fix Precondition check for addDynamicInputLinkOptions + 83d406b: Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when it exists. + e025726: Update turbine + 5f312dd: Fix event id for action_completed BEP events + f0c844c: Release 0.19.0 (2018-10-29) + c3fb1db: Do not use CROSSTOOL to select cc_toolchain + 8e28083: Windows Add tests for msys gcc toolchain and mingw gcc toolchain + fd52341: update bazel-toolchains pin to latest release Part of changes to allow bazelci to use 0.19.0 configs. RBE toolchain configs at or before 0.17.0 are not compatible with bazel 0.19.0 or above. + eb2af0f: Release 0.19.1 (2018-11-12) + 6bc4528: Also update cc_toolchain.toolchain_identifier when CC_TOOLCHAIN_NAME is set + f7e5aef: Add cc_toolchain targets for the new entries in the default cc_toolchain_suite. + 683c302: Read the CROSSTOOL from the package of the current cc_toolchain, not from --crosstool_top - Fixes regression bazelbuild#6662, by fixing tools/cpp/BUILD - Fixes regression bazelbuild#6665, by setting the toolchain identifier. - CROSSTOOL file is now read from the package of cc_toolchain, not from the package of cc_toolchain_suite. This is not expected to break anybody since cc_toolchain_suite and cc_toolchain are commonly in the same package.
Release 0.19.1 (2018-11-12) Baseline: ac88041 Cherry picks: + 9bc3b20: Fix the "nojava" platform and enable full presubmit checks for the various JDK platforms now that we have enough GCE resources. + 54c2572: Add openjdk_linux_archive java_toolchain for nojava platform. + 20bfdc6: Automated rollback of commit 19a401c. + 914b4ce: Windows: Fix Precondition check for addDynamicInputLinkOptions + 83d406b: Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when it exists. + e025726: Update turbine + 5f312dd: Fix event id for action_completed BEP events + f0c844c: Release 0.19.0 (2018-10-29) + c3fb1db: Do not use CROSSTOOL to select cc_toolchain + 8e28083: Windows Add tests for msys gcc toolchain and mingw gcc toolchain + fd52341: update bazel-toolchains pin to latest release Part of changes to allow bazelci to use 0.19.0 configs. RBE toolchain configs at or before 0.17.0 are not compatible with bazel 0.19.0 or above. Important changes: - Fix regression bazelbuild#6610, which prevents using the MINGW compiler on Windows.
Release 0.18.1 (2018-10-31) Baseline: c062b1f Cherry picks: + 2834613: Include also ext jars in the bootclasspath jar. + 2579b79: Fix toolchain_java9 on --host_javabase=<jdk9> after 7eb9ea1 + faaff7f: Release notes: fix markdown + b073a18: Fix NestHost length computation Fixes bazelbuild#5987 + bf6a63d: Fixes bazelbuild#6219. Don't rethrow any remote cache failures on either download or upload, only warn. Added more tests. + c1a7b4c: Fix broken IdlClassTest on Bazel's CI. + 71926bc: Fix the Xcode version detection which got broken by the upgrade to Xcode 10.0. + 86a8217: Temporarily restore processing of workspace-wide tools/bazel.rc file. + 914b4ce: Windows: Fix Precondition check for addDynamicInputLinkOptions + e025726: Update turbine Important changes: - Fix regression bazelbuild#6219, remote cache failures
Release 0.19.0 (2018-10-29) Baseline: ac88041 Cherry picks: + 9bc3b20: Fix the "nojava" platform and enable full presubmit checks for the various JDK platforms now that we have enough GCE resources. + 54c2572: Add openjdk_linux_archive java_toolchain for nojava platform. + 20bfdc6: Automated rollback of commit 19a401c. + 914b4ce: Windows: Fix Precondition check for addDynamicInputLinkOptions + 83d406b: Windows, test-setup.sh: Setting RUNFILES_MANIFEST_FILE only when it exists. + e025726: Update turbine + 5f312dd: Fix event id for action_completed BEP events The Bazel team is happy to announce a new version of Bazel, [Bazel 0.19](https://github.com/bazelbuild/bazel/releases/tag/0.19.0). This document lists the major changes since Bazel 0.18. General changes --------------- * The `--incompatible_expand_directories` flag will automatically expand directories in command lines. Design doc: https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM * The `--loading_phase_threads` flag now defaults to `auto` (not 200, as was previously the case), which at the moment corresponds to the number of CPUs. This is appropriate for most users. However, if your sources reside on a network file system, increasing this value may yield better analysis-time performance when disk caches are cold. Android ------- * Fixed missing debug symbols when building native code with `--compilation_mode=dbg` that target Android ARM architectures by adding the `-g` flag. C++ --- * Added `--incompatible_disable_legacy_flags_cc_toolchain_api` to deprecate legacy `cc_toolchain` Starlark API for legacy CROSSTOOL fields. Tracking issue is bazelbuild#6434. Migration docs are on the bazel website. * Runfiles in cc_test: the C++ runfiles library (`@bazel_tools//tools/cpp/runfiles`) can now create Runfiles objects for tests. See `//tools/cpp/runfiles/runfiles_src.h` (in the Bazel source tree) for documentation. * :cc_binary link action no longer hardcodes `-static-libgcc` for toolchains that support embedded runtimes (guarded by `--experimental_dont_emit_static_libgcc` temporarily). * The flag `--experimental_enable_cc_configuration_make_variables` is removed, use `--incompatible_disable_cc_configuration_make_variables` instead. Java ---- * If the `--javabase` flag is unset, Bazel locates a JDK using the `JAVA_HOME` environment variable and searching the PATH. If no JDK is found `--javabase` will be empty, and builds targeting Java will not be supported. Previously Bazel would fall back to using the embedded JDK as a `--javabase`, but this is no longer default behaviour. A JDK should be explicitly installed instead to enable Java development. Code Coverage ------------- * LcovMerger was renamed to CoverageOutputGenerator. * Faster coverage collection for gcc compiled C++ code can now be tested by enabling it with `--experimental_cc_coverage`. Other Changes ------------- * Add `--apple_compiler` and `--apple_grte_top options`. These provide the equivalent of --compiler / --grte_top for the toolchain configured in --apple_crosstool_top. * There is now a `same_pkg_direct_rdeps` query function. See the query documentation for more details. * Propagating remote errors to the user even if `--verbose_failures=false` is set. * Add number of configured targets to analysis phase status output. * Bazel will now check stderr instead of stdout to decide if it is outputting to a terminal. `--isatty` is deprecated, use `--is_stderr_atty` instead. Future Changes -------------- * None of the C++ related incompatible flags mentioned in the 0.18 release were flipped, they will be flipped in the next release (0.20). We have created tracking issues for all the relevant incompatible flags: * [`--incompatible_disable_late_bound_option_defaults`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults): bazelbuild#6384 * [`--incompatible_disable_depset_in_cc_user_flags`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags): bazelbuild#6383 * [`--incompatible_disable_cc_toolchain_label_from_crosstool_proto`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label): bazelbuild#6382 * [`--incompatible_disable_cc_configuration_make_variables`](bazelbuild#6381): bazelbuild#6381 * [`--incompatible_disable_legacy_cpp_toolchain_skylark_api`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-legacy-c-configuration-api): bazelbuild#6380 * [`incompatible_disable_legacy_flags_cc_toolchain_api`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-legacy-c-toolchain-api): bazelbuild#6434 * In the 0.20 release the flags [`--incompatible_remove_native_git_repository`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#remove-native-git-repository) and [`--incompatible_remove_native_http_archive`](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#remove-native-http-archive) will be turned on. Thank you to our contributors! ------------------------------ This release contains contributions from many people at Google, as well as Andreas Herrmann, Andreas Hippler, Benjamin Peterson, David Ostrovsky, Ed Baunton, George Gensure, Igal Tabachnik, Jason Gavris, Loo Rong Jie, rmalik, and Yannic Bonenberger Thank you to everyone who contributed to this release!
Release 0.18.0 (2018-10-15) Baseline: c062b1f Cherry picks: + 2834613: Include also ext jars in the bootclasspath jar. + 2579b79: Fix toolchain_java9 on --host_javabase=<jdk9> after 7eb9ea1 + faaff7f: Release notes: fix markdown + b073a18: Fix NestHost length computation Fixes bazelbuild#5987 + bf6a63d: Fixes bazelbuild#6219. Don't rethrow any remote cache failures on either download or upload, only warn. Added more tests. + c1a7b4c: Fix broken IdlClassTest on Bazel's CI. + 71926bc: Fix the Xcode version detection which got broken by the upgrade to Xcode 10.0. + 86a8217: Temporarily restore processing of workspace-wide tools/bazel.rc file. General changes - New [bazelrc file list](https://docs.bazel.build/versions/master/user-manual.html#where-are-the-bazelrc-files). If you need to keep both the old and new lists of .rc files active concurrently to support multiple versions of Bazel, you can import the old file location into the new list using `try-import`. This imports a file if it exists and silently exits if it does not. You can use this method to account for a user file that may or may not exist - [.bazelignore](https://docs.bazel.build/versions/master/user-manual.html#.bazelignore) is now fully functional. - The startup flag `--host_javabase` has been renamed to `--server_javabase` to avoid confusion with the build flag `--host_javabase`. Android - The Android resource processing pipeline now supports persistence via worker processes. Enable it with `--persistent_android_resource_processor`. We have observed a 50% increase in build speed for clean local builds and up to 150% increase in build speed for incremental local builds. C++ - In-memory package //tools/defaults has been removed (controlled by `--incompatible_disable_tools_defaults_package` flag). Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-inmemory-tools-defaults-package) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - Late bound option defaults (typical example was the `--compiler` flag, when it was not specified, it’s value was computed using the CROSSTOOL) are removed (controlled by `--incompatible_disable_late_bound_option_defaults` flag). Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - Depsets are no longer accepted in `user_compile_flags` and `user_link_flags` in the C++ toolchain API (controlled by `--incompatible_disable_depset_in_cc_user_flags` flag) affects C++ users. Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - CROSSTOOL is no longer consulted when selecting C++ toolchain (controlled by `--incompatible_disable_cc_toolchain_label_from_crosstool_proto` flag). Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - You can now use [`toolchain_identifier` attribute](bazelbuild@857d466) on `cc_toolchain` to pair it with CROSSTOOL toolchain. - C++ specific Make variables are no longer passed from the `CppConfiguration`, but from the C++ toolchain (controlled by `--incompatible_disable_cc_configuration_make_variables` flag). Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-c-specific-make-variables-from-the-configuration) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - Skylark api accessing C++ toolchain in `ctx.fragments.cpp` is removed (controlled by `--incompatible_disable_legacy_cpp_toolchain_skylark_api` flag). Please migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - cc_binary link action no longer hardcodes `-static-libgcc` for toolchains that support embedded runtimes (guarded by [`--experimental_dont_emit_static_libgcc`](https://source.bazel.build/bazel/+/2f281960b829e964526a9d292d4c3003e4d19f1c) temporarily). Proper deprecation using `--incompatible` flags will follow. Java - Future versions of Bazel will require a locally installed JDK for Java development. Previously Bazel would fall back to using the embedded `--server_javabase` if no JDK as available. Pass `--incompatible_never_use_embedded_jdk_for_javabase` to disable the legacy behaviour. - `--javacopt=` no longer affects compilations of tools that are executed during the build; use `--host_javacopt=` to change javac flags in the host configuration. Objective C - `objc_library` now supports the module_name attribute. Skylark - Adds `--incompatible_expand_directories` to automatically expand directories in skylark command lines. Design doc: https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM - Support fileset expansion in ctx.actions.args(). Controlled by `--incompatible_expand_directories`. Windows - `--windows_exe_launcher` is deprecated, this flag will be removed soon. Please make sure you are not using it. - Bazel now supports the symlink runfiles tree on Windows with `--experimental_enable_runfiles` flag. For more details, see [this doc](https://docs.google.com/document/d/1hnYmU1BmtCSJOUvvDAK745DSJQCapToJxb3THXYMrmQ). Other Changes - A new experimental option `--experimental_ui_deduplicate` has been added. It causes the UI to attempt to deduplicate messages from actions to keep the console output cleaner. - Add `--modify_execution_info`, a flag to customize action execution info. - Add ExecutionInfo to aquery output for ExecutionInfoSpecifier actions. - When computing `--instrumentation_filter`, end filter patterns with "[/:]" to match non-top-level packages exactly and treat top-level targets consistently. - Added the `bazel info server_log` command, which obtains the main Bazel server log file path. This can help debug Bazel issues. - `aapt shrink` resources now properly respect filter configurations.
Release 0.17.2 (2018-09-21) Baseline: aa118ca Cherry picks: + 0e04625: Update checker framework dataflow and javacutil versions + 3987300: Stop using --release in versioned java_toolchains + 438b277: make_deb: Add new empty line in the end of conffiles file + 5044017: Properly mark configuration files in the Debian package. + 9ed9d8a: Add flag --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil es_tree. + 22d761a: Update protobuf to 3.6.1 -- add new files + 27303d7: Update protobuf to 3.6.1 -- update references + ddc97ed: Update protobuf to 3.6.1 -- remove 3.6.0 sources + ead1002: Fix protobuf in the WORKSPACE + 12dcd35: Revert "Update to JDK 10 javac" + 7eb9ea1: Automated rollback of bazelbuild@808ec9ff9b5cec14f23a4b a106bc5249cacc8c54 and bazelbuild@4c9149d558161e7d3e363f b697f5852bc5742a36 and some manual merging. + 4566a42: Fix tests on JDK 9 and 10 + 1e9f0aa: Fix more tests on JDK 9 and 10 + a572c1c: Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to postsubmit. + 29f1de0: Disable Android shell tests on the "nojava" platform. + b495eaf: Update bazel_toolchains to latest release. + 9323c57: Windows: fix writing java.log + 1aba9ac: Automated rollback of commit de22ab0. + 2579b79: Fix toolchain_java9 on --host_javabase=<jdk9> after 7eb9ea1 + 2834613: Include also ext jars in the bootclasspath jar. + fdb09a2: Release 0.17.1 (2018-09-14) + 1d956c7: Do not fail the build when gcov is not installed + 2e677fb: Ignore unrecognized VM options in desugar.sh, such as the JVM 9 flags to silence warnings. Important changes: - In the future, Bazel will expand tree artifacts in runfiles, too, which causes the sandbox to link each file individually into the sandbox directory, instead of symlinking the entire directory. In this release, the behavior is not enabled by default yet. Please try it out via --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile s_tree and let us know if it causes issues. If everything looks good, this behavior will become the default in a following release.
Release 0.17.1 (2018-09-14) Baseline: aa118ca Cherry picks: + 0e04625: Update checker framework dataflow and javacutil versions + 3987300: Stop using --release in versioned java_toolchains + 438b277: make_deb: Add new empty line in the end of conffiles file + 5044017: Properly mark configuration files in the Debian package. + 9ed9d8a: Add flag --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil es_tree. + 22d761a: Update protobuf to 3.6.1 -- add new files + 27303d7: Update protobuf to 3.6.1 -- update references + ddc97ed: Update protobuf to 3.6.1 -- remove 3.6.0 sources + ead1002: Fix protobuf in the WORKSPACE + 12dcd35: Revert "Update to JDK 10 javac" + 7eb9ea1: Automated rollback of bazelbuild@808ec9ff9b5cec14f23a4b a106bc5249cacc8c54 and bazelbuild@4c9149d558161e7d3e363f b697f5852bc5742a36 and some manual merging. + 4566a42: Fix tests on JDK 9 and 10 + 1e9f0aa: Fix more tests on JDK 9 and 10 + a572c1c: Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to postsubmit. + 29f1de0: Disable Android shell tests on the "nojava" platform. + b495eaf: Update bazel_toolchains to latest release. + 9323c57: Windows: fix writing java.log + 1aba9ac: Automated rollback of commit de22ab0. + 2579b79: Fix toolchain_java9 on --host_javabase=<jdk9> after 7eb9ea1 + 2834613: Include also ext jars in the bootclasspath jar. Incompatible changes: - Loading @bazel_tools//tools/build_defs/repo:git_repositories.bzl no longer works. Load @bazel_tools//tools/build_defs/repo:git.bzl instead. - If the same artifact is generated by two distinct but identical actions, and a downstream action has both those actions' outputs in its inputs, the artifact will now appear twice in the downstream action's inputs. If this causes problems in Skylark actions, you can use the uniquify=True argument in Args.add_args. - If the same artifact is generated by two distinct but identical actions, and a downstream action has both those actions' outputs in its inputs, the artifact will now appear twice in the downstream action's inputs. If this causes problems in Skylark actions, you can use the uniquify=True argument in Args.add_args. - Labels in C++ rules' linkopts attribute are not expanded anymore unless they are wrapped, e.g: $(location //foo:bar) - If the same artifact is generated by two distinct but identical actions, and a downstream action has both those actions' outputs in its inputs, the artifact will now appear twice in the downstream action's inputs. If this causes problems in Skylark actions, you can use the uniquify=True argument in Args.add_args. - New bazelrc file list. - Windows: when BAZEL_SH envvar is not defined and Bazel searches for a suitable bash.exe, Bazel will no longer look for Git Bash and no longer recommend installing it as a Bash implementation. See issue bazelbuild#5751. - New bazelrc file list. New features: - The aquery command now supports --output=text. - Java, runfiles: the Java runfiles library is now in @bazel_tools//tools/java/runfiles. The old target (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and will be removed in Bazel 0.18.0. - Java, runfiles: the Java runfiles library is now in @bazel_tools//tools/java/runfiles. The old target (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and will be removed in Bazel 0.19.0 (not 0.18.0, as stated earlier). Important changes: - Allow @ in package names. - Remove support for java_runtime_suite; use alias() together with select() instead. - Python wrapper scripts for MSVC are removed. - [JavaInfo] Outputs are merged in java_common.merge(). - Faster analysis by improved parallelization. - --experimental_shortened_obj_file_path is removed. - Introduce the --remote_cache_proxy flag, which allows for remote http caching to connect via a unix domain socket. - No longer define G3_VERSION_INFO for c++ linkstamp compiles, as it was a duplicate of G3_TARGET_NAME. - Added support for Android NDK r17. The default STL is now `libc++`, and support for targeting `mips`, `mips64` and `ARMv5` (`armeabi`) has been removed. - Add aquery command to get analysis time information about the action graph. - Fixed compatibility with aar_import when using aapt2. AAPT2 is now supported for Android app builds without resource shrinking. To use it, pass the `--android_aapt=aapt2` flag or define android_binary.aapt_version=aapt2. - Code coverage is collected for Java binaries invoked from sh_test. - java_common.compile creates the native headers jar accesible via JavaInfo.outputs.native_headers. - Deleting deprecated no-op flag --show_package_location - The JDK shipped with Bazel was updated to JDK10. - Rename the startup flag --host_javabase to --server_javabase to avoid confusion with the build flag --host_javabase - newly added options --experimental_repository_hash_file and --experimental_verify_repository_rules allow to verify for repositories the directory generated against pre-recorded hashes. See documentation for those options. - Removed the gen_jars output group - --subcommands can now take a "pretty_print" value ("--subcommands=pretty_print") to print the arguments of subcommands as a list for easier reading. - follow-up to bazelbuild@1ac359743176e659e9c7472 645e3142f3c44b9e8 - A rule error is now thrown if a Skylark rule implementation function returns multiple providers of the same type. - When using Bazel's remote execution feature and Bazel has to fallback to local execution for an action, Bazel used non-sandboxed local execution until now. From this release on, you can use the new flag --remote_local_fallback_strategy=<strategy> to tell Bazel which strategy to use in that case. - Execution Log Parser can now, when printing it out, filter the log by runner type - A rule error is now thrown if a Skylark rule implementation function returns multiple providers of the same type. - Removed the gen_jars output group - Removed the gen_jars output group - Set --defer_param_files to default to true. - Sort attribute lists in proto-form query output to fix non-deterministic genquery output. - Replace 0/1 with False/True for testonly attribute - bazel now supports a .bazelignore file specifying directories to be ignored; however, these directories still have to be well founded and, in particular, may not contain symlink cycles. - Add more detailed reporting of the differences between startup options. - update data binding to 3.2.0 - For Android incremental dexing actions, Bazel now persists its DexBuilder process across individual actions. From our benchmarks, this results in a 1.2x speedup for clean local builds. - The standard `xcode_VERSION` feature now always uses exactly two components in the version, even if you specify `--xcode_version` with more or fewer than two. - A rule error will be thrown if a Skylark rule implementation function returns multiple providers of the same type. Try the `--incompatible_disallow_conflicting_providers` flag to ensure your code is forward-compatible. - Removed notion of FULLY_STATIC linking mode from C++ rules. - In documentation, we've renamed Skylark into Starlark. - Execution Log Parser can now, when printing it out, reorder the actions for easier text diffs - Linkstamps are no longer recompiled after server restart. - Use VanillaJavaBuilder and disable header compilation in toolchain_hostjdk8. The default toolchain will soon drop compatibility with JDK 8. Using a JDK 8 host_javabase will only be supported when using 'VanillaJavaBuilder' (which does not support Error Prone, Strict Java Deps, or reduced classpaths) and with header compilation disabled. - In the future, Bazel will expand tree artifacts in runfiles, too, which causes the sandbox to link each file individually into the sandbox directory, instead of symlinking the entire directory. In this release, the behavior is not enabled by default yet. Please try it out via --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile s_tree and let us know if it causes issues. If everything looks good, this behavior will become the default in a following release.
PreviousNext