| commit | 037b9b93f33deaf8f33db2197b93a3e784c72fac | [log] [tgz] |
|---|---|---|
| author | Bazel Release System <noreply@google.com> | Thu Mar 16 13:18:28 2017 +0100 |
| committer | Yue Gan <yueg@google.com> | Thu Mar 16 13:18:28 2017 +0100 |
| tree | 45cdb55cdd4806b00c563341352ab5066939652b | |
| parent | 5b1302fe08d8f08d0c4b5ce834b9dfdddab6fd35 [diff] |
Release 0.4.5 (2017-03-16)
Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0
Cherry picks:
+ a28b54033227d930672ec7f2714de52e5e0a67eb:
Fix Cpp action caching
+ 6d1d424b4c0da724e20e14235de8012f05c470f8:
Fix paths of binaries in .deb packages.
+ 0785cbb672357d950e0c045770c4567df9fbdc43:
Update to guava 21.0 and Error Prone version 2.0.18-20160224
+ 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
Update to latest javac and Error Prone
+ 867d16eab3bfabae070567ecd878c291978ff338:
Allow ' ', '(', ')' and '$' in labels
+ 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
Pass through -sourcepath to the JavaBuilder
+ 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
PathFragment comparisons are now platform-aware
+ ed7795234ca7ccd2567007f2c502f853cd947e50:
Flag to import external repositories in python import path
+ 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
Suppress error for non-exhaustive switches
+ e8d1177eef9a9798d2b971630b8cea59471eec33:
Correctly returns null if an environment variables is missing
+ 869d52f145c077e3499b88df752cebc60af51d66:
Fix NPE in Android{S,N}dkRepositoryFunction.
+ d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
Select the good guava jars for JDK7 build
+ 92ecbaeaf6fa11dff161254df38d743d48be8c61:
Windows: Assist JNI builds with a target for jni_md.h.
+ 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
Add java_common.create_provider to allow creating a
java_common.provider
+ 8c00f398d7be863c4f502bde3f5d282b1e18f504:
Improve handling of unknown NDK revisions in
android_ndk_repository.
+ b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
Add the appropriate cxx_builtin_include_directory entries for
clang to the Android NDK crosstool created by
android_ndk_repository.
Incompatible changes:
- Depsets (former sets) are converted to strings as "depset(...)"
instead of
"set(...)".
- Using --symlink_prefix is now applied to the output
symlink (e.g. bazel-out) and the exec root symlink (e.g.
bazel-workspace).
- Bazel now uses the test's PATH for commands specified as
--run_under; this can affect users who explicitly set PATH to
a more
restrictive value than the default, which is to forward the
local PATH
- It's not allowed anymore to compare objects of different types
(i.e. a string to an integer) and objects for which comparison
rules are not
defined (i.e. a dict to another dict) using order operators.
New features:
- environ parameter to the repository_rule function let
defines a list of environment variables for which a change of
value
will trigger a repository refetching.
Important changes:
- android_ndk_repository now supports Android NDK R13.
- Android resource shrinking is now available for android_binary
rules. To enable, set the attribute 'shrink_resources = 1'. See
https://bazel.build/versions/master/docs/be/android.html#android_b
inary.shrink_resources.
- resolve_command/action's input_manifest return/parameter is now
list
- For increased compatibility with environments where UTS
namespaces are not available, the Linux sandbox no longer hides
the hostname of the local machine by default. Use
--sandbox_fake_hostname to re-enable this feature.
- proto_library: alias libraries produce empty files for descriptor
sets.
- Adds pkg_rpm rule for generating RPM packages.
- Allow CROSSTOOL files to have linker flags specific to static
shared libraries.
- Make it mandatory for Java test suites in bazel codebase, to
contain at least one test.
- Support for Java 8 lambdas, method references, type annotations
and repeated annotations in Android builds with
--experimental_desugar_for_android.
- Removed .xcodeproj automatic output from objc rules. It can still
be generated by requesting it explicitly on the command line.
- Flips --explicit_jre_deps flag on by default.
- Activate the "dbg", "fastbuild", and "opt" features in the objc
CROSSTOOL.
- Remove support for configuring JDKs with filegroups; use
java_runtime and java_runtime_suite instead
- android_ndk_repository api_level attribute is now optional. If not
specified, the highest api level in the ndk/platforms directory
is used.
{Fast, Correct} - Choose two
Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google‘s software, and thus it has been designed to handle build problems present in Google’s development environment, including:
A massive, shared code repository, in which all software is built from source. Bazel has been built for speed, using both caching and parallelism to achieve this. Bazel is critical to Google's ability to continue to scale its software development practices as the company grows.
An emphasis on automated testing and releases. Bazel has been built for correctness and reproducibility, meaning that a build performed on a continuous build machine or in a release pipeline will generate bitwise-identical outputs to those generated on a developer's machine.
Language and platform diversity. Bazel's architecture is general enough to support many different programming languages within Google, and can be used to build both client and server software targeting multiple architectures from the same underlying codebase.
Find more background about Bazel in our FAQ.