package commands; class Compiler { public static function test(args:Array) { __build(args, ["test", getBuildTarget(), "-DTEST_BUILD"]); } public static function build(args:Array) { __build(args, ["build", getBuildTarget(), "-DTEST_BUILD"]); } public static function release(args:Array) { __build(args, ["build", getBuildTarget()]); } public static function testRelease(args:Array) { __build(args, ["test", getBuildTarget()]); } private static function __build(args:Array, arg:Array) { for (a in args) arg.push(a); arg = ['run', 'lime'].concat(arg); Sys.command("haxelib", arg); } public static function getBuildTarget() { return switch(Sys.systemName()) { case "Windows": "windows"; case "Mac": "macos"; case "Linux": "linux"; case def: def.toLowerCase(); } } }