forked from LeenkxTeam/LNXSDK
71 lines
1.8 KiB
Haxe
71 lines
1.8 KiB
Haxe
|
package kha;
|
||
|
|
||
|
import haxe.io.Path;
|
||
|
import sys.FileSystem;
|
||
|
|
||
|
class HaxelibRunner {
|
||
|
static function main() {
|
||
|
if (Sys.systemName() != "Windows") {
|
||
|
var tools = [
|
||
|
Path.join([Sys.getCwd(), "Tools", "nodejs", "node"]),
|
||
|
Path.join([Sys.getCwd(), "Tools", "kravur", "kravur"]),
|
||
|
Path.join([Sys.getCwd(), "Tools", "oggenc", "oggenc"]),
|
||
|
Path.join([Sys.getCwd(), "Kore", "Tools", "krafix", "krafix"]),
|
||
|
Path.join([Sys.getCwd(), "Kore", "Tools", "kraffiti", "kraffiti"])
|
||
|
];
|
||
|
for (tool in tools)
|
||
|
chmod(tool);
|
||
|
}
|
||
|
|
||
|
var io = Path.join([Sys.getCwd(), "Tools", "nodejs", "node" + sysExt()]);
|
||
|
|
||
|
var args = Sys.args();
|
||
|
args.unshift(Path.join([Sys.getCwd(), "Tools", "khamake", "khamake.js"]));
|
||
|
|
||
|
var project = Path.normalize(args.pop());
|
||
|
args.push("--from");
|
||
|
args.push(project);
|
||
|
args.push("--to");
|
||
|
args.push(Path.join([project, "build"]));
|
||
|
args.push("--haxe");
|
||
|
args.push(haxePath());
|
||
|
args.push("--kha");
|
||
|
args.push(Path.normalize(Sys.getCwd()));
|
||
|
|
||
|
if (Sys.systemName() == "Windows")
|
||
|
Sys.exit(Sys.command('"' + io + '"', args));
|
||
|
else
|
||
|
Sys.exit(Sys.command(io, args));
|
||
|
}
|
||
|
|
||
|
static function chmod(path: String): Void {
|
||
|
Sys.command("chmod", ["a+x", path + sysExt()]);
|
||
|
}
|
||
|
|
||
|
static function haxePath(): String {
|
||
|
var path = Sys.getEnv("HAXEPATH");
|
||
|
if (path == null) {
|
||
|
path = "/usr/local/lib/haxe";
|
||
|
if (!FileSystem.exists(path) || !FileSystem.isDirectory(path)) {
|
||
|
path = "/usr/lib/haxe";
|
||
|
}
|
||
|
}
|
||
|
return Path.normalize(path);
|
||
|
}
|
||
|
|
||
|
static function sysExt(): String {
|
||
|
switch (Sys.systemName()) {
|
||
|
case "Linux":
|
||
|
var process = new sys.io.Process("uname", ["-m"]);
|
||
|
var value = process.stdout.readAll().toString();
|
||
|
return "-linux" + (value.indexOf("64") != -1 ? "64" : "32");
|
||
|
case "Windows":
|
||
|
return ".exe";
|
||
|
case "Mac":
|
||
|
return "-osx";
|
||
|
default:
|
||
|
return "";
|
||
|
}
|
||
|
}
|
||
|
}
|