Re:Please – A cross-language build system
by karmakaze on Saturday November 28, 2020 @02:19PM
(#25239747)
What was/is the motivation for this build system that an existing one doesn't satisfy?
[ Parent
| on HN ]
Re:Please – A cross-language build system
by archangel_one on Saturday November 28, 2020 @03:12PM
(#25240136)
We wanted something like Blaze (Google's system); at the time we were using Buck which didn't satisfy us (e.g. only one output per genrule, no directories; and it was more or less impossible to write first-class support for a new language without modifying the core system). Subsequently Bazel got released but we still find that a bit lacking in some areas; e.g. the CLI, the JVM reliance and some of Starlark (e.g. it maintains Python 2 syntax compatibility so can't have type annotations).
We'd also tried Gradle previously but that was pretty awful for anything non-Java which made it a non-starter.
To be clear, I'm one of the original implementors, although I imagine that was obvious already...
Re:Please – A cross-language build system
by laurentlb on Sunday November 29, 2020 @07:05AM
(#25244676)
fyi, Starlark dropped compatibility with Python 2 two years ago (https://github.com/bazelbuild/starlark/issues/27)
People interested in type annotations can check this discussion: https://github.com/bazelbuild/starlark/issues/106
For most purposes, Bazel dependency on Java is an implementation detail (users don't need to install a JVM), although you might notice it if you need to bootstrap Bazel.
(I co-designed Starlark and I used to work on Bazel)
Re:Please – A cross-language build system
by bertr4nd on Sunday November 29, 2020 @11:56AM
(#25246302)
I’m not sure if the feature was added after you started building Please but Buck does support multiple outputs from a genrule now. It’s kind of hacky though; you write a genrule that produces a directory containing said multiple outputs, and then you can write rules to extract the subcomponents. (I don’t know why I feel compelled to point this out. I worked on Buck for about a year, several years back. )
Re:Please – A cross-language build system
by karmakaze on Sunday November 29, 2020 @09:47PM
(#25250277)
At first this wasn't a singular clear answer I was hoping for, but the many points being made here make it clear that it's a complex area and there's room for another advanced/high-perf build system to cover a broader range of usage.