atilaneves / reggae

Build system in D, Python, Ruby, Javascript or Lua

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dubConfigurationTarget doesn't work

o3o opened this issue · comments

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

commented

cereald has same issue

commented

Thanks a lot for fixing the bug! Your quick response and solution are much appreciated.

However, I've encountered another issue that I've documented in issue #235. Could you please take a look when you have a moment?
Thank you very much