Introducing mach.d, the github repo where I put whatever modules I happen to write

Adam D. Ruppe via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed May 25 19:12:54 PDT 2016


On Wednesday, 25 May 2016 at 23:21:09 UTC, Seb wrote:
> Yes, and they are great. However now we have dub and a 
> "serious" standard library  ;-)

I've looked into two options to join the dub bandwagon, and both 
aren't really any good (and the fact that I don't use it myself 
means it'd probably be unmaintained anyway):

1) subpackages. I have this right now for some of the modules, 
but it doesn't work very well because I can't version the 
subpackages independently of the main package, and it adds a fair 
chunk of overhead writing those json definitions and git tags.

2) full-blown packages... I'd have to create an individual folder 
hierarchy (probably like 3 directories per one file!) and git 
repo, along with a dub.json, for each one of my items. Using hard 
links, I could maintain compatibility with my existing repo and 
dev setup, so it might not be extremely horrid in the long 
run.... but still, creating and maintaining like 35 repos (I have 
37 public, documented modules right now, most of which can stand 
alone) isn't my idea of a good time.

The advantage though is I could actually use dub's versioning 
scheme.

The disadvantage is all the configuration stuff for optional 
dependencies would be a pain. Currently, if you use dom.d's UTF-8 
functions, the module just works, standalone, no dependencies.

If you call one of the encoding translation functions though, it 
now depends on characterencodings.d, thanks to a lazy import. I 
really like that! D rox on its own.


More information about the Digitalmars-d-announce mailing list