Skip to content

0.8.0

Compare
Choose a tag to compare
@bazel-io bazel-io released this 27 Nov 13:25
· 27391 commits to master since this release

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 deprecated set constructor is not available
    anymore.
  • += on lists now mutates them. list1 += list2 is now equivalent
    to list1.extend(list2) and not equivalent to list1 = 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 deprecated set 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 the rlocation 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.