I used dub for the first time, here are a few notes
Steven Schveighoffer via Digitalmars-d
digitalmars-d at puremagic.com
Tue Aug 23 10:58:31 PDT 2016
On 8/23/16 1:46 PM, Andrei Alexandrescu wrote:
> * In an extra twinge of irony, the link to the package format
> specification goes to http://code.dlang.org/package-format?lang=json,
> i.e. the JSON format. Which is of course not what "dub init" (which I
> duly ran because it was on the getting started page) generated. It was
> no source of confusion to me because I had the context, but it may for
> others.
json has returned as the default format. Your distribution probably
installed an older dub that used sdl as the default format.
> * So I look at the SDL spec and even after I'm done I have no idea where
> to specify "I have a package called checkedint, and the only file for it
> is ./checkedint/checkedint.d". I do know what I'd need to do if I had
> subpackages though.
Typically, the source goes in source. So you want
source/checkedint/checkedint.d (or source/checkedint.d).
> * At this point I've read two full pages of documentation and I have no
> idea how to (a) define my package for one library with one file in it,
> and (b) build it. Literally: no idea.
$ dub init
$ rm source/app.d # this is a library
$ vi source/checkedint.d # or mkdir source/checkedint; vi
source/checkedint/checkedint.d
...
$ dub build
Performing "debug" build using dmd for x86_64.
checkedint ~master: building configuration "library"...
Target is a library. Skipping execution.
$ ls -l
total 40
-rw-r--r--+ 1 steves staff 112 Aug 23 13:55 dub.sdl
-rw-r--r--+ 1 steves staff 39 Aug 23 13:56 dub.selections.json
-rw-r--r--+ 2 steves staff 9548 Aug 23 13:56 libcheckedint.a
drwxr-xr-x+ 3 steves staff 102 Aug 23 13:56 source
> * Next thing I want is to unittest the thing. Searching the cmdline
> docs, first hit suggests "dub --build=unittest" is the way to go. It
> does build, but doesn't run the unittests. Fortunately I keep on
> searching and find that "dub test" does what I want.
dub test
is what I usually do.
-Steve
More information about the Digitalmars-d
mailing list