Button: A fast, correct, and elegantly simple build system.

Dicebot via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Jun 17 03:24:16 PDT 2016


> However, I question the utility of even doing this in the first 
> place. You miss out on the convenience of using the existing 
> command line interface. And for what? Just so everything can be 
> in D? Writing the same thing in Lua would be much prettier. I 
> don't understand this dependency-phobia.

It comes from knowing that for most small to average size D 
projects you don't need a build _tool_ at all. If full clean 
build takes 2 seconds, installing extra tool to achieve the same 
thing one line shell script does is highly annoying.

Your reasoning about makefiles seems to be flavored by C++ 
realities. But my typical D makefile would look like something 
this:

build:
     dmd -ofbinary `find ./src`

test:
     dmd -unittest -main `find ./src`

deploy: build test
     scp ./binary server:

That means that I usually care neither about correctness nor 
about speed, only about good cross-platform way to define 
pipelines. And for that fetching dedicated tool is simply too 
discouraging.

In my opinion that is why it is so hard to take over make place 
for any new tool - they all put too much attention into 
complicated projects but to get self-sustained network effect one 
has to prioritize small and simple projects. And ease of 
availability is most important there.


More information about the Digitalmars-d-announce mailing list