On Sunday, 19 June 2016 at 15:47:21 UTC, Dicebot wrote:
Let me propose another idea where maybe we can remove the
extra dependency for new codebase collaborators but still have
access to a full-blown build system: Add a sub-command to
Button that produces a shell script to run the build. For
example, `button shell -o build.sh`. Then just run
`./build.sh` to build everything. I vaguely recall either Tup
or Ninja having something like this.
This actually sounds nice. Main problem that comes to my mind
is that there is no cross-platform shell script. Even if it is
list of plain unconditional commands there are always
differences like normalized path form. Of course, one can
always generate `build.d` as a shell script, but that would
only work for D projects and Button is supposed to be a generic
solution.
I'd make it so it could either produce a Bash or Batch script.
Possibly also a PowerShell script because error handling in Batch
is awful. That should cover any platform it might be needed on.
Normalizing paths shouldn't be a problem either.
This should actually be pretty easy to implement.