Am 08.05.2014 00:31, schrieb Luís Marques:

On Wed, 07 May 2014 22:20:30 GMT, Sönke Ludwig wrote:

The old DUB versions used to handle "mainSourceFile" separately (and if it didn't match an existing source file, it was just ignored). But now the main source file is also implicitly added as a "sourceFiles" entry. So for the old versions it just implicitly chose source/app.d as the main source file and ignored the "mainSourceFile" field altogether.

Weird, I really was convinced that there was a version of dub that both required "mainSourceFile" and did not complain about plain app.d.

I'm having problems trying to test all of that though, because with DUB version 0.9.22-beta.2+49-g3ec3c12 I get build errors:

Undefined symbols for architecture x86_64:
   "_D4vibe4core3log6rawLogFNbAyaiE4vibe4core3log8LogLevelAyaZv", referenced from:
       _D4vibe4core3log150__T3logVE4vibe4core3log8LogLevel2VAyaa49_2e2e2f2e2e2f2e2e2f766962652e642f736f757263652f766962652f636f72652f636f6e6e656374696f6e706f6f6c2e64Vi60TAyaTmZ3logFNbAyaLmZv in libddb.a(log_d80_1e83.o)
       _D4vibe4core3log151__T3logVE4vibe4core3log8LogLevel2VAyaa49_2e2e2f2e2e2f2e2e2f766962652e642f736f757263652f766962652f636f72652f636f6e6e656374696f6e706f6f6c2e64Vi55TAyaTPvZ3logFNbAyaLPvZv in libddb.a(log_d7e_1e3e.o)
       _D4vibe4core3log154__T3logVE4vibe4core3log8LogLevel2VAyaa49_2e2e2f2e2e2f2e2e2f766962652e642f736f757263652f766962652f636f72652f636f6e6e656374696f6e706f6f6c2e64Vi53TAyaTAyaTmZ3logFNbAyaLAyaLmZv in libddb.a(log_d7c_2168.o)
       _D4vibe4core3log156__T3logVE4vibe4core3log8LogLevel0VAyaa49_2e2e2f2e2e2f2e2e2f766962652e642f736f757263652f766962652f636f72652f636f6e6e656374696f6e706f6f6c2e64Vi50TAyaTAyaTmTmZ3logFNbAyaLAyaLmLmZv in libddb.a(log_d78_23d4.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
--- errorlevel 1

Hm, seems like another case for a forced rebuild is missing - when the
DUB version changes. dub build --force should fix those for now.