Newer
Older
ddhx / setup.d
@dd86k dd86k on 21 Dec 2022 637 bytes style: Braces on newline
#!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;
    }
}