Hi Folks,
I wanted to send a quick note to provide visibility into our current plan. We are actively working on open sourcing native C++ and Java rule implementations and hope to get this done within a month (there are a lot of Google dependencies to untangle, so this is a nontrivial task). We are also determining the feasibility of releasing the Android and iOS rules in their current form.
We’re taking some time to do due diligence and experiment with the Android development experience with Buck. We will reach out to you with additional questions.
Are all the right people in the bazel-discuss@ mailing list?
Are there other ways in which we can enhance your understanding of Bazel?
We will reach out to you when we have clear understanding of timelines. Meanwhile, keep the questions coming!
Cheers,
Pallavi
Here are some questions that I've been thinking about:- Can we expect an open-source action/spawn cache? This will be pretty important for us if we're going to try to use Bazel for fbandroid. We can provide our own storage backend, but we'd need Bazel to provide the key computation.- We have some new numbers of compile servers that you should be able to reproduce. The AntennaPod and iosched apps show about a 3x improvement in clean build time when using a warm buckd vs a fresh one. I don't think our fbandroid developers could tolerate losing this speedup.- What sort of scripting do you currently have in Blaze? Since BUCK files are full Python, we frequently use this to define "macros" (Python functions) that expand to multiple rule definitions, which allows us to have one high-level call like "fb_android_binary" produce multiple genrules and android_libraries required to assemble our final binary.- My impression is that the spawn cache will be able to handle all of the cases that we currently use AbiRule for, so that's good. We'll have to make a few changes, but I think it will be worth it.
- Is it possible to dynamically create new rules after the analysis phase? My impression from the Shake paper is that they can construct rules in the middle of the build. Is this possible with Bazel?