Edit: nevermind, saw facebook and build tool and assumed it was site assets. Note to self, read whole articles before commenting.
Buck: A high-performance build tool
21–30 of 71 posts
Re: Buck: A high-performance build tool
#22Can anyone who's used both compare Buck to Blaze/Bazel?
https://redo.readthedocs.io/en/latest/
Very different, never used it, but very interesting nonetheless.
Re: Buck: A high-performance build tool
#23Can anyone who's used both compare Buck to Blaze/Bazel?
I haven't worked with Buck myself, but colleagues who evaluated it for JS have expressed concerns with lack of support/ecosystem there as well. In comparison, there are various Bazel rulesets for JS/Typescript, and I've had some pretty good experience w/ implementing rules myself. The Starlark docs are good.
Another thing going for Bazel is its ability to embed external codebases into a build system. This mechanism allows rules to be shared among repositories in a reusable fashion.
Re: Buck: A high-performance build tool
#24> Buck looks at the contents of your inputs, not their timestamps to figure out what needs to be built. As a result, incremental builds should always be correct, so there's no need to perform a clean build. At least one of these new-fangled tools gets at least one part right. The salient point is now of course whether Buck considers the correct set of dependencies as well as negative dependencies.
Re: Buck: A high-performance build tool
#25Earlier quoted context omitted.
It's a hard thing to do right despite looking deceptively simple.
Well many build systems don't even try to work properly, many new ones included. E.g. anything using timestamps is unequivocally an incorrect build system.
Re: Buck: A high-performance build tool
#26> Buck looks at the contents of your inputs, not their timestamps to figure out what needs to be built. As a result, incremental builds should always be correct, so there's no need to perform a clean build. At least one of these new-fangled tools gets at least one part right. The salient point is now of course whether Buck considers the correct set of dependencies as well as negative dependencies.
Re: Buck: A high-performance build tool
#27Earlier quoted context omitted.
Well many build systems don't even try to work properly, many new ones included. E.g. anything using timestamps is unequivocally an incorrect build system.
Can you explain why? I’d be interested to learn more.
Re: Buck: A high-performance build tool
#28Re: Buck: A high-performance build tool
#29Can anyone who's used both compare Buck to Blaze/Bazel?
There is also Redo https://redo.readthedocs.io/en/latest/ Very different, never used it, but very interesting nonetheless.
However, it doesn’t do things buck and Bazel do such as making sure only declared files are indeed used, or tracking compiler and toolset versions on its own.
Re: Buck: A high-performance build tool
#30Pants - https://www.pantsbuild.org/index.html
Please.Build - https://please.build/
Closely related, but functioning bit different:
Gn - https://gn.googlesource.com/gn/ (targets ninja). Used by Chromium, Fuchsia, and others
Soong - https://android.googlesource.com/platform/build/+/master/REA... (targeting Kati?)