On Monday, 25 November 2019 at 15:27:10 UTC, Robert Schadek wrote:
On Monday, 25 November 2019 at 13:14:09 UTC, Sebastiaan Koppe
wrote:
The biggest thing for me would be incremental compilation. As
well as a dub build and test 'watch' mode to avoid scanning
the dependencies every time.
I think there are two levels to incremental compilation (IC).
1. File level IC. Meaning, if you have one file change, you
only recompile
all files that depend on that directly or transitively.
Finally, you relink.
This is the done already by reggae. Unfortunately, since every D
module is effectively a header, the number of files that need to
be recompiled is usually large, despite the fact that for most
changes the recompilation isn't actually necessary.
For 1. my goal with dud is to do that. My first target is to
emit ninja files.
That isn't going to work:
https://issues.dlang.org/show_bug.cgi?id=14188
reggae wraps dmd to act in a way that ninja can use. I'd also
suggest that writing more ninja emitting code when reggae already
does the job might be unnecessary.
The reason I stopped working on my own dub replacement is because
I needed to attach to "a real build system", and since I want to
rewrite reggae from scratch by building on the "Build Systems à
la carte" paper...