4 ms·
Sounds like your describing what I like to call a fancy build system Something like Bazel[0], Buck[1] Pants[2], etc. One of their main features is robust cachi
by emptysea 6y ago
Sounds like your describing what I like to call a fancy build system
Something like Bazel[0], Buck[1] Pants[2], etc.
One of their main features is robust caching of build artifacts, which is helpful for larger projects.
But they require some major investment compared to your typical `scripts/build.sh`.
[0]: https://bazel.build https://bazel.build
[1]: https://buck.build https://buck.build
[2]: https://www.pantsbuild.org https://www.pantsbuild.org
- qppo 6y agoI have a lot of ideas (or rather, one idea) about how to fix my CI problems and "fancy build system" is pretty apt. Bazel is the closest thing I've seen to what I want.
- brabel 6y agoGradle can also do everything imaginable, we've managed to get rid of basically all our horrible bash scripts and wrote most build stuff using Gradle API and using a proper programming language (put actual code in Gradle's buildSrc/, only configure it in build.gradle, and you've got a extremely powerful build).
- moonbug 6y agosweet summer child.
- hinkley 6y agoShebangs are also your friend, if your primary language can be used that way. The cons of that solution are that there’s a tendency to make them ornate, and the trap of circular dependencies. Reusing an internal library in your build scripts, you have it building itself which can get out of hand quickly.