This is the attempt to make Bazel package a multiversion package.
Bazel releases new versions with backwards incompatible changes quite fast. That's really painful for Envoy and Tensorflow - main projects which are built by Bazel and we package in openSUSE. Some updates of Bazel break lots of packages.
In order to prevent that, I would like to provide multiple versions of Bazel in openSUSE. I'm going to submit few more Bazel versions (0.26.x, 0.24.x, 0.23.x etc.) and then make a request to the main Bazel package.
If this SR looks good to you, please accept it together with:
- bazel
- bazel0.24
- bazel0.25
- bazel0.26
OBS-URL: https://build.opensuse.org/request/show/708252
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bazel?expand=0&rev=7
- 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.
- enabled aarch64 build and disabled armv7l build as this one fails
due to java memory errors
OBS-URL: https://build.opensuse.org/request/show/648812
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bazel?expand=0&rev=2
- 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.
- 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.
- Update to version 0.15.0:
+ Bazel now always runs binaries in with "bazel run" in
interactive mode. The "--nodirect_run" command line option is
now a no-op.
+ "bazel run --noas_test" is not supported anymore.
+ Indentation on the first line of a file was previously ignored,
this is now fixed.
+ New features:
* C++,runfiles: to access data-dependencies (runfiles) in C++
programs, use the runfiles library built into Bazel.
+ Bazel now allows almost all 7-bit ASCII characters in labels.
+ Remove vestigial java_plugin.data attribute
+ Bazel supports including select Java 8 APIs into Android apps
targeting pre-Nougat Android devices with
--experimental_desugar_java8_libs
+ Flag --incompatible_disable_glob_tracking is removed.
+ SkyQuery's rbuildfiles now returns targets corresponding to
broken packages.
+ Introduce build support for providing cache prefetch hints.
+ Update the skylark DefaultInfo documentation to spell out
runfiles, data_runfiles and default_runfiles.
+ An internal action for symlinking runfiles will use Command
instead of a Spawns. This should have no functional chages; the
only user visible consequence should be that the internal
action is no longer be included in statistics when calculating
processes count.
+ --batch is deprecated
+ Execution strategies line no longer handles differently the
case where all processes have the same strategy.
+ The --experimental_remote_spawn_cache flag is now enabled by
default, and remote caching no longer needs --*_strategy=remote
flags (it will fail if they are specified).
+ android_binary.aapt_version='aapt2' now supports en_XA and
ar_XB.
+ With --incompatible_no_support_tools_in_action_inputs enabled,
Skylark action inputs are no longer scanned for tools. Move any
such inputs to the newly introduced 'tools' attribute.
- Changes from version 0.14.1:
+ Critical fixes for:
* Sometime hangs before running any actions,
(gh#bazelbuild/bazel/#5336).
* Has no way to unset --disk_cache flag (interferes with
remote build testing), (gh#bazelbuild/bazel/#5308).
- Changes from version 0.14.0:
+ Add --incompatible_disallow_legacy_javainfo flag.
+ Added flag --incompatible_disallow_old_style_args_add to help
migrate from args.add() to args.add_all() / args.add_joined()
where appropriate.
+ New features:
* Bash,runfiles: use the new platform-independent library in
@bazel_tools//tools/bash/runfiles to access runfiles
(data-dependencies).
* TemplateVariableInfo can now be constructed from Skylark.
* The java_host_runtime_alias rule is now implemented in Java.
+ Introduce fdo_profile rule that allows architecture-sensitive
specification of fdo profiles.
+ canonicalize-flags no longer reorders the flags
+ CppRules: optional_compiler_flag was removed from CROSSTOOL,
use features instead.
+ Labels of the form ////foo are disallowed.
+ The / operator is deprecated in favor of // (floor integer
division). Try the --incompatible_disallow_slash_operator flag
to ensure your code is forward-compatible.
+ Flip default value of --experimental_shortened_obj_file_path to
true, Bazel now generates short object file path by default.
+ Exposed "mnemonic" and "env" fields on skylark "Action"
objects.
+ Removed flag --incompatible_disallow_toplevel_if_statement.
+ Remove vestigial 'deps' and 'data' attributes from
proto_lang_toolchain
+ Args objects (ctx.actions.args()) have new methods add_all()
and add_joined() for building command lines using depsets.
+ FileType is deprecated and will be removed soon.
+ Try the --incompatible_disallow_filetype flag to ensure your
code is forward-compatible.
+ Introduce absolute_path_profile attribute that allows
fdo_profile to accept absolute paths.
+ Support two-arg overloads for ctx.actions.args (eg.
args.add("--foo", val))
+ Introduce 'tools' attribute to ctx.actions.run.
+ Fixed error message for proguard_apply_dictionary.
+ "bazel run" now lets one run interactive binaries.
+ Repository rules are no longer restricted to return None.
+ Add --high_priority_workers flag.
+ CppRules: Feature configuration can be created from Skylark
Adds new-style JavaInfo provider constructor.
+ Make java_common.compile now uses java_toolchain javacopts by
default; explicitly retrieving them using
java_common.default_javac_opts is unnecessary.
+ CppRules: C++ command lines and env variables for C++ actions
can be retrieved from feature configuration.
+ Skylark rule definitions may advertise providers that targets
of the rule must propagate.
+ Bazel now supports running actions inside Docker containers.
To use this feature, run "bazel build --spawn_strategy=docker
--experimental_docker_image=myimage:latest".
+ Fixing start/end lib expansion for linking. There were many
cases where archive files were still being used with toolchains
that support start/end lib. This change consolidates the places
that make that decision so they can be more consistent.
+ Add support for reporting an error if
android_test.binary_under_test contains incompatible versions
of deps.
+ We replaced the --experimental_local_disk_cache and
--experimental_local_disk_cache_path flags into a single
--disk_cache flag. Additionally, Bazel now tries to create the
disk cache directory if it doesn't exist.
+ Save Blaze memory by not storing LinkerInput objects in
LinkCommandLine.
+ In the JavaInfo created by java_common.create_provider now
includes both direct and transitive arguments in
transitive_compile_time_jars and transitive_runtime_jars
+ Allow --worker_max_instances to take MnemonicName=value to
specify max for each worker.
+ Allow java_toolchain.header_compiler to be an arbitrary
executable.
- Changes from version 0.13.1:
+ Sort entries by segment when building a parent node to prevent
unordered directory structures.
- Add attributions and license to package.
- FIXME, don't build bash-completion as it breaks build, plus
it's not installed andyway.
- Update to 0.13.0
- Update to 0.11.0
- Do not strip the binary
- Fix compilation issue
[+0001-fix-no-return-compilation-error.patch+]
- Inital Package 0.8.1
OBS-URL: https://build.opensuse.org/request/show/642625
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bazel?expand=0&rev=1
- 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