0.8.0
Release 0.8.0 (2017-11-27)
Baseline: cff0dc9
Cherry picks:
- 8a49b15:
Fix ImportError on tools.android for junction_lib - 275ae45:
Automated rollback of commit
4869c4e. - d0bf589:
Add a random number to action temp dir - 9738f35:
CcProtoLibrary: Don't add dynamic librarys to filesToBuild on
Windows - 0d6ff47:
Automated rollback of commit
0ebb3e5.
Incompatible changes:
- ctx.fragments.apple.{xcode_version,ios_minimum_os} is not
supported anymore. The same information is accessible through the
target @bazel_tools//tools/osx:current_xcode_config: point an
implicit attribute to it (i.e.
attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
nfig")) then use
ctx.attr._xcode_config[apple_common].XcodeVersionConfig]. - ctx.fragments.apple.minimum_os_for_platform_type is not supported
anymore. The same information is accessible through the target
@bazel_tools//tools/osx:current_xcode_config: point an implicit
attribute to it (i.e.
attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
nfig")) then use
ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_o
s_for_platform_type . - ctx.fragments.apple.sdk_version_for_platform is not supported
anymore. The same information is accessible through the target
@bazel_tools//tools/osx:current_xcode_config: point an implicit
attribute to it (i.e.
attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
nfig")) then use
ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_versi
on_for_platform . - --javabase= and --host_javabase=
are not supported anymore. If you need this functionality
java_runtime_suite(name="suite", default=":runtime")
java_runtime(name="runtime", java_home=) is an
alternative. - The flag --incompatible_descriptive_string_representations is no
longer available, old style string representations of objects are
not supported
anymore. - The flag --incompatible_disallow_set_constructor is no longer
available, the deprecatedset
constructor is not available
anymore. - += on lists now mutates them.
list1 += list2
is now equivalent
tolist1.extend(list2)
and not equivalent tolist1 = list1 + list2
anymore. - the target_apple_env and apple_host_system_env methods on
ctx.fragments.apple are not supported anymore. The same
information is accessible through apple_common.target_apple_env
and apple_common.apple_host_system_env . They need the Xcode
configuration as an argument, which can be obtained by declaring
an implicit dependency on it (i.e.
attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co
nfig")) and then calling e.g.
apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_co
mmon.XcodeVersionConfig]). - C++ toolchain identifiers are not in the name of the output
directory anymore. - Selecting on "xcode_version" and
"{ios,tvos,macos,watchos}sdk_version" is not supported anymore.
What was config_setting(values={"$FOO_version": $VALUE}) is now
config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version
flag": $VALUE}). - Selecting on "xcode_version" and
"{ios,tvos,macos,watchos}sdk_version" is not supported anymore.
What was config_setting(values={"$FOO_version": $VALUE}) is now
config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version
flag": $VALUE}). - The flag --incompatible_disallow_set_constructor is no longer
available, the deprecatedset
constructor is not available
anymore. - Selecting on "xcode_version" and
"{ios,tvos,macos,watchos}_sdk_version" is not supported anymore.
What was config_setting(values={"$FOO_version": $VALUE}) is now
config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi...
New features:
- runfiles, sh: Shell scripts may now depend on
//src/tools/runfiles:runfiles_sh_lib and source runfiles.sh. The
script defines therlocation
function which returns runfile
paths on every platform. - In addition to
$(location), Bazel now also supports $ (rootpath)
to obtain
the root-relative path (i.e., for runfiles locations), and
$(execpath) to
obtain the exec path (i.e., for build-time locations)
Important changes:
- android_binary now supports custom debug keys via the debug_key
attribute. - Updated Android proguard to 5.3.3. It now works with android-24+.
- --experimental_use_parallel_android_resource_processing and
--experimental_android_use_nocompress_extensions_on_apk are
removed. These features are fully rolled out. - Fixes #2574
- Fixes #3834
- Enable experimental UI by default.
- .
RELNOTES: None.
RELNOTES: No. - Add memory profiler.
- [Bazel] {java,cc}proto_library now look for dependencies in
@com_google_protobuf, instead of in @com_google_protobuf$LANG - Improved merge.sh script in cookbook.
- Fixing regression to --experimental_remote_spawn_cache
- Support for linker scripts in NativeDepsHelper (e.g.,
android_binary) - Skylark semantics flags now affect WORKSPACE files and repository
rules. - ctx.outputs.executable is deprecated. Use DefaultInfo(executable
= ...) instead. - Update "mirror.bazel.build" urls to use https.
- Improve --config logging when --announce_rc is present.
- Document interaction between test_suite and target exclusions
- Replace version numbers for Bazel installers with ""
(because this will change often) - Published command lines should have improved lists of effective
options. - --incremental_dexing_binary_types has been removed. All builds
are supported by incremental dexing (modulo proguard and some
blacklisted dx flags). - Document --host_javabase, --host_java_toolchain
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.