| commit | d13df477d2d8327335bd9ba20b166bcb4b0e9f27 | [log] [tgz] |
|---|---|---|
| author | Bazel Release System <noreply@google.com> | Mon Oct 15 10:29:08 2018 +0200 |
| committer | Klaus Aehlig <aehlig@google.com> | Mon Oct 15 10:29:08 2018 +0200 |
| tree | 4a59a7e13ff076f44fa63f1b61a23ed4b197d47b | |
| parent | e56f1fe716ce73726f4c6464622f2bc2514b7a11 [diff] |
Release 0.18.0 (2018-10-15)
Baseline: c062b1f1730f3562d5c16a037b374fc07dc8d9a2
Cherry picks:
+ 2834613f93f74e988c51cf27eac0e59c79ff3b8f:
Include also ext jars in the bootclasspath jar.
+ 2579b791c023a78a577e8cb827890139d6fb7534:
Fix toolchain_java9 on --host_javabase=<jdk9> after
7eb9ea150fb889a93908d96896db77d5658e5005
+ faaff7fa440939d4367f284ee268225a6f40b826:
Release notes: fix markdown
+ b073a18e3fac05e647ddc6b45128a6158b34de2c:
Fix NestHost length computation Fixes #5987
+ bf6a63d64a010f4c363d218e3ec54dc4dc9d8f34:
Fixes #6219. Don't rethrow any remote cache failures on either
download or upload, only warn. Added more tests.
+ c1a7b4c574f956c385de5c531383bcab2e01cadd:
Fix broken IdlClassTest on Bazel's CI.
+ 71926bc25b3b91fcb44471e2739b89511807f96b:
Fix the Xcode version detection which got broken by the upgrade
to Xcode 10.0.
+ 86a8217d12263d598e3a1baf2c6aa91b2e0e2eb5:
Temporarily restore processing of workspace-wide tools/bazel.rc
file.
General changes
- New [bazelrc file list](https://docs.bazel.build/versions/master/user-manual.html#where-are-the-bazelrc-files).
If you need to keep both the old and new lists of .rc files active
concurrently to support multiple versions of Bazel, you can import the old
file location into the new list using `try-import`. This imports a file if it
exists and silently exits if it does not. You can use this method to account
for a user file that may or may not exist
- [.bazelignore](https://docs.bazel.build/versions/master/user-manual.html#.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`.
Android
- The Android resource processing pipeline now supports persistence
via worker processes. Enable it with
`--persistent_android_resource_processor`. We have observed a 50% increase
in build speed for clean local builds and up to 150% increase in build
speed for incremental local builds.
C++
- In-memory package //tools/defaults has been removed (controlled by
`--incompatible_disable_tools_defaults_package` flag). Please see
[migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-inmemory-tools-defaults-package)
and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
behavior will be removed in Bazel 0.20.
- 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).
Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults)
and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
behavior will be removed in Bazel 0.20.
- 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.
Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags)
and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy
behavior will be removed in Bazel 0.20.
- CROSSTOOL is no longer consulted when selecting C++ toolchain (controlled by
`--incompatible_disable_cc_toolchain_label_from_crosstool_proto` flag).
Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label)
and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
- You can now use [`toolchain_identifier` attribute](https://github.com/bazelbuild/bazel/commit/857d4664ce939f240b1d10d8d2baca6c6893cfcb)
on `cc_toolchain` to pair it with CROSSTOOL toolchain.
- 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).
Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-c-specific-make-variables-from-the-configuration)
and migrate soon, the flag will be flipped
in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
- Skylark api accessing C++
toolchain in `ctx.fragments.cpp` is removed (controlled by
`--incompatible_disable_legacy_cpp_toolchain_skylark_api` flag).
Please migrate soon, the flag will be flipped
in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20.
- cc_binary link action no longer hardcodes
`-static-libgcc` for toolchains that support embedded runtimes
(guarded by [`--experimental_dont_emit_static_libgcc`](https://source.bazel.build/bazel/+/2f281960b829e964526a9d292d4c3003e4d19f1c)
temporarily). Proper deprecation using `--incompatible` flags will follow.
Java
- 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.
Objective C
- `objc_library` now supports the module_name attribute.
Skylark
- Adds `--incompatible_expand_directories` to automatically expand
directories in skylark command lines. Design doc:
https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM
- Support fileset expansion in ctx.actions.args(). Controlled by
`--incompatible_expand_directories`.
Windows
- `--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. For more details, see
[this doc](https://docs.google.com/document/d/1hnYmU1BmtCSJOUvvDAK745DSJQCapToJxb3THXYMrmQ).
Other Changes
- 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.
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel only rebuilds what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md
Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.