Local library with dub
Andre Pany
andre at s-e-a-p.de
Tue Apr 20 18:11:18 UTC 2021
On Tuesday, 20 April 2021 at 17:15:15 UTC, JG wrote:
> Hi
>
> I want to put some code together in a local library that is
> then used by several other projects. I am running into a few
> problems. Firstly when I try and configure the code to be a
> library (dub init, add d files to source, and remove
> source/app.d - perhaps this wrong) dub test no longer seems to
> work?
>
> Secondly I am having problems getting dub to add the library
> code to other projects. It seems to work if I run dub add-local
> path/to/library and then add the appropriate dependencies to
> the projects dub.json file. However, I didn't manage to find
> documentation that explains exactly how this should work. Also
> there seems to be some mention getting this to work with
> versions (in the documentation about dub add-path), which I
> couldn't follow.
>
> Does anyone know in more detail how this works or how I can
> find out?
You need to add 2 configurations. The first configuration is used
automatically when you execute `dub build`. Just name the config
`debug` with targetType `library`. Add a second configuration
with name `unittest` and targetType `executable` and attribute
`mainSourceFile` pointing to a module containing your main
function for your test. For example name this module `testapp.d`.
The module `testapp.d` you need to exclude in your configuration
`debug` using attribute `excludeSourceFiles`.
The configuration `unittest` is automatically used when you
execute `dub test`.
Kind regards
Andre
More information about the Digitalmars-d-learn
mailing list