#!/usr/bin/env dub
/+ dub.sdl:
	name "bootstrap"
	dependency "scriptlike" version="~>0.10.2"
	dependency "dxx" version="~master"
+/
module bootstrap;

private import std.stdio;
private import std.path;
private import std.getopt;
private import scriptlike;

private import dxx.sys.appcmd;

enum projectPath = ".";
enum reggaeTarget = "binary";

enum upgradePaths = [ projectPath,"examples/basic","tool" ];

void main() {
    //tryRun("git pull");
    //Path(projectPath ~ "/dub.selections.json").tryRemove;
    //Path(projectPath).tryRun(_dub ~ " upgrade");
    upgradePaths.each!(a=>Path(a ~ "/dub.selections.json").tryRemove);
    upgradePaths.each!(a=>Path(a).tryRun(_dub ~ " upgrade"));
    tryRun(_dub ~ " fetch gen-package-version");
    tryRun(_dub~ " run gen-package-version "  ~ dubopt ~ " -- --src="~projectPath~"/source dxx");
    version(Posix)enum buildExe = "build";
    version(Windows)enum buildExe = "build.exe";
    Path(projectPath ~ "/" ~ buildExe).tryRemove();
    Path(projectPath).tryRun(_dub ~ " run reggae " ~ dubopt ~ " -- -b "~reggaeTarget);
    //tryRun(_rdmd ~ dmdopt ~ " ./generate.d");
}