0.17.1
Release 0.17.1 (2018-09-14)
Baseline: aa118ca
Cherry picks:
- 0e04625:
Update checker framework dataflow and javacutil versions - 3987300:
Stop using --release in versioned java_toolchains - 438b277:
make_deb: Add new empty line in the end of conffiles file - 5044017:
Properly mark configuration files in the Debian package. - 9ed9d8a:
Add flag
--incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfil
es_tree. - 22d761a:
Update protobuf to 3.6.1 -- add new files - 27303d7:
Update protobuf to 3.6.1 -- update references - ddc97ed:
Update protobuf to 3.6.1 -- remove 3.6.0 sources - ead1002:
Fix protobuf in the WORKSPACE - 12dcd35:
Revert "Update to JDK 10 javac" - 7eb9ea1:
Automated rollback of
808ec9ff9b5cec14f23a4b
a106bc5249cacc8c54 and
4c9149d558161e7d3e363f
b697f5852bc5742a36 and some manual merging. - 4566a42:
Fix tests on JDK 9 and 10 - 1e9f0aa:
Fix more tests on JDK 9 and 10 - a572c1c:
Add ubuntu1804_nojava, ubuntu1804_java9, ubuntu1804_java10 to
postsubmit. - 29f1de0:
Disable Android shell tests on the "nojava" platform. - b495eaf:
Update bazel_toolchains to latest release. - 9323c57:
Windows: fix writing java.log - 1aba9ac:
Automated rollback of commit
de22ab0. - 2579b79:
Fix toolchain_java9 on --host_javabase= after
7eb9ea1 - 2834613:
Include also ext jars in the bootclasspath jar.
Incompatible changes:
- Loading @bazel_tools//tools/build_defs/repo:git_repositories.bzl
no longer works. Load @bazel_tools//tools/build_defs/repo:git.bzl
instead. - If the same artifact is generated by two distinct but identical
actions, and a downstream action has both those actions' outputs
in its inputs, the artifact will now appear twice in the
downstream action's inputs. If this causes problems in Skylark
actions, you can use the uniquify=True argument in Args.add_args. - If the same artifact is generated by two distinct but identical
actions, and a downstream action has both those actions' outputs
in its inputs, the artifact will now appear twice in the
downstream action's inputs. If this causes problems in Skylark
actions, you can use the uniquify=True argument in Args.add_args. - Labels in C++ rules' linkopts attribute are not expanded anymore
unless they are wrapped, e.g: $(location //foo:bar) - If the same artifact is generated by two distinct but identical
actions, and a downstream action has both those actions' outputs
in its inputs, the artifact will now appear twice in the
downstream action's inputs. If this causes problems in Skylark
actions, you can use the uniquify=True argument in Args.add_args. - New bazelrc file list.
- Windows: when BAZEL_SH envvar is not defined and Bazel searches
for a suitable bash.exe, Bazel will no longer look for Git Bash
and no longer recommend installing it as a Bash implementation.
See issue #5751. - New bazelrc file list.
New features:
- The aquery command now supports --output=text.
- Java, runfiles: the Java runfiles library is now in
@bazel_tools//tools/java/runfiles. The old target
(@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
will be removed in Bazel 0.18.0. - Java, runfiles: the Java runfiles library is now in
@bazel_tools//tools/java/runfiles. The old target
(@bazel_tools//tools/runfiles:java-runfiles) is deprecated and
will be removed in Bazel 0.19.0 (not 0.18.0, as stated earlier).
Important changes:
- Allow @ in package names.
- Remove support for java_runtime_suite; use alias() together with
select() instead. - Python wrapper scripts for MSVC are removed.
- [JavaInfo] Outputs are merged in java_common.merge().
- Faster analysis by improved parallelization.
- --experimental_shortened_obj_file_path is removed.
- Introduce the --remote_cache_proxy flag,
which allows for remote http caching to connect
via a unix domain socket. - No longer define G3_VERSION_INFO for c++ linkstamp compiles, as
it was a duplicate of G3_TARGET_NAME. - Added support for Android NDK r17. The default STL is now
libc++
, and support for targetingmips
,mips64
andARMv5
(armeabi
) has been removed. - Add aquery command to get analysis time information about the
action graph. - Fixed compatibility with aar_import when using aapt2. AAPT2 is
now supported for Android app builds without resource shrinking.
To use it, pass the--android_aapt=aapt2
flag or define
android_binary.aapt_version=aapt2. - Code coverage is collected for Java binaries invoked from sh_test.
- java_common.compile creates the native headers jar accesible via
JavaInfo.outputs.native_headers. - Deleting deprecated no-op flag --show_package_location
- The JDK shipped with Bazel was updated to JDK10.
- Rename the startup flag --host_javabase to --server_javabase to
avoid confusion with the build flag --host_javabase - newly added options --experimental_repository_hash_file and
--experimental_verify_repository_rules allow to verify for
repositories
the directory generated against pre-recorded hashes. See
documentation
for those options. - Removed the gen_jars output group
- --subcommands can now take a "pretty_print" value
("--subcommands=pretty_print") to print the
arguments of subcommands as a list for easier reading. - follow-up to
1ac359743176e659e9c7472
645e3142f3c44b9e8 - A rule error is now thrown if a Skylark rule implementation
function returns multiple providers of the same type. - When using Bazel's remote execution feature and Bazel has to
fallback to local execution for an action, Bazel used
non-sandboxed
local execution until now. From this release on, you can use the
new
flag --remote_local_fallback_strategy= to tell Bazel
which
strategy to use in that case. - Execution Log Parser can now, when printing it out, filter the
log by runner type - A rule error is now thrown if a Skylark rule implementation
function returns multiple providers of the same type. - Removed the gen_jars output group
- Removed the gen_jars output group
- Set --defer_param_files to default to true.
- Sort attribute lists in proto-form query output to fix
non-deterministic genquery output. - Replace 0/1 with False/True for testonly attribute
- bazel now supports a .bazelignore file specifying
directories to be ignored; however, these directories still
have to be well founded and, in particular, may not contain
symlink cycles. - Add more detailed reporting of the differences between startup
options. - update data binding to 3.2.0
- For Android incremental dexing actions, Bazel now persists its
DexBuilder process across individual actions. From our
benchmarks, this results in a 1.2x speedup for clean local builds. - The standard
xcode_VERSION
feature now always uses exactly two
components in the version, even if you specify--xcode_version
with
more or fewer than two. - A rule error will be thrown if a Skylark rule implementation
function returns multiple providers of the same type. Try the
--incompatible_disallow_conflicting_providers
flag to ensure
your code is forward-compatible. - Removed notion of FULLY_STATIC linking mode from C++ rules.
- In documentation, we've renamed Skylark into Starlark.
- Execution Log Parser can now, when printing it out, reorder the
actions for easier text diffs - Linkstamps are no longer recompiled after server restart.
- Use VanillaJavaBuilder and disable header compilation in
toolchain_hostjdk8. The default toolchain will soon drop
compatibility with JDK 8. Using a JDK 8 host_javabase
will only be supported when using 'VanillaJavaBuilder' (which
does not support Error Prone,
Strict Java Deps, or reduced classpaths) and with header
compilation disabled. - 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_runfile
s_tree and let us know if it causes issues. If everything looks
good, this behavior will become the default in a following
release.
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.