dud: A dub replacement
rschadek at symmetryinvestments.com
Mon Nov 11 13:44:28 UTC 2019
So dub has some problems, and personally I find its code base
very hard to get
At Symmetry we are a very heavy user of dub, resulting in many
So I started to write dud . I kept some boring/nice parts from
dub, but most
code so far is a complete rewrite.
The goal of dud is mostly do what dub does, but more
dud will/does aim for a tasteful subset of dub's features.
Meaning, most dub files should be good with dud.
If they are not, you will/should get an error message telling you
The bigger goal, at least personally, is to have a code base of
that is "trivial" to understand and debug.
The rules of thumb is: "When your line gets longer than 80
restructure your code!", "Branch statements are code smells."
So what can dud do right now.
$ dud convert
IMO that is an important step, as this involves ingesting
a common representation.
I use dubproxy  to get all ~1.6k packages from code.dlang.org
and create a
git working tree for all the versions of all the packages.
Currently, that results in ~60k (package|dub).(json|sdl) files.
Then, I run dud on those and see what breaks.
Only a few percent are not ingestable by dud, and those are in
IHMO not valid
anyway (to be fair, there is some strange 💩 out there).
Now that dud can parse dub files, the next step will be a
checking the input for errors.
After that, path expansion and dependency resolution.
PR's are always welcome.
More information about the Digitalmars-d-announce