On a related note, it's also a pity that Reggae mixes incremental build improvements (from which DUB itself could greatly profit, too - just as a Ninja generator for DUB would be a nice feature) with a separate, layered build description. I mean there is of course no reason to not have alternative approaches for build descriptions available in general, but when mixed with a public package repository, it just leads to fragmentation.

I can add a ninja generator to dub if you want, with the default being per-package compilation (since right now for dub it's one file or everything at once).

But I wrote reggae because:

1. Declarative is preferable but imperative is needed. My (our?) favourite imperative language is D, so I want to specify builds in it.
2. I want a build tool that builds on dub but doesn't require it
3. I wanted it to make it easy to link with C and C++

As I've mentioned before, I know the kind of things I'd want to do with the build system if I had a large and complicated enough project, and I know I wouldn't be able to do it easily using dub alone. As I've also mentioned before, building with dub is just fine for most people.

I don't know if fragmentation would be an issue. The packages are still dub packages and I for one will use dub.json/sdl to list my dependencies even if reggae is actually generating the build.

Atila

Reply via email to