On Sunday, 28 March 2021 at 15:52:43 UTC, Zardoz wrote:
So, we get this dub.json :
{
"name": "example",
"configurations": [
{
"name": "example",
"targetType": "library"
},
{
"name": "unittest",
"targetType": "library",
"importPaths": ["source", "tests"],
"sourcePaths": ["source", "tests"],
"dependencies": {
"silly": "~>1.0.2",
"dshould": "~>1.4.3"
}
}
]
}
[...]
Assumption: dshould has 2 configurations. In first configuration,
unit-threaded is marked as optional in second it isn't. Dub
therefore downloads it per rule (all configurations are
considered, also the not used).
The author could mark it in all configurations as optional or,
use sub packages, which is another way to have optional
dependencies.
Kind regards
Andre