Tags: uber-common/bazel
Tags
Release 0.25.0 (2019-05-01) Baseline: 0366246 Cherry picks: + 3f7f255: Windows: fix native test wrapper's arg. escaping + afeb8d0: Flip --incompatible_windows_escape_jvm_flags + 4299b65: Sort DirectoryNode children to ensure validity. + 231270c: Conditionally use deprecated signature for initWithContentsOfURL + 75a3a53: Add http_archive entries for testing with various JDK versions. + 4a6354a: Now that ubuntu1804 uses JDK 11, remove explicit ubuntu1804_java11 tests. + ae102fb: Fix wrong name of ubuntu1804_javabase9 task. + 0020a97: Remove @executable_path/Frameworks from rpaths + 130f86d: Download stderr/stdout to a temporary FileOutErr Incompatible changes: - (Starlark rules) The legacy "py" provider can no longer be passed to or produced by native Python rules; use [PyInfo](https://docs.bazel.build/versions/master/skylark/lib/PyIn fo.html) instead. See [bazelbuild#7298](bazelbuild#7298) for more information. - (Python rules) The `default_python_version` attribute of the `py_binary` and `py_test` rules has been renamed to `python_version`. Also, the `--force_python` flag has been renamed to `--python_version`. See [bazelbuild#7308](bazelbuild#7308) for more information. - (Python rules) The python version now changes to whatever version is specified in a `py_binary` or `py_test`'s `python_version` attribute, instead of being forced to the value set by a command line flag. You can temporarily revert this change with `--incompatible_allow_python_version_transitions=false`. See [bazelbuild#7307](bazelbuild#7307) for more information. - --incompatible_disable_third_party_license_checking` is enabled by default - Introduced --incompatible_use_python_toolchains, which supersedes --python_top/--python_path. See bazelbuild#7899 and bazelbuild#7375 for more information. - Python 3 is now the default Python version (for `py_binary` and `py_test` targets that don't specify the `python_version` attribute). Targets that are built for Python 3 will no longer have their output put in a separate `-py3` directory; instead there is now a separate `-py2` directory for Python 2 targets. See bazelbuild#7359 and bazelbuild#7593 for more information. - objc_library resource attributes are now disabled by default. Please migrate them to data instead. See bazelbuild#7594 for more info. - Flip --incompatible_windows_escape_jvm_flags to true. See bazelbuild#7486 New features: - genrules now support a $(RULEDIR) variable that resolves to the directory where the outputs of the rule are put. - Added --incompatible_windows_native_test_wrapper flag: enables using the Bash-less test wrapper on Windows. (No-op on other platforms.) Important changes: - incompatible_use_jdk11_as_host_javabase: makes JDK 11 the default --host_javabase for remote jdk (bazelbuild#7219) - Makes genquery somepath output deterministic. - Tristate attributes of native rules now reject True/False (use 1/0) - Rollback of "Tristate attributes of native rules now reject True/False (use 1/0)" - Tristate attributes of native rules now reject True/False (use 1/0) - Added -incompatible_do_not_split_linking_cmdline flag. See bazelbuild#7670 - Tristate attributes of native rules now temporarily accept True/False again - `--incompatible_disable_legacy_crosstool_fields` has been flipped (bazelbuild#6861) `--incompatible_disable_expand_if_all_available_in_flag_set` has been flipped (bazelbuild#7008) - `--incompatible_disable_legacy_crosstool_fields` has been flipped (bazelbuild#6861) `--incompatible_disable_expand_if_all_available_in_flag_set... RELNOTES: None. - --incompatible_no_transitive_loads is enabled by default. - Makes TreeArtifact deterministic. - --incompatible_no_transitive_loads is enabled by default. - Android NDK C++ toolchain is now configured in Starlark. This should be a backwards compatible change, but in case of bugs blame unknown commit. - `--incompatible_disable_legacy_crosstool_fields` has been flipped (bazelbuild#6861) `--incompatible_disable_expand_if_all_available_in_flag_set` has been flipped (bazelbuild#7008) - --incompatible_no_transitive_loads is enabled by default. - --incompatible_bzl_disallow_load_after_statement is enabled - Added `--incompatible_require_ctx_in_configure_features`, see bazelbuild#7793 for details. - Flag --incompatible_merge_genfiles_directory is flipped. This removes the directory `bazel-genfiles` in favor of `bazel-bin`. - previously deprecated flag --experimental_remote_spawn_cache was removed - `--incompatible_disallow_load_labels_to_cross_package_boundaries` is enabled by default - Fix an issue where the Android resource processor did not surface errors from aapt2 compile and link actions. - --incompatible_no_attr_license is enabled by default - `--incompatible_disable_crosstool_file` has been flipped (bazelbuild#7320) - A new flag `--incompatible_string_join_requires_strings` is introduced. The sequence argument of `string.join` must contain only string elements. - --incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfile s_tree has been flipped - Incompatible flag `--incompatible_disable_legacy_cc_provider` has been flipped (see bazelbuild#7036 for details). - Don't drop the analysis cache when the same --define flag is set multiple times and the last value is the same (e.g. if the current invocation was run with "--define foo=bar" and the previous one was run with "--define foo=baz --define foo=bar"). - The --incompatible_disable_genrule_cc_toolchain_dependency flag has been flipped (see bazelbuild#6867 for details). - Incompatible change `--incompatible_remove_cpu_and_compiler_attributes_from_cc_toolcha in` has been flipped (see bazelbuild#7075 for details). - --noexperimental_java_coverage is a no-op flag. - --experimental_java_coverage/--incompatible_java_coverage flag was removed. See bazelbuild#7425. - incompatible_use_toolchain_providers_in_java_common: pass JavaToolchainInfo and JavaRuntimeInfo providers to java_common APIs instead of configured targets (bazelbuild#7186.) - --incompatible_remote_symlinks has been flipped. The remote caching and execution protocol will now represent symlinks in outputs as such. See bazelbuild#7917 for more details. - Bazel is now ~20MiB smaller, from unbundling the Android rules' runtime dependencies. This release contains contributions from many people at Google, as well as Andreas Herrmann, Andrew Suffield, Andy Scott, Benjamin Peterson, Ed Baunton, George Gensure, Ian McGinnis, Ity Kaul, Jingwen Chen, John Millikin, Keith Smiley, Marwan Tammam, Mike Fourie, Oscar Bonilla, perwestling, petros, Robert Sayre, Ryan Beasley, silvergasp, Stanimir Mladenov, Travis Cline, Vladimir Chebotarev, ??.
Release 0.24.1 (2019-04-02) Baseline: 235e76b Cherry picks: + badd82e: Automated rollback of commit 1b4c37c. + 33e5719: Fix the Python version select() mechanism to handle PY3-as-default + 56366ee: Set non-empty values for msvc_env_* when VC not installed + 22b3fbf: Windows, test wrapper: fix broken integration test + f14d447: Add whitelist file for starlark transitions + d99bc47: Update BUILD + 3529ad7: Rename tools/function_transition_whitelist/BUILD to tools/whitelists/function_transition_whitelist/BUILD + de0612a: Update bazel_toolchains to latest release and add toolchain config target for BuildKite CI (rbe_ubuntu1604) + 3e660ad: Automated rollback of commit 0877340. + 314cf1f: Pass -undefined dynamic_lookup to dynamic library linking actions on Mac + fc586a8: Move cc_flags target into @bazel_tools//tools/cpp. + ea1703b: C++: Fix crash reported in bazelbuild#7721 + 803801d: Pass execution info to xml generating spawn. Fixes bazelbuild#7794 + f092ec3: Release 0.24.0 (2019-03-26) + c56c489: Wrap StatusRuntimeExceptions from GrpcRemoteCache Baseline: f092ec3 Cherrypicks: + c56c489: Wrap StatusRuntimeExceptions from GrpcRemoteCache
Release 0.24.0 (2019-03-26) Baseline: 235e76b Cherry picks: + badd82e: Automated rollback of commit 1b4c37c. + 33e5719: Fix the Python version select() mechanism to handle PY3-as-default + 56366ee: Set non-empty values for msvc_env_* when VC not installed + 22b3fbf: Windows, test wrapper: fix broken integration test + f14d447: Add whitelist file for starlark transitions + d99bc47: Update BUILD + 3529ad7: Rename tools/function_transition_whitelist/BUILD to tools/whitelists/function_transition_whitelist/BUILD + de0612a: Update bazel_toolchains to latest release and add toolchain config target for BuildKite CI (rbe_ubuntu1604) + 3e660ad: Automated rollback of commit 0877340. + 314cf1f: Pass -undefined dynamic_lookup to dynamic library linking actions on Mac + fc586a8: Move cc_flags target into @bazel_tools//tools/cpp. + ea1703b: C++: Fix crash reported in bazelbuild#7721 + 803801d: Pass execution info to xml generating spawn. Fixes bazelbuild#7794 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 bazelbuild#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: bazelbuild#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 [bazelbuild#7593](bazelbuild#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 (bazelbuild#6942) - 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) - --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 (bazelbuild#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 targetshttps://github.com/bazelbuild/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). - incompatible_use_toolchain_providers_in_java_common: pass JavaToolchainInfo and JavaRuntimeInfo providers to java_common APIs instead of configured targetshttps://github.com/bazelbuild/issues/7186. - `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. - 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, Greg, John Millikin, Julie, Keith Smiley, Laurent Le Brun, Ryan Beasley, Shmuel H, Travis Cline, Vladimir Chebotarev.
Release 0.23.2 (2019-03-11) Baseline: 441fd75 Cherry picks: + 6ca7763: Fix a typo + 2310b1c: Ignore SIGCHLD in test setup script + f9eb1b5: Complete channel initialization in the event loop + f0a1597: remote: properly reset state when using remote cache. Fixes bazelbuild#7555 + 56366ee: Set non-empty values for msvc_env_* when VC not installed Release 0.23.2
Release 0.23.1 (2019-03-04) Baseline: 441fd75 Cherry picks: + 6ca7763: Fix a typo + 2310b1c: Ignore SIGCHLD in test setup script + f9eb1b5: Complete channel initialization in the event loop + f0a1597: remote: properly reset state when using remote cache. Fixes bazelbuild#7555 Release 0.23.1rc1 (2019-02-28)
Release 0.23.0 (2019-02-26) Baseline: 441fd75 Cherry picks: + 6ca7763: Fix a typo + 2310b1c: Ignore SIGCHLD in test setup script + f9eb1b5: Complete channel initialization in the event loop Incompatible changes: - //src:bazel uses the minimal embedded JDK, if you want to avoid the extra steps of minimizing the JDK, use //src:bazel-dev instead. - //src:bazel uses the minimal embedded JDK, if you want to avoid the extra steps of building bazel with the minimized JDK, use //src:bazel-dev instead. - The default value of --host_platform and --platforms will be changed to not be dependent on the configuration. This means that setting --cpu or --host_cpu will not affect the target or host platform. - Toolchain resolution for cc rules is now enabled via an incompatible flag, --incompatible_enable_cc_toolchain_resolution. The previous flag, --enabled_toolchain_types, is deprecated and will be removed. - java_(mutable_|)proto_library: removed strict_deps attribute. - Python rules will soon reject the legacy "py" struct provider (preview by enabling --incompatible_disallow_legacy_py_provider). Upgrade rules to use PyInfo instead. See [bazelbuild#7298](bazelbuild#7298). - java_(mutable_|)proto_library: removed strict_deps attribute. - Two changes to native Python rules: 1) `default_python_version` and `--force_python` are deprecated; use `python_version` and `--python_version` respectively instead. You can preview the removal of the deprecated names with --incompatible_remove_old_python_version_api. See [bazelbuild#7308](bazelbuild#7308). 2) The version flag will no longer override the declared version of a `py_binary` or `py_test` target. You can preview this new behavior with --incompatible_allow_python_version_transitions. See [bazelbuild#7307](bazelbuild#7307). Important changes: - There is a new flag available `--experimental_java_common_create_provider_enabled_packages` that acts as a whitelist for usages of `java_common.create_provider`. The constructor will be deprecated in Bazel 0.23. - [bazelbuild#7024] Allow chaining of the same function type in aquery. - Introduces --local_{ram,cpu}_resources, which will take the place of --local_resources. - [bazelbuild#6930] Add documentation for the aquery command. - 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) - Flag --incompatible_range_type is removed. - Flag --incompatible_disallow_slash_operator is removed. - Flag --incompatible_disallow_conflicting_providers is removed. - `--incompatible_disallow_data_transition` is now enabled by default - Allow inclusion of param files in aquery output - [bazelbuild#6985] Add test to verify aquery's behavior for Cpp action templates. - --incompatible_require_feature_configuration_for_pic was flipped (bazelbuild#7007). - Also ignore module-info.class in multi-version Jars - objc_framework has been deleted. Please refer to apple_dynamic_framework_import and apple_static_framework_import rules available in [rules_apple](https://github.com/bazelbuild/rules_apple/blob/maste r/doc/rules-general.md) - --test_sharding_strategy=experimental_heuristic is no more - objc_bundle_library has been removed. Please migrate to rules_apple's [apple_resource_bundle](https://github.com/bazelbuild/rules_apple/ blob/master/doc/rules-resources.md#apple_resource_bundle). - You can now use the attribute `aapt_version` or the flag `--android_aapt` to pick the aapt version for android_local_test tests - In --keep_going mode, Bazel now correctly returns a non-zero exit code when encountering a package loading error during target pattern parsing of patterns like "//foo:all" and "//foo/...". - 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. - Locally-executed spawns tagged "no-cache" no longer upload their outputs to the remote cache. - Introduces --host_compiler flag to allow setting a compiler for host compilation when --host_crosstool_top is specified. - --incompatible_expand_directories is enabled by default - [aquery] Handle the case of aspect-on-aspect. - Fixed a longstanding bug in the http remote cache where the value passed to --remote_timeout would be interpreted as milliseconds instead of seconds. - Enable --incompatible_use_jdk10_as_host_javabase by default, see bazelbuild#6661 - Add --incompatible_use_jdk11_as_host_javabase: makes JDK 11 the default --host_javabase for remote jdk (bazelbuild#7219) - Highlight TreeArtifact in aquery text output. - Locally-executed spawns tagged "no-cache" no longer upload their outputs to the remote cache. - java_common APIs now accept JavaToolchainInfo and JavaRuntimeInfo instead of configured targets for java_toolchain and java_runtime - cc_common.create_cc_toolchain_config_info is stable and available for production use - incompatible_use_toolchain_providers_in_java_common: pass JavaToolchainInfo and JavaRuntimeInfo providers to java_common APIs instead of configured targets (bazelbuild#7186) - --incompatible_strict_argument_ordering is enabled by default. - Bazel now supports reading cache hits from a repository cache, even if it doesn't have write access to the cache. - Adding arm64e to OSX CROSSTOOL. - Ignore package-level licenses on config_setting. - Add an optional output_source_jar parameter to java_common.compile - --incompatible_disable_objc_provider_resources is now enabled by default. This disables ObjcProvider's fields related to resource processing. - Explicitly set https.protocols and exclude TLSv1.3. - Bazel now validates that JAVA_HOME points to a valid JDK and falls back to auto-detection by looking up the path of `javac`. - Upgrade the embedded JDK version to 11.0.2. - Added --incompatible_disable_crosstool_file (bazelbuild#7320) - --incompatible_disable_objc_provider_resources is now enabled by default. This disables ObjcProvider's fields related to resource processing. - --incompatible_disable_tools_defaults_package has been flipped. - For tests that do not generate a test.xml, Bazel now uses a separate action to generate one; this results in minor differences in the generated test.xml, and makes the generation more reliable overall. - incompatible_generate_javacommon_source_jar: java_common.compile now always generates a source jar, see bazelbuild#5824. - New incompatible flag --incompatible_disallow_struct_provider_syntax removes the ability for rule implementation functions to return struct. Such functions should return a list of providers instead. Migration tracking: bazelbuild#7347 This release contains contributions from many people at Google, as well as Benjamin Peterson, Ed Schouten, erenon, George Gensure, Greg Estren, Igal Tabachnik, Ittai Zeidman, Jannis Andrija Schnitzer, John Millikin, Keith Smiley, Kelly Campbell, Max Vorobev, nicolov, Robin Nabel.
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.
PreviousNext