profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/cgruber/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Christian Edward Gruber cgruber @square San Francisco, CA http://www.geekinasuit.com An engineer at @Square, working on the mobile infrastructure and architecture. Formerly at @Google and YouTube. Co-created Dagger and Truth

bazelbuild/rules_kotlin 232

Bazel rules for Kotlin

cgruber/dagger-demo 2

A demonstration of Dagger for use at conferences

cgruber/FreeEthereum 1

Java implementation of the Ethereum yellowpaper

cgruber/Apollo-11 0

Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.

cgruber/awesome-bazel 0

A curated list of Bazel rules, tooling and resources.

cgruber/bazel 0

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
meteorcloudy

comment created time in 2 hours

push eventbazelbuild/bazel

Googler

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

view details

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 a sh_library() and then drag that sh_library() in as data of the sh_binary().

Thanks! Ran into this issue today in version 3.3.0, was able to work around it with this method.

dfabulich

comment created time in 9 hours

push eventbazelbuild/bazel

Googler

commit sha ea70a3a62ccb120ddf6d82e55ff72f914beb1739

Docs: Rewrite Bazel pages for intended user, Part 3 PiperOrigin-RevId: 359872607

view details

push time in 11 hours

PR opened jin/awesome-bazel

Add Lightelligence/rules_verilog
+8 -0

0 comment

1 changed file

pr created time in 11 hours

push eventbazelbuild/bazel

Googler

commit sha 480d83e4a24488a3cdb49f623aca848d01e83e88

Docs: Rewrite Bazel pages to clarify intended user, Part 2 PiperOrigin-RevId: 359870355

view details

push time in 11 hours

pull request commentbazelbuild/intellij

Internal change.

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 -->

copybara-service[bot]

comment created time in 12 hours

push eventbazelbuild/intellij

Googler

commit sha 9ca7b9eddd90523628b26adfdf54dd5f6489166b

Internal change. PiperOrigin-RevId: 353917904

view details

push time in 12 hours

pull request commentbazelbuild/intellij

Internal change.

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 -->

copybara-service[bot]

comment created time in 12 hours

PR opened bazelbuild/intellij

Internal change.

Internal change.

+7 -0

0 comment

4 changed files

pr created time in 12 hours

create barnchbazelbuild/intellij

branch : test_353917904

created branch time in 12 hours

pull request commentbazelbuild/bazel

Propagate tags for the AndroidBinary actions

Thanks, I'll start the import on this on Monday

nkoroste

comment created time in 12 hours

pull request commentbazelbuild/bazel

Propagate tags for the AndroidBinary actions

Cleaned everything up, PTAL

nkoroste

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.

nkoroste

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.

nkoroste

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

nkoroste

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.

cushon

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

thii

comment created time in 13 hours

push eventgoogle/guice

Amy Fu

commit sha ddc087d014ec1eb759df2def2c50f4701a3780e4

publish 5.0.1 docs

view details

push time in 13 hours

PR opened bazelbuild/bazel

Also strip Swift symbols when --objc_enable_binary_stripping is passed

Resolves https://github.com/bazelbuild/bazel/issues/13122

+1 -1

0 comment

1 changed file

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

tag5.0.1

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

ajurkowski

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

view details

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.

vitarb

comment created time in 14 hours

push eventbazelbuild/bazel

jhorvitz

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

view details

push time in 14 hours

push eventgoogle/guice

guice-dev+github

commit sha a38ed22abeac0fc8e01490ef71eba228817e8b57

Latest javadoc & api-diffs on successful CI build e09d1eebd0ce545fcd683a1eaf623a40c071f058 auto-pushed to gh-pages

view details

push time in 15 hours

push eventgoogle/guava

Google Java Core Libraries

commit sha 3b8928f4f88ffec7f09756c2dc45f65fe990c50b

Internal change. PiperOrigin-RevId: 359827899

view details

push time in 15 hours

push eventgoogle/guava

Google Java Core Libraries

commit sha 3b8928f4f88ffec7f09756c2dc45f65fe990c50b

Internal change. PiperOrigin-RevId: 359827899

view details

push time in 15 hours

PR closed google/guava

Internal change. cla: yes

Internal change.

+4 -6

0 comment

2 changed files

copybara-service[bot]

pr closed time in 15 hours

delete branch google/guava

delete branch : test_359817819

delete time in 15 hours