The DUB package manager

Russel Winder russel at winder.org.uk
Sat Feb 16 11:35:33 PST 2013


On Sat, 2013-02-16 at 20:15 +0100, Jacob Carlborg wrote:
[…]
> I'm thinking that there should be a build tool that drives everything. 
> The build script contains package dependencies. The build tool will ask 
> the package manager to get linker/import paths and libraries for the 
> dependencies.
[…]

First a plug for people to think of SCons and Waf, not to mention
Gradle, when starting to rattle of build tools.

The SBT folks are using Scala in quite interesting ways to enable Scala
to define project specifications with all the non-inferable
dependencies.

The Gradle folks have already done almost everything the SBT folks are
doing, but using Groovy rather than Scala.

The Go folk have done something interesting in that they have merged the
whole concept of configuration and build by doing everything over DVCS.
You put your sources in Git, Mercurial, Bazaar (they really should
include Fossil as well but…) and these can be Got and the modules
created within the standard structure local hierarchy.  The have a
single command that performs all activity. D has rdmd but compared to
Go's go command it cannot do a lot.

I would suggest now is the time to think outside the box, analogous to
the ways the Gradle and SBT folk have on the JVM and the way the Go folk
have for native builds of statically linked code.

Instead of thinking in terms of compile, link, modules, dependencies,
what is the workflow that makes D the compelling language for building
Fortran/C/C++/D systems. This is suggesting that the milieu to attack is
the one currently being won by Python in the computationally intensive
areas of bioinformatics and scientific computing.

Can D be the project specification language using convention over
configuration. Project directories are in a standard form (with
exceptions describable) with dependencies either inferred by scanning
the project sources or specified in a trivial way in the project
specification file.

Thus I suggest that it is not that the build tool is embedded in the
package manager but that package and dependency management is part of
the build system.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20130216/9c395c90/attachment.pgp>


More information about the Digitalmars-d mailing list