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.