News for hackers. Stuff that matters.

jingwen

Re:Dropbox ignore file or folder in beta on Sunday February 02, 2020 @12:47AM (#22215379)
The location is not hard-coded and can be configured with the --output_base flag.
Re:Dropbox ignore file or folder in beta on Friday January 31, 2020 @12:01AM (#22199210)
Output directories are unique by the user and source project workspace directory. Output artifacts don't clobber, even though they are all in ~/.cache.
Re:Bazel 2.0 on Monday December 23, 2019 @12:48PM (#21865403)
> The net result is a Bazel (and Blaze) that are less burdened by the baggage of legacy, but the cost is a faster treadmill to keep pace with changes.

(I work on Bazel.)

This is accurate. A few of the biggest breaking change themes are:

1) Converting functionality linked within the Bazel binary into the extensibility mechanism implemented in Starlark. An example includes converting the native Java, C++, Android, Python, Protobuf, Obj-C and packaging rules into rules_java, rules_cc, etc. Many languages now are already implemented exclusively in Starlark. See rules_scala, rules_rust, rules_go and rules_haskell.

2) Starlark and Build API cleanups that accumulated over organic growth and development within Google for the past decade.

3) New build system features to support seamless integration with other build systems and package managers.

Re:Bazel 2.0 on Monday December 23, 2019 @12:33PM (#21865272)
There are many layers of caching within Bazel (remote/local, inmemory/disk), but the central functional incremental engine is called Skyframe [1]. Almost every computation within Bazel that can be incrementally executed is managed in this engine.

[1]: https://bazel.build/designs/skyframe.html

Re:Bazel 1.0 on Friday October 18, 2019 @01:51AM (#21289005)
That's right. However, there are distinct implications on how this dependency graph is constructed, analyzed, and evaluated. "Build Systems à la Carte" (Mokhov, Mitchell, Peyton Jones) [1] goes deeper into formalizing these differences.

[1] https://www.microsoft.com/en-us/research/uploads/prod/2018/0...

Re:Bazel 1.0 on Friday October 18, 2019 @01:45AM (#21288987)
Yes. 1.0 indicates the beginning of semantic versioning, which was not in place during the alpha and beta phases.
Re:Bazel Release 1.0 on Thursday October 10, 2019 @03:42PM (#21218424)
The Bazel team published official rules for managing transitive dependencies from Maven: https://github.com/bazelbuild/rules_jvm_external

There are also community created solutions like https://github.com/johnynek/bazel-deps, and https://github.com/square/bazel_maven_repository.

Disclosure: I maintain rules_jvm_external.

Re:Bazel Release 1.0 on Thursday October 10, 2019 @11:23AM (#21215544)
There are Bazel rules for Graal: https://github.com/andyscott/rules_graal
Check out Bazel's remote execution feature and Google RBE (remote build execution) [1]. Bazel itself is language agnostic (language support comes in the form of rules).

(disclaimer: I'm an engineer on the Bazel team)

[1] https://docs.bazel.build/versions/master/remote-execution.ht...

Re:We need a new generation of source control on Wednesday April 24, 2019 @04:37PM (#19742348)
More information on how to get access to Remote Build Execution for Bazel on GCP: https://docs.bazel.build/versions/master/remote-execution.ht...

(Disclaimer: I'm a engineer on the Bazel team)

Re:Buck: A high-performance build tool on Monday April 22, 2019 @12:59PM (#19720533)
(Disclaimer: Bazel engineer)

Bazel does ecosystem and language agnostic distributed builds with both GCP and self-hosted solutions.

Here's a demonstration of building the Angular project remotely: https://youtu.be/lDyIc2Abkwg?t=593

As one South-east Asian, thank you.
Re:Gpu.js – GPU Accelerated JavaScript on Wednesday February 27, 2019 @02:45PM (#19266312)
I've built an animated raytracer with an early version of this. http://raytracer.crypt.sg/
Re:Building TypeScript Projects with Bazel on Wednesday December 26, 2018 @06:30PM (#18765793)
Re:Tensorflow 2.0: models migration and new design on Wednesday November 14, 2018 @06:47PM (#18455418)
Bazel integrates well with nixpkgs and npm with rules_nixpkgs [0] and rules_nodejs [1] respectively.

Tangentially related to package manager integration: Bazel can now build with CMake in-tree [2].

[0] https://github.com/bazelbuild/rules_nixpkgs/

[1] https://github.com/bazelbuild/rules_nodejs/

[2] https://github.com/bazelbuild/rules_foreign_cc/

Older »