Files
lime/tools/helpers/NodeJSHelper.hx
2014-11-09 12:05:44 -08:00

61 lines
1.1 KiB
Haxe

package helpers;
import haxe.io.Path;
import project.Architecture;
import project.Haxelib;
import project.HXProject;
import project.Platform;
class NodeJSHelper {
public static function run (project:HXProject, modulePath:String, args:Array<String> = null):Void {
var suffix = switch (PlatformHelper.hostPlatform) {
case Platform.WINDOWS: "-windows.exe";
case Platform.MAC: "-mac";
case Platform.LINUX: "-linux";
default: return;
}
if (suffix == "-linux") {
if (PlatformHelper.hostArchitecture == Architecture.X86) {
suffix += "32";
} else {
suffix += "64";
}
}
var templatePaths = [ PathHelper.combine (PathHelper.getHaxelib (new Haxelib ("lime")), "templates") ].concat (project.templatePaths);
var node = PathHelper.findTemplate (templatePaths, "bin/node/node" + suffix);
if (PlatformHelper.hostPlatform != Platform.WINDOWS) {
Sys.command ("chmod", [ "+x", node ]);
}
if (args == null) {
args = [];
}
args.unshift (Path.withoutDirectory (modulePath));
ProcessHelper.runCommand (Path.directory (modulePath), node, args);
}
}