On Tuesday, 30 June 2015 at 04:02:00 UTC, Maaaks wrote:
I want to make a simple build utility that will rebuild only
those files which changed since last build and those files that
depend on them.
Which is the easiest and yet reliable way to parse a D source
and find all imports in it (and file import()s as well)?
Here's a pull request to make rdmd do that:
https://github.com/D-Programming-Language/tools/pull/170
It uses regex over `dmd -deps`.
Be aware of the challenges:
Compiling source files separately is slower than passing them all
at once to the compiler. This is why for rdmd the idea is run dmd
once on all source files that need updating. Alas, dmd behaves a
little quirky then with regards to where template instantiations
go [1]. This is currently blocking the PR.
[1]
https://github.com/D-Programming-Language/tools/pull/170#issuecomment-112526734