dubConfigurationTarget doesn't work
o3o opened this issue · comments
o3o commented
My dub file:
34 │ configuration "integration" {
35 │ targetName "it"
36 │ targetType "executable"
37 │ mainSourceFile "tests/it/main.d"
38 │ sourcePaths "tests/it"
39 │ importPaths "tests"
40 │
41 │ dependency "unit-threaded" version="*"
42 │ }
my reggae file:
1 │ import reggae;
2 │
3 │ alias buildTarget = dubDefaultTarget!(); // dub build
4 │
5 │ alias testTarget = dubTestTarget!(); // dub test (=> ut[.exe])
6 │
7 │ alias it = dubConfigurationTarget!(
8 │ Configuration("integration"),
9 │ CompilerFlags("-unittest"),
10 │ );
11 │ mixin build!(buildTarget, optional!testTarget, optional!it);
when I try to generate:
> mkdir build; cd build
> reggae .. -b ninja
[Reggae] +0.035s Writing reggae source files
[Reggae] +0.04s Writing reggae configuration
[Reggae] +0.041s Writing dub configuration
[Reggae] +0.277s Creating dub object
[Reggae] +0.277s Fetching dub packages
[Reggae] +0.278s Fetched dub packages
[Reggae] +0.278s Getting dub build information
[Reggae] +0.518s Getting dub configurations
[Reggae] +0.539s Number of dub configurations: 4
[Reggae] +0.539s Querying dub configuration 'library'
[Reggae] +0.556s Querying dub configuration 'unittest'
[Reggae] +0.576s Querying dub configuration 'ut_def'
[Reggae] +0.592s Querying dub configuration 'integration'
[Reggae] +0.612s Got dub build information
[Reggae] +0.616s Finished writing dub configuration
[Reggae] +0.616s Compiling metabuild binary reggaefile.o
Couldn't execute /usr/bin/dmd /home/dao/d/ml/do023core/reggaefile.d -o- -makedeps=/home/dao/d/ml/do023core/.reggae/reggaefile.dep -I/home/dao/d/ml/do023core -I/home/dao/d/ml/do023core/build/.reggae/src
in /home/dao/d/ml/do023core/build/.reggae:
/home/dao/d/ml/do023core/reggaefile.d(7): Error: template instance `dubConfigurationTarget!(Configuration("integration"), CompilerFlags(["-unittest"]))` does not match any template declaration
/home/dao/d/ml/do023core/reggaefile.d(7): Candidates are:
/home/dao/d/ml/do023core/build/.reggae/src/reggae/rules/dub.d(212): dubTarget(C)(in imported!"reggae.options".Options options, in C configToDubInfo, in Configuration config = Configuration("default"), in CompilationMode compilationMode = CompilationMode.options, in imported!"reggae.types".CompilerFlags extraCompilerFlags = imported!"reggae.types".CompilerFlags())
/home/dao/d/ml/do023core/build/.reggae/src/reggae/rules/dub.d(336): dubTarget(CompilationMode compilationMode)()
/home/dao/d/ml/do023core/build/.reggae/src/reggae/rules/dub.d(348): dubTarget(Configuration config = Configuration("default"), CompilationMode compilationMode = CompilationMode.options)()
bin.name: reggaefile.o, bin.cmd: /usr/bin/dmd /home/dao/d/ml/do023core/reggaefile.d -o- -makedeps=/home/dao/d/ml/do023core/.reggae/reggaefile.dep -I/home/dao/d/ml/do023core -I/home/dao/d/ml/do023core/build/.reggae/src
My environment:
> reggae --version
reggae v0.5.24+
> dmd --version
DMD64 D Compiler v2.105.2
> dub --version
DUB version 1.34.0, built on Aug 28 2023
> cd reggae
> git describe --tags
v0.10.1-96-g095af2a
the previous version did not give any errors.
Thank you very much