https://github.com/atilaneves/reggae

Ask, and ye shall receive:

Stick -version=minimal when building reggae itself (or use the minimal_bootstrap.sh in the repo) and reggae has no dependencies on anything. All it can do then is D builds and the only backend is the binary one. No dub support either.

Don't want to build reggae / dub run reggae / run it as a command-line tool? Run this:

REGGAE=/path/to/reggae/repo
rdmd -I/$REGGAE/src -I$REGGAE/payload -J$REGGAE/payload/reggae -version=reggaelib /path/to/your/reggaefile.d -b <backend> <project dir>

Now you have a build wherever you ran that from. Your build description... becomes reggae itself. To my surprise, you can add -version=minimal to that command line and it seems to work.

I know, I know, there're loads of flags there right now. It's the best I could come up with without even more massive amounts of refactoring. It's silly you still have to specify `-b binary` when you've built a version that doesn't know how to do anything else, but... them's the breaks right now.

I've only tried -version=reggaelib on a toy build system and reggae itself. But it "ourobourosed" nicely. So I'm assuming it works, but it might not. I was a bad programmer and only tested any of this manually.

-version=reggaelib only works if the `build` template mixin was used, which it probably always should. But... there's no change needed to any exiting build description, just -version=reggaelib (basically the template mixin expands to something else) and voila.

Atila

Reply via email to