3 ms·
The more build scripts I write the more convinced I become that an ideal build system needs to be: * Using declarative code as much as possible but still writt
by crdoconnor 9y ago
The more build scripts I write the more convinced I become that an ideal build system needs to be:
* Using declarative code as much as possible but still written in a good general purpose turing complete language (maybe python - not make).
* Built upon a foundation of well designed libraries, installable from a package manager that abstract common build workflows.
Make meets neither of these standards.
- oblio 9y agoI've come to the same conclusion after many years of writing and modifying build scripts for Java, .NET, Ruby, JavaScript and C. Of course, if you only care about POSIX, a lot of the make issues go away. Not all, but many.
- devonkim 9y agoSounds like you may want something like Scons with better support for common build patterns.
- crdoconnor 9y agoSomething more along those lines, yes, although I'm really not that convinced about some of their design decisions and though the documentation is at least very detailed, it's rather obtuse. I think it's possible to do better.
- zmonx 9y agoI agree, and recommend Biomake: https://github.com/evoldoers/biomake https://github.com/evoldoers/biomake It uses the declarative programming language Prolog to write flexible rules. A logic programming language like Prolog is very well suited for expressing rule-based dependencies.
- captainbland 9y agoGradle is pretty much like this I think, although it's still a bit too tied to the Java build flow to be truly general purpose.