| |
| Posted by BoQsc in reply to BoQsc | PermalinkReply |
|
BoQsc
| Conclusive observation:
This can be resolved by informing dub of extraDependencyFiles to rebuild itself.
library.di non-existance simply does not trigger rebuild of the package and instead only library.lib is being copied from the cache folder into build folder. Leaving library.di not being generated.
if cache folder exists with a output file, it does not trigger build, only copies from the \cache 's \build folder. If build is not triggered, .di file is not being generated.
Observations:
-
Happens with dub.json as well.
-
Mostly .di stops generating after the first output of dub .
-
Making any text changes to content of dub.sdl triggers dub to rebuild package and generate.di
-
Deleting the cache output file will trigger to rebuild the package and generate .di
C:\Users\Windows10\AppData\Local\dub\cache\dheaders\~master\build
- After deleting
library.lib inside latest cache folder build : The .di starts to generate.
Solution:
> excludedSourceFiles Files that should be removed for the set of already added source files (takes precedence over "sourceFiles" and "sourcePaths") - Glob matching can be used to pattern match multiple files at once
Working example:
dub.sdl
name "dheaders"
description "generates .di header file for a static library."
authors "public domain"
copyright "Public Domain. No rights reserved."
license "public domain"
configuration "staticLibrary" {
dflags "-Hf=$PACKAGE_DIR/builds/library.di"
targetName "library"
targetType "library"
targetPath "builds"
sourceFiles "library.d"
extraDependencyFiles "$PACKAGE_DIR/builds/library.di"
}
|