dud: A build and dependency tool for the D programming language
Dud is meant to be a reasonable drop in replacement for dub.
IMHO the dub codebase is hard to get into and high coupled. Meaning that, if you fix one thing you might break another.
Dud's implementation tries to be boring. Dud is to be written in a declarative and functional style.
Testing is paramount.
Features
Most things do not work are are even implemented. Currently, the focus is on getting the data structures correct.
Given the below displayed list of dub features, dud's current feature set is extremely limited.
Package creation
- init
Build, test and run
- run
- build
- test
- generate
- describe
- clean
- dustmite
Package management
- fetch
- add
- remove
- upgrade
- add-path
- remove-path
- add-local
- remove-local
- list
- search
- add-override
- remove-override
- list-overrides
- clean-caches
- convert
Documentation
See Contributing section
Contributing
PRs or issues are always welcome!
Building
To build dud run:
$ dub build
Each subpackage should be buildable with the same shell command.
Testing
To test the individual subpackages run:
$ dub test
in the subpackage folder.
To execute the excessive tests -- Excessive, in this case means, downloading all packages from code.dlang.org, creating a folder for each tag for each package and running tests on all of them -- run:
$ cd testdata
$ make // This requires ~ 63GB of disk space
$ cd ../sdlang
$ dub --config=ExcessiveTests
$ cd ../pkgdescription
$ dub --config=ExcessiveTests
It is not indented that dud can ingest all dub.(sdl|json) found, instead the idea is to have a large, real world test set.
About Kaleidic Associates
We are a boutique consultancy that advises a small number of hedge fund clients. We are not accepting new clients currently, but if you are interested in working either remotely or locally in London or Hong Kong, and if you are a talented hacker with a moral compass who aspires to excellence then feel free to drop me a line: laeeth at kaleidic.io
We work with our partner Symmetry Investments, and some background on the firm can be found here: