Git, the D package manager

Vladimir Panteleev via Digitalmars-d digitalmars-d at puremagic.com
Thu Feb 5 07:15:06 PST 2015


On Thursday, 5 February 2015 at 14:48:24 UTC, Sönke Ludwig wrote:
>> - restructure the directory layout of my library (breaking 
>> change)
> Not true. Use "sourcePaths" and "importPaths" to configure the 
> package as appropriate.

Right now this is necessary to maintain directory/package path 
consistency.

>> - update all projects which use this library to use Dub instead
> Not true. Adding a dub.json will probably not break any 
> dependent projects.

The problem is certainly not with the addition of dub.json, but 
with the change in directory layout.

>> - give up quick syntax checking
> Not true. Use path based dependencies or "add-path"/"add-local" 
> to reference dependencies wherever you want.

Ah, good idea.

>> - begin maintaining JSON configuration files
> Well, for most projects that would mean writing a tiny JSON 
> file once and never touch it again. If you commit to it, you 
> can of course stop maintaining a D build script, so I'm not 
> sure how much of an argument this is.

I think the only build script I had to write was for RABCDAsm, 
which probably can't be reimplemented as a dub.json file:

http://forum.dlang.org/post/peurhbfebwdskcballzk@forum.dlang.org

For DFeed and a few small projects I use Makefiles and packaging 
scripts, but they also do more complicated things such as signing 
Windows executables, compressing/compiling resources, and 
applying .manifest files.

In general, I've tried to make things work with rdmd alone.

>> - begin versioning libraries by hand
> A good thing, IMHO! Commit hashes alone have no semantical 
> meaning, which is problematic for public libraries for many 
> reasons. For private libraries things can be different and 
> additionally supporting commit based dependencies may be good 
> to have.

I can see how that is more practical for public libraries. Commit 
granularity helps if you want reproducible builds, though.


More information about the Digitalmars-d mailing list