- Update to version 0.25.0:
* genrules now supports 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.)
* incompatible_use_jdk11_as_host_javabase: makes JDK 11 the
default --host_javabase for remote jdk
* 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.
* A new flag --incompatible_string_join_requires_strings is
introduced. The sequence argument of string.join must contain
only string elements.
* 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").
* Bazel is now ~20MiB smaller, from unbundling the Android rules'
runtime dependencies.
OBS-URL: https://build.opensuse.org/request/show/701265
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/bazel?expand=0&rev=32
- Update to version 0.24.1
Cherrypicks:
* Wrap StatusRuntimeExceptions from GrpcRemoteCache
- Changes in 0.24.0
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.
* //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.
* Added --incompatible_py2_outputs_are_suffixed, for switching the
bazel-bin symlink to point to Python 3 outputs instead of Python
2 outputs.
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
* Incompatible flag --incompatible_linkopts_in_user_link_flags
has been flipped
* Incompatible flag --incompatible_dont_emit_static_libgcc has
been flipped
* --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
* --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
* 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
targets
* 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.
OBS-URL: https://build.opensuse.org/request/show/692995
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/bazel?expand=0&rev=30
- Update to version 0.22.0
General Changes:
* 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.
* set projectId in all PublishBuildToolEventStreamRequest
Android:
* mobile-install now works with aapt2. Try it out with
bazel mobile-install --android_aapt=aapt2 //my:target
* Fixed issues with mobile-install v1 when deploying to Android 9 Pie devices.
* Fixed issue where error messages from Android manifest merging actions
were not fully propagated.
* New incompatible change flag --incompatible_use_aapt2_by_default for
defaulting to aapt2 in Android builds has been added. 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.
* Fixed mobile-install v1 error when installing an app with native
libraries onto an Android 9 (Pie) device.
* 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.
Apple:
* The objc_bundle rule has been removed. Please migrate to rules_apple's
[apple_bundle_import]
* The apple_stub_binary rule has been deleted.
* The --xbinary_fdo option that passes xbinary profiles has been added.
C++:
* cc_toolchain.(static|dynamic)_runtime_libs attributes are now optional
Packaging:
* 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
Query:
* Filtering of inputs, outputs, and mnemonic filtering have been added to
aquery.
* The aquery and cquery query2 tests have been open-sourced.
* The Bazel query how-to recommends ":*" instead of ":all", because "all"
might be the name of a target.
Testing:
* The --runs_per_test has been placed in the TESTING documentation category.
* A a clarifying message has been added to test case summary output when
all test cases pass but the target fails.
- Clean with spec-cleaner
OBS-URL: https://build.opensuse.org/request/show/676858
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/bazel?expand=0&rev=26
- Update to version 0.19.2:
* Add cc_toolchain targets for the new entries in the default
cc_toolchain_suite.
* Read the CROSSTOOL from the package of the current
cc_toolchain, not from --crosstool_top
* 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.
OBS-URL: https://build.opensuse.org/request/show/652045
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/bazel?expand=0&rev=24
- Update to version 0.19.0:
* The --incompatible_expand_directories flag automatically
expands directories in command lines. See the design document.
* The --loading_phase_threads flag now defaults to auto instead
of 200, which at the moment corresponds to the number of CPUs.
* Fixed missing debug symbols when building native code with
--compilation_mode=dbg that target Android ARM architectures
by adding the -g flag.
* Added --incompatible_disable_legacy_flags_cc_toolchain_api to
deprecate legacy cc_toolchain Starlark API for legacy CROSSTOOL
fields. Tracking issue is #6434. See the instructions for
migration.
* 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.
* Bazel now requires a JDK to be installed as it no longer falls
back to the internal JDK if the --javabase flag is not set.
Instead, Bazel now searches for a JDK within the JAVA_HOME and
PATH environment variables. If Bazel cannot find a JDK, it will
not be able to run Java builds.
* LcovMerger was renamed to CoverageOutputGenerator.
* A new coverage method for C++ rules that uses gcc with the
--experimental_cc_coverage flag. The flag will use gcov
instead of lcov to collect coverage information. This new
implementation fixes some of the C++ coverage correctness
issues ( respecting --instrumentation_filter and
--instrument_test_targets flags ).
* Faster clean and incremental times when invoking bazel coverage
(small overhead compared to test runtimes instead of 2x test
runtime), but more measurements need to be done.
* 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 now checks stderr instead of stdout to decide if it is
outputting to a terminal. --isatty is deprecated, use
--is_stderr_atty instead.
OBS-URL: https://build.opensuse.org/request/show/646990
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/bazel?expand=0&rev=21
- Ensure neutrality of description and summary
- Stop overriding _disable_source_fetch
- Remove unnecessary comments
- Update to version 0.18.0:
* Include also ext jars in the bootclasspath jar.
* Fix toolchain_java9 on --host_javabase= after
* Release notes: fix markdown
* Fix NestHost length computation
* Don't rethrow any remote cache failures on either download or
upload, only warn. Added more tests.
* Fix broken IdlClassTest on Bazel's CI.
* Fix the Xcode version detection which got broken by the
upgrade to Xcode 10.0.
* Temporarily restore processing of workspace-wide
tools/bazel.rc file.
* New bazelrc file list.
* .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.
* The Android resource processing pipeline now supports
persistence via worker processes. Enable it with
--persistent_android_resource_processor. A 50% increase was
observed in build speed for clean local builds and up to 150%
increase in build speed for incremental local builds.
* In-memory package //tools/defaults has been removed
(controlled by --incompatible_disable_tools_defaults_package
flag).
* 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).
* 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.
* CROSSTOOL is no longer consulted when selecting C++ toolchain
(controlled by
--incompatible_disable_cc_toolchain_label_from_crosstool_proto
flag).
* 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).
* Skylark api accessing C++ toolchain in ctx.fragments.cpp is
removed (controlled by
--incompatible_disable_legacy_cpp_toolchain_skylark_api flag).
* cc_binary link action no longer hardcodes -static-libgcc for
toolchains that support embedded runtimes (guarded by
--experimental_dont_emit_static_libgcc temporarily). Proper
deprecation using --incompatible flags will follow.
* 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.
* objc_library now supports the module_name attribute.
* Support fileset expansion in ctx.actions.args(). Controlled by
--incompatible_expand_directories.
* --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.
* 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.
OBS-URL: https://build.opensuse.org/request/show/642590
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/bazel?expand=0&rev=19
- Update to version 0.17.2:
* Update checker framework dataflow and javacutil versions
* Stop using --release in versioned java_toolchains
* make_deb: Add new empty line in the end of conffiles file
* Properly mark configuration files in the Debian package.
* Add flag --incompatible_symlinked_sandbox_expands_tree_
artifacts_in_runfiles_tree.
* Update protobuf to 3.6.1 -- add new files
* Update protobuf to 3.6.1 -- update references
* Update protobuf to 3.6.1 -- remove 3.6.0 sources
* Fix protobuf in the WORKSPACE
* Revert "Update to JDK 10 javac"
* Fix tests on JDK 9 and 10
* Fix more tests on JDK 9 and 10
* Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
postsubmit.
* Disable Android shell tests on the "nojava" platform.
* Update bazel_toolchains to latest release.
* Windows: fix writing java.log
* Fix toolchain_java9 on --host_javabase=
* Include also ext jars in the bootclasspath jar.
* Do not fail the build when gcov is not installed
* Ignore unrecognized VM options in desugar.sh, such as the JVM
9 flags to silence warnings.
* 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_runfiles_tree and let us know
if it causes issues. If everything looks good, this behavior
will become the default in a following release.
OBS-URL: https://build.opensuse.org/request/show/640659
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/bazel?expand=0&rev=18