Buck – A build system developed and used by Facebook
51–60 of 131 posts
Re: Buck – A build system developed and used by Facebook
#52Wonder if this can/will replace CMake for cross platform builds.
Re: Buck – A build system developed and used by Facebook
#53Earlier quoted context omitted.
So far I've also always found `make` to be the best option for what I need, especially because it's already available everywhere (albeit sadly in very subtly incompatible versions). Anyways, one thing that has always bothered me about make is that it so much depends on file modification dates. Imagine if it would instead use a very optimised hashing algorithm over the input content. Content can be a file or any URI,…
I have briefly used https://github.com/Factual/drake for this. It is a bit unpolished and still a work in progress, but has some features that are useful for data science workflows that most software build tools do not cover: * Steps can produce multiple named outputs (for example full.csv and summary.csv), dependency graph can branch in both ways, * Outputs that are directories with many files, * Built-in input/outp…
* you can specify several inputs & outputs per rule
* you can specify which script interpreter is used ($SHELL), and python can be it. See https://www.gnu.org/software/make/manual/html_node/One-Shell...
* downstream make can indeed be interesting. however you can try to build all ultimate targets ans let make sort out which ones can be avoided
* fs support is best done at the os level (https://wiki.apache.org/hadoop/MountableHDFS, not sure about timestamps)
and
* "everyone" "hates" gnu make, which means everyone knows it.
(edit :format)
Re: Buck – A build system developed and used by Facebook
#54Re: Buck – A build system developed and used by Facebook
#55Wonder if this can/will replace CMake for cross platform builds.
Re: Buck – A build system developed and used by Facebook
#56Re: Buck – A build system developed and used by Facebook
#57Earlier quoted context omitted.
I have briefly used https://github.com/Factual/drake for this. It is a bit unpolished and still a work in progress, but has some features that are useful for data science workflows that most software build tools do not cover: * Steps can produce multiple named outputs (for example full.csv and summary.csv), dependency graph can branch in both ways, * Outputs that are directories with many files, * Built-in input/outp…
I'm not commenting about Drake or its usefulness, but concerning (GNU) make : * you can specify several inputs & outputs per rule * you can specify which script interpreter is used ($SHELL), and python can be it. See https://www.gnu.org/software/make/manual/html_node/One-Shell... * downstream make can indeed be interesting. however you can try to build all ultimate targets ans let make sort out which ones can be avoi…
Re: Buck – A build system developed and used by Facebook
#58Wow, so many build systems got mentioned here, when do people have the time to check them all out? I stick with gnu make because that's the evil I know, not because its the best tool imaginable...
Re: Buck – A build system developed and used by Facebook
#59Wow, so many build systems got mentioned here, when do people have the time to check them all out? I stick with gnu make because that's the evil I know, not because its the best tool imaginable...
Re: Buck – A build system developed and used by Facebook
#60Continuing the trend of Facebook creating competing tools more often than persisting with and improving existing ones, which I feel dilutes effort and has fragmented a number of ecosystems. We've got a couple of Facebook fans at work, which has left us with a number of our systems using different tools to accomplish essentially the same tasks, and no strong case on either side for us to standardise on one of them. Ma…
When Buck was created (my team created it!) there wasn't anything that supported what Facebook needed in a build tool. There still really isn't as all the Blaze work-a-likes are focusing on various different needs. I would argue Buck actually helps to solve what you are concerned about. At Facebook, everything builds with Buck (and Google with Bazel I hear)...which means you learn it once and you know it for your Obj…
Looking at https://github.com/facebook you seem to be using all sorts of build tools...