Release 0.24.0rc4 (2019-03-07)
Baseline: 6fc5b6e53be5f1b8b744789f35e1de6617ed7fe3
Cherry picks:
- 993c4843ed807ded975445babefd839923e5d2d9: Enable --incompatible_use_toolchain_providers_in_java_common
- 7567fb385ba13871ceea19bb4d2c203bd0aafc75: Use a ForkJoinPool instead of a ThreadPoolExecutor for the globbing. This makes the multi-thread more efficient, especially when --legacy_globbing_threads is dialed up on slow file systems.
- 34bf56f25eb1bed7fbd5c4cf7bae15bf461cf904: Expose is_using_fission crosstool variable for compile actions
- 33c982e01ec7ce50db0a3de4d79b2adfe9e244af: Fix #7515: bazel_rules_test fails on Windows.
- 7028ff383d623a8ae7c7d6b74fb1d22675eee5cd: Fix legacy crosstool fields in unit-tests that depend on C++ rules
- 60bc1e14242cc9bd7c51188cc3d1feb4453efacc: external.md: fix broken link
- bd5e9ed184482383a2a9a1ed36fb217305abf72b: Split py_binary into py_binary and py_library to avoid having py_binary in deps.
- a7c4cd445e19a99b89ce70870fb58c32ce8002a1: Update mock to be consistent with real toolchain resolution
- 694d18ac2847151c9ace6fa7fa434b927d5f6723: Slight refactor so as to micro-optimize usages of AspectDefinition#visitAspectsIfRequired.
- 042ece1d204ad4580ce1c7730c1520a03b3abec5: Refactor JDK dependency to separate host and target JDKs
- 5c380bab78a79ec5d4cb07bb56f6aa7e987bbcd9: Generate Stardoc documentation for modules of functions
- 9b496e638eb49f4e5b5cb6e0a7a4dee0e73d8b77: Typo fix
- a249de1a86136accc54c97a0ee99ffff817fbfdc: Handle **kwargs and *args macro parameters correctly in Stardoc
- 9d40c6bde362f7af07beb913d5e143f16b30d942: Only apply deps limit to analysis tests using transitions
- 992eb17cb9cb4208bbabda032508bc56adabeeb4: Remove wrapped_clang tpl workaround files
- 3dd18be5096aae257d80acfef6fcce4bb48c2417: Move most license checking logic into a module to make it easier to eventually remove.
- 4c8c152da4a5dee33c26154379486689df6e3035: Use two layers of LoadingCaches, rather than two layers of ConcurrentHashMaps, to implement Aspect#forNative.
- b81776fad62771a261eaa8ec8ecedca3bd88969a: Properly presize the HashMap in Attribute#ComputationStrategy.computeValuesForAllCombinations.
- 5f1658fe02e5e585365c817ed2b8d064d6ffc78b: Mitigate unordered dirtying of rewound nodes by allowing repeats
- 436135fb059bf9179ea06d923a2592bcb159036b: Remove dierksen from bazel CODEOWNERS; correct thomasvl.
- 8de8f924d747005dec6f6e8c577a726a21eef0ab: Windows installation using Scoop. #4950
- bfd71deb3302318be719914ba4f21b542e24a92e: Windows, test wrapper: simplify IFStream
- ce7492782d2b6cbb576df0baf7a3c622a33986af: Automated rollback of commit 993c4843ed807ded975445babefd839923e5d2d9.
- 8ac46c157c5da63e97a5825316ce6f0c3290e189: Windows: add --incompatible_windows_escape_jvm_flags
- e184025b3359d8c0367566e1afd2ea9de6d30316: Remove non-existent import from JacocoCoverageRunner.
- d12b3abd0fac4437a603d1423a84f10ea687ba7d: Windows, test wrapper: use IFStream to encode XML
- b2a92ad7334c5f0150784b4ea71c0eefb15f8658: Refactor StandaloneTestStrategy
- 2f17a86ccc5249ed3c47f4fc588a9c6116075d10: Prepare the codebase for the --incompatible_disable_legacy_crosstool_fields
- e5860bc577007433fc7fcebc997974e623b3e2df: Remove toolchain resolution logic from find_java_toolchain helper
- 25d46f4234c431dab5ee1aec6a246e1c9ca583f8: Refactor the async execution interface for actions
- ed10486d524d9dbd19485f39a6cd418cfab307f6: Release 0.23.0 (2019-02-26)
- 0bffbb3548c1d40dfb1b8051fc98897fa61ad967: Upgrade the java tools version in bazel to 0.5.
- 18da64936f5e00e7e44aeb56ebe6bf5a61bfaa41: Documentation: replace "Methods" with "Members"
- ba27252da88f8fd5bb831ff3c77ecb66634b38ce: Update ToolchainResolver to properly deal with aliases as toolchain targets.
- 79147c65199674263f308c02d6a78d71de2a91f4: Versioned docs: add documentation for 0.23.0
- 54e70a02adc7848fe08a4a244fd012a0d7a86b12: Add a python_version attribute to py_runtime and its associated provider
- 5ce05a01633e972eee6f3ed8e9de06c34ba1cd40: retain the OutputStore when include scanning
- 65eea0c4707030a69c941b39a9abe50682a0053c: Convert ConstraintCollection to use a Builder.
- 4aa059ad9b58ee8342378f27aca93cfefb5c1cda: Add --incompatible_disable_third_party_license_checking.
- 02781a6302177d76d2ee1c1e3bda41edc6edac67: Add Python toolchain definitions to @bazel_tools
- d2910577d338f259cb13b438a4ce3acc5493f2c2: Added Builder for DeclaredToolchainInfo.
- 06eb1bbde616d4e9b9e92da34245c8142a5b1121: Pass through information about package lookup failure into import lookup.
- e3c8685d694b735a59dcd6ba740d8d3030e845a5: Roll-forward of xcode_locator now that there are no more tools depending on the old version.
- c6a4b1bf84d27027892e297a32f1819ae7bebf53: Remove GenRuleBase.getExtraExecutionInfo
- 3dbf778af034b10005c42732e079ec309c87d350: Allow tests to inspect the attempt id
- 01483c6bf56148c779428d6181f0e90740164131: external.md: also hint at bazel sync
- 711e8b6a702eb65e07031d4aee001d21cc5cc2bb: Remove ACTION_EXECUTE profiling
- 1724cb27adc695e34ad59623201ecfabc1f45135: Fix NPE in JacocoCoverageRunner.
- b4fc49449ade627a1fb7d63923acbb0abd44196a: Make the existence of --bes_results_url more prominent.
- 09487ff4ad5d035e359443b7e251d5dbec233da4: Update the Java tools deploy jars.
- c8e3d801400e8f2c09f14ea8153303cfe97c5236: Remove some unused code.
- 63adb23465895cbb7c9c537d2b26a1e25b1c1d0b: Rename --experimental_cc_coverage to --incompatible_cc_coverage.
- 6edd26454f812c4f381cbf690f472ade4359f711: Upgrade Java tools to version 0.5.1.
- 3921d6f03e43874ec4f5596b5ada7252eb3bd9d5: Add ResolvedPaths.getCoverageDataPath
- e64066d9eb1ebfc3f52ec1e95459849921a19e71: Enable --incompatible_java_coverage by default in Bazel.
- f0a1597cca2252754daf1d53ff76cf1a9b3dd9b9: remote: properly reset state when using remote cache. Fixes #7555
- b70f0c1739d1eef9eab61672448b4c8cc325b9f5: Refactor StandaloneTestStrategy with new interfaces
- 1a90fe605574a6a04208b75a1092863be007da1b: Automatic code cleanup.
- 82281ad1d56b0522c75c4f40ff2b8151723f2c71: Don't crash when Starlark rules declare attributes named "licenses".
- 62ba7cb2adacd19f046214166db67cdb45b51865: Remove tests that are covered in license_checking_test.sh.
- db8aa2b17dc18eba7ffb0992e8772408e6828738: Move constraint duplication checks to ConstraintCollection.
- 8c350222eda966c794de2495bf98388c162990e8: Use a reasonable set of spawn strategies by default.
- 1488f91fec238adacbd0517fcee15d8ec0599b8d: Add stardoc test for generated sources support
- dfd48fcd64327b55627540ec7aa6c15e9096687e: Set default value of --incompatible_remap_main_repo to true.
- 7f08dbd35f24c6df2f99f08bd01368356a47399f: Dirty rewinding subgraphs in reverse topological order
- ceffff91dfa910146389235abef3537ad789c301: Point to the new location of Buildbarn.
- 19185fcb8b2e5c690661dbf57f1aec72f148fd5a: Add unit tests that check what interpreter py_binary invokes
- 700cc6611853a5e71469e82bb568e4d2cc3de0a4: Update stale references from inputsKnown to inputsDiscovered
- 89299bd2b1ec6e1ce27c6d0e745aed6aae9907d7: Don't use Skyframe globbing when we're not tracking incremental state.
- ac6d4fd194c2d9aba13ce613ec373f627210b18d: Meaningfully name a local variable in addReverseDepAndCheckIfDone
- d03dcfb450a8f3717d81f9ecde5ac24ec53e042a: Make Xcode setup more resilient
- ce3a57a33cad59a60fb1b297500b8cf6c2940889: Remove useless code.
- 046d253791b7f69c1e6444d4aef0625b67be02dc: #5256 Set User-Agent Header to http calls
- c210d2ff9b629a82b6b9b938c88bdace2eb6e1ee: Correct test grpc response
- 70981cd18d16501779ec59434270f7eb313aa551: Automated rollback of commit dfd48fcd64327b55627540ec7aa6c15e9096687e.
- 4b79c5311417c1ffbccfce0dbcd871e8c97ff90c: Remove unused, unmaintained crosstool_lib.bzl
- e5735fd27d7ab72ef1793a10977316b4bdf52020: Introduce --incompatible_remove_legacy_whole_archive
- 645fe0f510463ff6248496e89ac1099797ac321a: Move execute implementation up to TestRunnerAction
- acb1bd10fc8a25000fcebe5d53e2fdc28a2333f1: remote: split tests into subpackges
- 7252d3b27cd00e69eaf1814e317d956739100e83: JUnit black box tests: detect bin and gen files location with same flags
- bdbf640ac550fbc756c15f964d69173de88594a2: Automated rollback of commit 046d253791b7f69c1e6444d4aef0625b67be02dc.
- 2d7c0ffbadc54833958c8800aaff2d7058848d15: Calculate the options fragment map in ConfiguredRuleClassProvider instead.
- 8536172a6743c3ca05c49dddc63325bf69dc5799: Add whitelist file for starlark transitions
- d6abfd31d4aeed91d98977df8cf5c567e77fa25e: Refactor SpawnAction
- 64774af517198b74d7e18eb9d0520fbb41b10382: Fix Artifact's implementation of Comparable
- 4187acfbd5ba14c85eaa02fd2508fea487298219: Create documentation for bazel-skylib analysis testing framework
- c6c9b58f14ec828cc050f0e6d201316bd986cf3f: Automated rollback of commit d03dcfb450a8f3717d81f9ecde5ac24ec53e042a.
- c32c334434ddcc0a3222552f551a337b9e0234a0: Remove --experimental_enable_repo_mapping. It was experimental but has also been a no-op for a release so it is safe to remove.
- b78b43603dc79118151922941853753bbcc698cf: Remove license attribute type from Stardoc tests, as it is deprecated.
- 8494cc76109c76b1211bfcd253014e072570393f: Batch the recursive GlobValue dep with the DirectoryListingValue dep.
- eb8c66fa080d36a35096f88c954030c1229017b7: Add incompatible flag to make PY2 outputs suffixed
- 235e76b0e756d05599a6cbe1663ff8e13df84a86: Reorganize version_min osx feature
- badd82e4c5cda7b3232481e1c63a5550ac898cd8: Automated rollback of commit 1b4c37c38804559b5c1ade6f9c93501875e231b0.
- 33e571939085dd158422e1b3503cfc738e0a3165: Fix the Python version select() mechanism to handle PY3-as-default
- 56366ee3a73e2c92b2fa36a9840478202b9618ca: Set non-empty values for msvc_env_* when VC not installed
- 22b3fbf4800113df51d603d943bd9eb9517ef904: Windows, test wrapper: fix broken integration test
Incompatible changes:
- Added --incompatible_py3_is_default to test switching the default Python version to PY3 for py_binary/py_test targets that do not specify a version. See #7359.
- //tools/cmd_line_differ has been renamed to //tools/aquery_differ & can now compare (in addition to command lines) inputs of actions given 2 aquery results.
- java_(mutable_|)proto_library: removed strict_deps attribute.
- The flag --incompatible_list_based_execution_strategy_selection was added and is used to ease the migration to the new style of specifying execution strategy selection and fallback behavior. The documentation for this flag is here: https://github.com/bazelbuild/bazel/issues/7480
- Added --incompatible_py2_outputs_are_suffixed, for switching the bazel-bin symlink to point to Python 3 outputs instead of Python 2 outputs. See #7593.
New features:
- Make actions.args() object chainable.
- Added --incompatible_windows_style_arg_escaping flag: enables correct subprocess argument escaping on Windows. (No-op on other platforms.)
- Added --incompatible_windows_escape_jvm_flags flag: enables correct java_binary.jvm_flags and java_test.jvm_flags tokenization and escaping on Windows. (No-op on other platforms.)
Important changes:
- Allow running aquery against the current state of Skyframe
- Added support for the "navigation" resource directory to Android resource processing in Bazel. This is used by the Navigation Architecture Component.
- --incompatible_disable_runtimes_filegroups was flipped (https://github.com/bazelbuild/bazel/issues/6942)
- Incompatible flag
--incompatible_linkopts_in_user_link_flags
has been flipped (https://github.com/bazelbuild/bazel/issues/6826)
- Incompatible flag
--incompatible_dont_emit_static_libgcc
has been flipped (https://github.com/bazelbuild/bazel/issues/6825)
- --incompatible_disallow_filetype is enabled by default.
- Fixed issue where exceptions and stacktraces were silently swallowed in the Android resource processing pipeline.
--incompatible_disable_expand_if_all_available_in_flag_set
has been flipped (https://github.com/bazelbuild/bazel/issues/7008)
- --incompatible_disallow_dict_plus is enabled by default
- Adds --incompatible_disable_objc_library_resources to disable resource attributes in objc_library. Please migrate these attributes to
data
instead.
- --incompatible_disallow_old_style_args_add is enabled by default.
- Using the
native
module in BUILD files is deprecated. It will be forbidden with --incompatible_disallow_native_in_build_file.
- (Python rules) PyRuntimeInfo is exposed to Starlark, making it possible for Starlark rules to depend on or imitate
py_runtime
. The files
attribute of py_runtime
is no longer mandatory.
- incompatible_use_toolchain_providers_in_java_common: pass JavaToolchainInfo and JavaRuntimeInfo providers to java_common APIs instead of configured targets https://github.com/bazelbuild/bazel/issues/7186.
- is_using_fission crosstool variable is now exposed in all compile actions when fission is active (it used to be exposed only for linking actions).
py_runtime
gains a python_version
attribute for specifying whether it represents a Python 2 or 3 interpreter.
--incompatible_java_coverage
is enabled by default.
- Starlark rules can safely declare attributes named "licenses"
- When using --incompatible_list_based_execution_strategy_selection, Bazel will use remote execution by default (if you specify --remote_executor), otherwise persistent workers (if the action supports it), otherwise sandboxed local execution (if the action and platform supports it) and at last unsandboxed local execution. The flags --spawn_strategy and --strategy continue to work as before - this only sets new defaults for the case where you don't specify these flags.
- Set default value of --incompatible_remap_main_repo to true.
This release contains contributions from many people at Google, as well as Andrew Suffield, Brandon Lico, Chris Eason, Clint Harrison, Ed Schouten, Garrett Hopper, George Gensure, John Millikin, Keith Smiley, Ryan Beasley, Shmuel H, Travis Cline, and Vladimir Chebotarev.
Notice: Bazel installers contain binaries licensed under the GPLv2 with Classpath exception. Those installers should always be redistributed along with the source code.
Some versions of Bazel contain a bundled version of OpenJDK. The license of the bundled OpenJDK and other open-source components can be displayed by running the command bazel license
. The vendor and version information of the bundled OpenJDK can be displayed by running the command bazel info java-runtime
. The binaries and source-code of the bundled OpenJDK can be downloaded from our mirror server.
Security: All our binaries are signed with our public key 48457EE0.
Index of files