Bazel rules for Kotlin
A demonstration of Dagger for use at conferences
Java implementation of the Ethereum yellowpaper
Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.
A curated list of Bazel rules, tooling and resources.
Correct, reproducible, and fast builds for everyone.
pull request commentbazelbuild/bazel
Add native support for Apple Silicon
It also works on my Mac Mini M1 and gives a nice ~2x speed increase! 🚀
$ cd ~/bin
$ curl -LO https://github.com/bazelbuild/bazel/releases/download/4.0.0/bazel-4.0.0-darwin-x86_64
$ chmod +x ~/bin/bazel-4.0.0-darwin-x86_64
$ cd ~/src && git clone https://github.com/bazelbuild/bazel.git && cd bazel
$ bazel-4.0.0-darwin-x86_64 build --cpu=darwin_arm64 -c opt //src:bazel
INFO: Elapsed time: 495.900s, Critical Path: 148.84s
INFO: Build completed successfully, 2884 total actions
$ mv bazel-bin/src/bazel ~/bin/bazel
$ bazel clean --expunge
$ bazel build --cpu=darwin_arm64 -c opt //src:bazel
INFO: Elapsed time: 255.364s, Critical Path: 68.15s
INFO: Build completed successfully, 2884 total actions
comment created time in 2 hours
push eventbazelbuild/bazel
commit sha d37b8b4f0b6aa7c13e9104ad5e3c1d44fff0be1e
Move `DesugarUnsafe` to `sun/misc/` package #desugar_jdk_libs #java11 - Keep `Desugar<X>` classes in the same package as its origin `<X>`. This is to easy track desugar-specific `Desugar<X>` classes, as well as keeping `Desugar<X>` with the same class and member visibility as its origin `<X>`, and maintaining package-level dependency graph the same as the OpenJDK version. - Starter-example CL as including non `java/`-prefixed classes in `desugar_jdk_libs` PiperOrigin-RevId: 359904867
push time in 5 hours
issue commentbazelbuild/bazel
sh_binary scripts can't find generated data when executed by Skylark action or genrule
Pretty odd. Also running into this issue. For some weird reason, I can get it to work if I first place the
data
dependency in ash_library()
and then drag thatsh_library()
in asdata
of thesh_binary()
.
Thanks! Ran into this issue today in version 3.3.0, was able to work around it with this method.
comment created time in 9 hours
push eventbazelbuild/bazel
commit sha ea70a3a62ccb120ddf6d82e55ff72f914beb1739
Docs: Rewrite Bazel pages for intended user, Part 3 PiperOrigin-RevId: 359872607
push time in 11 hours
push eventbazelbuild/bazel
commit sha 480d83e4a24488a3cdb49f623aca848d01e83e88
Docs: Rewrite Bazel pages to clarify intended user, Part 2 PiperOrigin-RevId: 359870355
push time in 11 hours
pull request commentbazelbuild/intellij
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.
In order to pass this check, please resolve this problem and then comment @googlebot I fixed it.
. If the bot doesn't comment, it means it doesn't think anything has changed.
ℹ️ Googlers: Go here for more info.
<!-- need_author_cla -->
comment created time in 12 hours
push eventbazelbuild/intellij
commit sha 9ca7b9eddd90523628b26adfdf54dd5f6489166b
Internal change. PiperOrigin-RevId: 353917904
push time in 12 hours
pull request commentbazelbuild/intellij
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.
In order to pass this check, please resolve this problem and then comment @googlebot I fixed it.
. If the bot doesn't comment, it means it doesn't think anything has changed.
ℹ️ Googlers: Go here for more info.
<!-- need_author_cla -->
comment created time in 12 hours
pull request commentbazelbuild/bazel
Propagate tags for the AndroidBinary actions
Thanks, I'll start the import on this on Monday
comment created time in 12 hours
pull request commentbazelbuild/bazel
Propagate tags for the AndroidBinary actions
Cleaned everything up, PTAL
comment created time in 13 hours
Pull request review commentbazelbuild/bazel
Propagate tags for the AndroidBinary actions
import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.actions.CustomCommandLine; import com.google.devtools.build.lib.analysis.actions.SpawnAction;+import com.google.devtools.build.lib.packages.TargetUtils; import com.google.devtools.build.lib.packages.Type; import com.google.devtools.build.lib.rules.android.AndroidConfiguration.ApkSigningMethod; import com.google.devtools.build.lib.rules.java.JavaCommon; import com.google.devtools.build.lib.rules.java.JavaRuntimeInfo; import com.google.devtools.build.lib.rules.java.JavaToolchainProvider;++import java.beans.IntrospectionException;
done.
comment created time in 13 hours
Pull request review commentbazelbuild/bazel
Propagate tags for the AndroidBinary actions
private static Artifact createShuffleJarActions( return dexedClasspath.build(); } + // Adds execution info by propagating tags from the target
done.
comment created time in 13 hours
Pull request review commentbazelbuild/bazel
Propagate tags for the AndroidBinary actions
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;-import com.google.devtools.build.lib.packages.BuildType;-import com.google.devtools.build.lib.packages.RuleClass;-import com.google.devtools.build.lib.packages.TriState;-import com.google.devtools.build.lib.packages.Type;+import com.google.devtools.build.lib.packages.*;
Sorry had my IDE setting misconfigured
comment created time in 13 hours
issue commentbazelbuild/bazel
TreeArtifacts output directories aren't created with remote execution enabled
There remains a situation in which a workaround is not presently possible: if you want to declare a directory and some subset of files beneath it. Say you know the primary output but not some additional outputs which may also be generated and need to be kept. Currently:
def _impl(ctx):
resources = ctx.actions.declare_directory("{name}.d".format(name = ctx.label.name))
primary_output = ctx.actions.declare_file("{name}.d/{name}.html".format(name = ctx.label.name))
ctx.actions.run_shell(
command = "touch \"$@\"",
outputs = [resources, primary_output],
arguments = [primary_output.path],
)
return [DefaultInfo(files = depset([resources]))]
dir_and_file = rule(
implementation = _impl,
)
Building that rule with RBE fails inside Bazel and no amount of mkdir
in the script will fix that. While you can just declare the directory, it is useful for a variety of reasons to be able to have a File
nominating both the primary output as well as the containing directory. With the current remote semantics, that's not possible.
comment created time in 13 hours
Pull request review commentbazelbuild/bazel
Also strip Swift symbols when --objc_enable_binary_stripping is passed
private void registerBinaryStripAction(Artifact binaryToLink, StrippingType stri stripArgs = ImmutableList.of("-x"); break; case DEFAULT:- stripArgs = ImmutableList.<String>of();+ stripArgs = ImmutableList.of("-x", "-T");
kinda surprised -x wasn't here before
comment created time in 13 hours
push eventgoogle/guice
commit sha ddc087d014ec1eb759df2def2c50f4701a3780e4
publish 5.0.1 docs
push time in 13 hours
PR opened bazelbuild/bazel
Resolves https://github.com/bazelbuild/bazel/issues/13122
pr created time in 13 hours
issue openedbazelbuild/bazel
Support stripping Swift symbols
Description of the problem / feature request:
Support stripping Swift symbols for binaries built for Apple platforms.
Feature requests: what underlying problem are you trying to solve with this feature?
There's currently no option to allow stripping Swift symbols for binaries built for Apple platforms. Since xcodebuild
's ipa exporting supports that (and defaults to YES
), I'd like to be able to do that here as well.
What operating system are you running Bazel on?
macOS
What's the output of bazel info release
?
release 4.0.0
Have you found anything relevant by searching the web?
From the strip
man page:
-T
The intent of this flag is to remove Swift symbols. It removes the symbols whose names
begin with `_$S' or `_$s' only when it finds an __objc_imageinfo section with and it has
a non-zero swift version. The future the implementation of this flag may change to match the intent.
From the xcodebuild -h
page:
Available keys for -exportOptionsPlist:
...
stripSwiftSymbols : Bool
Should symbols be stripped from Swift libraries in your IPA? Defaults to YES.
I found two code paths referencing to code stripping but -T
is not passed, and passing it via --stripopt
doesn't take effect.
https://github.com/bazelbuild/bazel/blob/25768512a6c30cdc6af3098078ef02375fd5c914/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java#L1561-L1574
https://github.com/bazelbuild/bazel/blob/ef903e08b270f3fa3c4d36f8122876a892b47087/tools/osx/crosstool/cc_toolchain_config.bzl#L296-L311
created time in 13 hours
created taggoogle/guice
Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google.
created time in 13 hours
push eventbazelbuild/bazel
commit sha e4f013c11ff4a0eae34e4f1d6c3b5e728b104a8b
Use `ImmutableMap` instead of `NestedSet` for output groups in `{Target,Aspect}CompleteEvent`. Refactor `{Target,Aspect}CompleteEvent` to use an `ImmutableMap` instead of a 1-level nested set (no transitive entries). The `ImmutableMap` is a better representation of the actual structure of output groups. PiperOrigin-RevId: 359845451
push time in 14 hours
issue commentbazelbuild/bazel
Obtaining output paths of the build artifacts
It doesn't look like there's a consistent mnemonic to look-up, however?
There isn't, each language will have its own primary output Mnemonic. tbh there are probably few enough that you could hard-code them:
Javac
,GoLink
, etc.You could potentially write an aspect to look up the
DefaultInfo
Provider of the target, and either use that as-is or merge it with the above...
I've also recently realised that the correct behaviour is probably to have a final step that "publishes" artefacts to where you want them to be, but haven't had time to get my head around any subtleties in making that work with Bazel's hermetic / side-effect-averse design.
comment created time in 14 hours
push eventbazelbuild/bazel
commit sha 4e5e52b11d254f8132f2ea9e4ad4efd608a9dc10
Clean up some things in `InMemoryFilesystem`. Permit calling `getxattr` on a symlink. The `FileSystem` documentation incorrectly claims that it follows symlinks, but there is actually a boolean parameter that determines this. Change it from throwing `IllegalStateException` from the `instanceof` check to just returning `null`. Reduce unnecessary calls to `Path#isReadable`. There were several spots calling this and duplicating a call to `inodestat` even though `InMemoryContentInfo#isReadable` can be checked directly. This is more evidence that `Path` should not be passed to `FileSystem` methods. PiperOrigin-RevId: 359834173
push time in 14 hours
push eventgoogle/guice
commit sha a38ed22abeac0fc8e01490ef71eba228817e8b57
Latest javadoc & api-diffs on successful CI build e09d1eebd0ce545fcd683a1eaf623a40c071f058 auto-pushed to gh-pages
push time in 15 hours
push eventgoogle/guava
commit sha 3b8928f4f88ffec7f09756c2dc45f65fe990c50b
Internal change. PiperOrigin-RevId: 359827899
push time in 15 hours
push eventgoogle/guava
commit sha 3b8928f4f88ffec7f09756c2dc45f65fe990c50b
Internal change. PiperOrigin-RevId: 359827899
push time in 15 hours
PR closed google/guava
Internal change.
pr closed time in 15 hours