On 2011-12-07 15:06, Russel Winder wrote:
On Wed, 2011-12-07 at 14:38 +0100, Jacob Carlborg wrote:
[...]
What I see as the advantage of a new build system is that it can be
developed specifically for D which could make the tool very easy to use.
Example:

$ tool build main.d

Go has gone to the extreme with this, they have a project structure
which is mandated.  This makes build completely convention driven so
there are no build specifications at all, their build tool can deduce
all the data needed to complete a build.

There are still cases when special flags are needed and how is the library dependencies resolved?

This is the logical extension of the "convention over configuration"
approach developed by Maven and Gradle to such great effect.

I think that makes sense. It should be the default but it should still be possible to use a custom project structure.

That's all that should be needed to build an executable. You could have
the same in a build script:

// buildfile
main.d

Too much data ;-)

Hehe. It's the same amount of data, just moved from the command line into a build script. The comment was to make it clear it was in a build script.

$ tool build

For a library it should be similar:

$ tool build foo

Where "foo" is a directory. I don't know if that's possible to have in a
build tool not specifically developed for D.

I still worry about a language specific tool.  Language plugins to
general tools make far more sense to me.


Well, can the above be simplicity be achieved if an existing tool is used?

--
/Jacob Carlborg

Reply via email to