diff --git a/examples/injected-from-dependency/ahook.d b/examples/injected-from-dependency/ahook.d new file mode 100644 index 0000000..bd44019 --- /dev/null +++ b/examples/injected-from-dependency/ahook.d @@ -0,0 +1,14 @@ +module toload.ahook; + +version(D_BetterC) { + pragma(crt_constructor) + extern(C) void someInitializer() { + import core.stdc.stdio; + printf("Hook ran!\n"); + } +} else { + shared static this() { + import std.stdio; + writeln("We have a runtime!!!!"); + } +} diff --git a/examples/injected-from-dependency/dub.json b/examples/injected-from-dependency/dub.json index bebef9a..7446c7c 100644 --- a/examples/injected-from-dependency/dub.json +++ b/examples/injected-from-dependency/dub.json @@ -13,7 +13,7 @@ "buildOptions": ["betterC"], "sourcePaths": ["toload"], "importPaths": ["toload"], - "injectSourceFiles": ["toload/ahook.d"] + "injectSourceFiles": ["ahook.d"] } ] } diff --git a/examples/injected-from-dependency/toload/ahook.d b/examples/injected-from-dependency/toload/ahook.d deleted file mode 100644 index bd44019..0000000 --- a/examples/injected-from-dependency/toload/ahook.d +++ /dev/null @@ -1,14 +0,0 @@ -module toload.ahook; - -version(D_BetterC) { - pragma(crt_constructor) - extern(C) void someInitializer() { - import core.stdc.stdio; - printf("Hook ran!\n"); - } -} else { - shared static this() { - import std.stdio; - writeln("We have a runtime!!!!"); - } -} diff --git a/source/dub/recipe/packagerecipe.d b/source/dub/recipe/packagerecipe.d index 79cecaf..e1e4663 100644 --- a/source/dub/recipe/packagerecipe.d +++ b/source/dub/recipe/packagerecipe.d @@ -282,7 +282,6 @@ // collect source files dst.addSourceFiles(collectFiles(sourcePaths, "*.d")); - dst.addInjectSourceFiles(collectFiles(injectSourceFiles, "*.d")); auto sourceFiles = dst.sourceFiles.sort(); // collect import files and remove sources @@ -300,6 +299,7 @@ getPlatformSetting!("libs", "addLibs")(dst, platform); getPlatformSetting!("sourceFiles", "addSourceFiles")(dst, platform); getPlatformSetting!("excludedSourceFiles", "removeSourceFiles")(dst, platform); + getPlatformSetting!("injectSourceFiles", "addInjectSourceFiles")(dst, platform); getPlatformSetting!("copyFiles", "addCopyFiles")(dst, platform); getPlatformSetting!("extraDependencyFiles", "addExtraDependencyFiles")(dst, platform); getPlatformSetting!("versions", "addVersions")(dst, platform); diff --git a/test/injected-from-dependency/ahook.d b/test/injected-from-dependency/ahook.d new file mode 100644 index 0000000..e98e765 --- /dev/null +++ b/test/injected-from-dependency/ahook.d @@ -0,0 +1,6 @@ +module toload.ahook; + +shared static this() { + import toload.vars; + valueStoredHere = 1337; +} diff --git a/test/injected-from-dependency/dub.json b/test/injected-from-dependency/dub.json index 95c30fb..5c13700 100644 --- a/test/injected-from-dependency/dub.json +++ b/test/injected-from-dependency/dub.json @@ -12,7 +12,7 @@ "name": "toload", "sourcePaths": ["toload"], "importPaths": ["toload"], - "injectSourceFiles": ["toload/ahook.d"] + "injectSourceFiles": ["ahook.d"] } ] } diff --git a/test/injected-from-dependency/toload/ahook.d b/test/injected-from-dependency/toload/ahook.d deleted file mode 100644 index e98e765..0000000 --- a/test/injected-from-dependency/toload/ahook.d +++ /dev/null @@ -1,6 +0,0 @@ -module toload.ahook; - -shared static this() { - import toload.vars; - valueStoredHere = 1337; -}