Bazel release 0.3.1

216 views
Skip to first unread message

Bazel Jenkins CI server

unread,
Jul 29, 2016, 5:45:51 AM7/29/16
to bazel-disc...@googlegroups.com
Bazel 0.3.1 is now available for general usage at:
https://github.com/bazelbuild/bazel/releases/tag/0.3.1

If you observe any regression, please report it to
https://github.com/bazelbuild/bazel/issues as soon as possible.

The release notes for version 0.3.1 are:

# Release 0.3.1 (2016-07-29)

Baseline: 792a9d6

Cherry picks:
+ 25e5995: Rollback of commit
a2770334ea3f3111026eb3e1368586921468710c.
+ 2479405: Fix NPE with unset maven_jar sha1
+ 3cf2126: Rewrite the extra action info files if the data within
them changes.
+ 5a9c6b4: JavaBuilder: Reintroduce the -extra_checks flag.

Incompatible changes:

- Removed predefined Python variable "generic_cpu".
- Skylark rules: if you set "outputs" or an attribute to a
function, this function must now list its required attributes as
parameters (instead of an attribute map).
- The host_platform and target_platform entries are not written to
the master log anymore.
- Bazel requires Hazelcast 3.6 or higher now for remote execution
support, because we upgraded our client library and the protocol
it uses is incompatible with older versions.

New features:

- LIPO context (--lipo_context) can now also be a cc_test (in
addition to cc_binary)

Important changes:

- If --android_crosstool_top is set, native code compiled for
android will always use --android_compiler and not --compiler in
choosing the crosstool toolchain, and will use --android_cpu if
--fat_apk_cpu is not set.
- Add --instrument_test_targets option.
- apple_binary supports a new platform_type attribute, which, if
set to "watchos", will build dependencies for Apple's watchOS2.
- objc_binary now supports late-loaded dynamic frameworks.
- Native Swift rules no longer pull in module maps unconditionally.
Use --experimental_objc_enable_module_maps for that.
- Merged manifests are guaranteed to have the application element
as the last child of the manifest element as required by Android
N.
- The Android manifest merger is now available as an option for
android_binary rules. The merger will honor tools annotations in
AndroidManifest.xml and will perform placeholder substitutions
using the values specified in android_binary.manifest_values. The
merger may be selected by setting the manifest_merger attribute
on android_binary.
- The progress message would not clear packages that need to be
loaded twice.
- Remove warning for high value of --jobs.
- Use the correct build configuration for shared native deps during
Android split transitions.
- When building ObjectiveC++, pass the flag -std=gnu++11.
- use xcrun simctl instead of iossim to launch the app for "blaze
run".
- Glob arguments 'exclude' and 'exclude_directories' must be named
- Bazel no longer regards an empty file as changed if its mtime has
changed.

linux...@gmail.com

unread,
Jul 29, 2016, 5:03:49 PM7/29/16
to bazel-discuss, bazel-disc...@googlegroups.com, baze...@googlegroups.com, nor...@bazel.io
Question about this one:

- Skylark rules: if you set "outputs" or an attribute to a
function, this function must now list its required attributes as
parameters (instead of an attribute map).

I don't quite understand its meaning. I have a custom rule which worked fine with 0.2.3 but now broken with 0.3.1:

gen_go_file = rule(
gen_go_file_impl,
attrs = {...},
output_to_genfiles = True,
outputs = {...},
)

It complains:

Attribute 'attrs' either doesn't exist or uses a select() (i.e. could have multiple values)
Available attributes: :action_listener, compatible_with, deprecation, expect_failure, features, generator_function, generator_location, generator_name, pkg_name, restricted_to, src, tags, testonly, visibility


Thanks for the help.

linux...@gmail.com

unread,
Jul 29, 2016, 5:14:31 PM7/29/16
to bazel-discuss, bazel-disc...@googlegroups.com, baze...@googlegroups.com, nor...@bazel.io, linux...@gmail.com
Got it.

It means the following won't work:

def gen_go_outputs(attrs) {
return {}
}

gen_go_file = rule(
gen_go_file_impl,
attrs = {...},
output_to_genfiles = True,

outputs = gen_go_outputs,
)

but this one works:

gen_go_outputs = {
}

gen_go_file = rule(
gen_go_file_impl,
attrs = {...},
output_to_genfiles = True,

outputs = gen_go_outputs,
)

Although I still don't know for the 1st case what should I pass to function gen_go_outputs if "attrs" is not allowed.

lcid...@gmail.com

unread,
Aug 4, 2016, 2:52:01 AM8/4/16
to bazel-discuss, bazel-disc...@googlegroups.com, baze...@googlegroups.com, nor...@bazel.io
On Friday, July 29, 2016 at 11:45:51 AM UTC+2, Bazel Jenkins CI server wrote:
> Bazel 0.3.1 is now available for general usage at:
> https://github.com/bazelbuild/bazel/releases/tag/0.3.1

Seems like the standard debian package got lost in the process.
There is no https://github.com/bazelbuild/bazel/releases/download/0.3.1/bazel_0.3.1-linux-x86_64.deb

Yun Peng

unread,
Aug 4, 2016, 5:13:00 AM8/4/16
to lcid...@gmail.com, bazel-discuss, bazel-disc...@googlegroups.com, baze...@googlegroups.com, nor...@bazel.io
Yes, seems to be a network error during release process. Already manually uploaded it!
Thanks!

--
You received this message because you are subscribed to the Google Groups "bazel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bazel-discuss/0dc2376f-adac-4845-8a20-8824b48beaea%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages