Release 0.13.0rc1 (2018-04-12)
Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
Incompatible changes:
New features:
- python,runfiles: You can now depend on
@bazel_tools//tools/runfiles:py-runfiles
to get a platform-independent runfiles library for Python. See DocString of https://github.com/bazelbuild/bazel/blob/master/src/tools/runfiles /runfiles.py for usage information.
- The new "--direct_run" flag on "blaze run" lets one run interactive binaries.
- The new "--local_tmp_root=" flag allows specifying the temp directory for locally executed actions.
- "blaze run --direct_run" now exports the BUILD_{WORKSPACE,WORKING}_DIRECTORY variables to tell the binary about the cwd of the client and the workspace root.
- The new "--local_tmp_root=" flag allows specifying the temp directory for locally executed actions.
- New Android device test rule: android_instrumentation_test.
- Add option to dump the action graph to a file: 'bazel dump --action_graph=/path/to/file'.
- Pass
tags
from java_import_external
rule to the generated java_import
rule.
- blaze query: use --proto:output_rule_attrs to filter for given attributes
- Added Android NDK r15 support, including compatibility with Unified Headers.
- Adds --ltobackendopt and --per_file_ltobackendopt for passing options to ThinLTO LTO backend compile actions only.
- Strings have a new .elems() method, that provides an iterator on the characters of the string.
- Now you can access three functions in windows_cc_configure.bzl by: load("@bazel_tools/tools/cpp:windows_cc_configure.bzl", "")
Important changes:
- Fix how libraries to link is specified to archiver actions.
- Fix how libraries_to_link are expanded in the archiver command line.
- stop using --no-locals in android coverage builds
- apple_binary can now generate dSYM outputs with the --apple_generate_dsym=true flag.
- Fix FDO_STAMP_MACRO to only be set when fdoBuildStamp is not null.
- Improved clarity of warning message for unsupported NDK revisions.
- Add lint check for discouraging glob(["**/*.java"])
- unifly lint glob(["**/*.java"]) message
- Removed flags
--incompatible_checked_arithmetic
, --incompatible_dict_literal_has_no_duplicates
, --incompatible_disallow_keyword_only_args
, and --incompatible_comprehension_variables_do_not_leak
.
- Add "proto_source_root" flag to proto_library.
- Updated default android_cpu value to armeabi-v7a
- In skylark, print(target) now shows the provider keys of a target, as debug information.
- The native http_archive rule is deprecated. Use the Skylark version available via load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") instead.
- flaky_test_attempts supports the regex@attempts syntax, like runs_per_test.
- None TESTED=presubmit, next cl
- Fixed include paths for NDK r13+ llvm-libc++ headers to
ndk/sources/cxx-stl/llvm-libc++/include
and ndk/sources/cxx-stl/llvm-libc++abi/include
- --config flags now expand in place by default.
- None (select branches are mutually exclusive, so this is a no-op)
- aar_import now sets java.transitive_exports.
- repository_cache is no longer experimental and enabled by default.
- BAZEL_LINKOPTS is now consulted when autoconfiguring c++ toolchain
- The native git_repository rule is deprecated. Use the Skylark version available via load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") instead.
- Removed flag
--incompatible_load_argument_is_label
.
- Fix broken links in query docs.
- CcToolchain: Introduced action_config for "c++-link-transitive-dynamic-library"
- Use bazel dump --action_graph=/path/to/action.proto --action_graph:targets://foo:bar,//foo:foo to filter for certain targets in the action graph dump.
- Added Android NDK r16 support. Use --cxxopt='-std=c++11
compile with the C++11 standard, and
--android_crosstool_top=@androidndk//:toolchain-libcppto use the
libc++` STL.
- Add a --build_event_publish_all_actions flag to allow all actions to be published via the BEP.
- C++: Introduced --experimental_drop_fully_static_linking_mode
- Removed cc_inc_library, please use cc_library instead
- Fix performance regression
- CppRules: cc_binary/cc_test now enable 'static_linking_mode' or 'dynamic_linking_mode'.
- CppRules: Unified action_configs for static libraries
- Remove support for blaze dump --vfs. It is no longer meaningful.
- Enable dependency checking for aar_import targets.
- internal_bootstrap_hack has been deprecated and removed.
- Properly handle tree artifacts on the link command line coming from a cc_library dependency.
- Allow C++ features to make proto_library emit smaller C++ code
- The 'j2objc' configuration fragment is exposed to Skylark.
- Remove the default content of the global bazelrc.
- In int() function, do not auto-detect base if input starts with '0'.
Users can now pass --experimental_shortened_obj_file_path=true to have a shorter object file path, the object file paths (and all other related paths) will be constructed as following: If there's no two or more source files with the same base name:
//_objs//. otherwise:
//_objs//N/. N = the file?s order among the source files with the same basename, starts from 0.
- Move (c/cxx)opts from legacy_compile_flags to user_compile_flags
- CppRules: Remove optional_*_flag fields from CROSSTOOL, they are not used, and could be expressed using features.
- Introduce --incompatible_disable_objc_provider_resources to turn off all resource-related fields of the Objc provider.
- Removed the statement of "What does Bazel support?" as it's limiting/misleading. Added supported host OSes to "multi-platform" paragraph.
- android_library AAR output now contains proguard.txt
- Bazel now displays information about remote cache hits and execution strategies used in its UI after every build and test, and adds a corresponding line "process stats" to BuildToolLogs in BEP.
- Print correct build result for builds with --aspects flag.
android_binary.manifest_merger is no longer supported.
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