diff --git a/changelog/dmd-linker-dflags.dd b/changelog/dmd-linker-dflags.dd deleted file mode 100644 index 3628792..0000000 --- a/changelog/dmd-linker-dflags.dd +++ /dev/null @@ -1,3 +0,0 @@ -More 'linker dflags' with DMD - -`-betterC`, `-L…` and `-Xcc=…` `dflags` are now used for linking too. \ No newline at end of file diff --git a/changelog/visuald-copyfiles.dd b/changelog/visuald-copyfiles.dd deleted file mode 100644 index 72c8058..0000000 --- a/changelog/visuald-copyfiles.dd +++ /dev/null @@ -1,5 +0,0 @@ -copyFiles can now be used in VisualD projects. - -Files that are needed for the application to run can be specified in the `copyFiles` build option, -which causes these files to be copied to the target path. The dub generator for VisualD now replicates -this behaviour, so that this kind of applications can be successfully debugged in Visual Studio. diff --git a/source/dub/dub.d b/source/dub/dub.d index 1a8433d..c96e971 100644 --- a/source/dub/dub.d +++ b/source/dub/dub.d @@ -701,10 +701,10 @@ mkdirRecurse(mainfile.parentPath.toNativeString()); bool regenerateMainFile = settings.force || !existsFile(mainfile); - + auto escapedMainFile = mainfile.toNativeString().replace("$", "$$"); // generate main file - tcinfo.sourceFiles[""] ~= mainfile.toNativeString(); - tcinfo.mainSourceFile = mainfile.toNativeString(); + tcinfo.sourceFiles[""] ~= escapedMainFile; + tcinfo.mainSourceFile = escapedMainFile; if (!m_dryRun && regenerateMainFile) { auto fil = openFile(mainfile, FileMode.createTrunc); diff --git a/source/dub/version_.d b/source/dub/version_.d index 317e534..47872cf 100644 --- a/source/dub/version_.d +++ b/source/dub/version_.d @@ -1,2 +1,2 @@ module dub.version_; -enum dubVersion = "v1.25.0-rc.1"; +enum dubVersion = "v1.25.0"; diff --git a/test/cache-generated-test-config.sh b/test/cache-generated-test-config.sh index 9f5ca6f..f4e0e27 100755 --- a/test/cache-generated-test-config.sh +++ b/test/cache-generated-test-config.sh @@ -4,6 +4,7 @@ cd ${CURR_DIR}/cache-generated-test-config rm -rf .dub +## default test ${DUB} test --compiler=${DC} STAT="stat -c '%Y'" @@ -21,4 +22,42 @@ [ "$EXECUTABLE_TIME" != "$(${STAT} cache-generated-test-config-test-library)" ] && die $LINENO 'The executable has been rebuilt' [ "$MAIN_TIME" != "$(${STAT} "$(ls .dub/code/*dub_test_root.d | head -n1)")" ] && die $LINENO 'The test main file has been rebuilt' +## test with empty DFLAGS environment variable +DFLAGS="" ${DUB} test --compiler=${DC} + +STAT="stat -c '%Y'" +[[ "$OSTYPE" == "darwin"* ]] && STAT="stat -f '%m' -t '%Y'" + +EXECUTABLE_TIME="$(${STAT} cache-generated-test-config-test-library)" +[ -z "$EXECUTABLE_TIME" ] && die $LINENO 'no EXECUTABLE_TIME was found' +MAIN_TIME="$(${STAT} "$(ls .dub/code/*-\$DFLAGS-*dub_test_root.d)")" +[ -z "$MAIN_TIME" ] && die $LINENO 'no MAIN_TIME was found' + +DFLAGS="" ${DUB} test --compiler=${DC} +MAIN_FILES_COUNT=$(ls .dub/code/*-\$DFLAGS-*dub_test_root.d | wc -l) + +[ $MAIN_FILES_COUNT -ne 1 ] && die $LINENO 'DUB generated more then one main file' +[ "$EXECUTABLE_TIME" != "$(${STAT} cache-generated-test-config-test-library)" ] && die $LINENO 'The executable has been rebuilt' +[ "$MAIN_TIME" != "$(${STAT} "$(ls .dub/code/*-\$DFLAGS-*dub_test_root.d | head -n1)")" ] && die $LINENO 'The test main file has been rebuilt' + +## test with DFLAGS environment variable +DFLAGS="-g" ${DUB} test --compiler=${DC} + +STAT="stat -c '%Y'" +[[ "$OSTYPE" == "darwin"* ]] && STAT="stat -f '%m' -t '%Y'" + +EXECUTABLE_TIME="$(${STAT} cache-generated-test-config-test-library)" +[ -z "$EXECUTABLE_TIME" ] && die $LINENO 'no EXECUTABLE_TIME was found' +MAIN_TIME="$(${STAT} "$(ls .dub/code/*-\$DFLAGS-*dub_test_root.d)")" +[ -z "$MAIN_TIME" ] && die $LINENO 'no MAIN_TIME was found' + +DFLAGS="-g" ${DUB} test --compiler=${DC} +MAIN_FILES_COUNT=$(ls .dub/code/*-\$DFLAGS-*dub_test_root.d | wc -l) + +[ $MAIN_FILES_COUNT -ne 1 ] && die $LINENO 'DUB generated more then one main file' +[ "$EXECUTABLE_TIME" != "$(${STAT} cache-generated-test-config-test-library)" ] && die $LINENO 'The executable has been rebuilt' +[ "$MAIN_TIME" != "$(${STAT} "$(ls .dub/code/*-\$DFLAGS-*dub_test_root.d | head -n1)")" ] && die $LINENO 'The test main file has been rebuilt' + + + exit 0 \ No newline at end of file