Newer
Older
ddhx / setup.d
#!rdmd

import std.process;
import std.string : stripRight;
import std.file : write;
import std.path : dirSeparator;

alias SEP = dirSeparator;

enum GITINFO_PATH = "src" ~ SEP ~ "gitinfo.d";

int main(string[] args) {
	final switch (args[1]) {
	case "version":
		auto describe = executeShell("git describe");
		if (describe.status)
			return describe.status;
		
		string ver = stripRight(describe.output);
		write(GITINFO_PATH,
		"// NOTE: This file was automatically generated.\n"~
		"module gitinfo;\n"~
		"enum GIT_DESCRIPTION = \""~ver~"\";");
		return 0;
	}
}