Replacing Make for the DMD build

Russel Winder via Digitalmars-d digitalmars-d at puremagic.com
Thu Jun 22 03:15:24 PDT 2017


On Wed, 2017-06-21 at 14:48 +0000, jmh530 via Digitalmars-d wrote:
> 
[…]
> This is what I was thinking: start with a simple project, show 
> how you can build it with dub or with reggae, then show a 
> slightly more complicated project that dub cannot handle well and 
> show how you can use reggae (and integrate it with dub).

Or keep the Dub repository, and ditch dub the tool.

The analogy from the JVM world.

Maven took over from Ant providing a new build tool and a repository of
artefacts. Everyone stared using Maven and Ant effectively passed away
(*). Then came Gradle. It used the Maven repository for artefacts but
replaced Maven the build system which is slowly passing away (*). But
Maven had problems, and so we get Artifactory and Bintray. Maven is
still there people still add artefacts but generally via JCentre (a
Bintray instance) using JCentre as the first search point.

Dub has moved D along a good path, but does it need evolving. Does it
need replacing? I am not a fan of Dub the build system (**) but the
idea of a repository if source packages is a good move. Even C++ now
does this with Conan. But Conan is a package manager not a build
system. Should Dub the package manager emerge from Dub the build
system? Is this possible now?

Clearly the "Big Problem" is that the JVM world has profit-making
entities involved seeking business opportunities. D has very little of
this.

Given that D has very little commercial effort available, minimisation
of goals for improvement are needed. I'd posit:

1. Make using Dub only as a package getter better known and used. Make
it easier for SCons, Meson, CMake, etc. to use Dub the repository
without using Dub the builder.

2. Add Git, Mercurial (, and Bazaar/Breezy ?) repository getting to
Dub, if it is not there, or make it easier to do this if it is.

3. Add some form of review and curating to Dub packages. PyPI is a free
for all and there is a lot of crap and ancient rubbish in it that needs
removing. sadly this will never happen, but at least there is a
strongly opinionated metric publicly known and displayed for each
package that allows you to decide whether a package is just dross.

I am prepared to put time into Dub, if that helps, just as I am putting
time into SCons, and possibly Meson.


(*) A bit like COBOL passed away, sadly there is still a lot of it
about.

(**) Unless it evolves and becomes as good as Cargo is for Rust.

-- 
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: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20170622/867cea36/attachment-0001.sig>


More information about the Digitalmars-d mailing list