Button: A fast, correct, and elegantly simple build system.
Dicebot via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Fri Jun 3 01:26:43 PDT 2016
On Wednesday, 1 June 2016 at 04:34:23 UTC, Jason White wrote:
> Why is having dependencies so damaging for build systems? Does
> it really matter with a package manager like Dub? If there is
> another thread that answers these questions, please point me to
> it.
Rephrasing one famous advice, "every added tooling dependency in
an open-source project reduces amount of potential contributors
by half" :) Basically, one can expect that anyone working with D
will have dmd/phobos and, hopefully, dub. No matter how cool
Button is, if it actually needs to be installed in contributor
system to build a project, it is very unlikely to be widely used.
That issue can be reduced by making Button itself trivially built
from plain dmd/phobos/dub install and configuring the project to
bootstrap it if not already present - but that only works if you
don't also need to install bunch of additional tools like sqlite
or make.
From that perspective, the best build system you could possibly
have would look like this:
```
#!/usr/bin/rdmd
import std.build;
// define your build script as D code
```
More information about the Digitalmars-d-announce
mailing list