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

Reply via email to