Note: This is a modified version of the haxex script created by @jasononeil
This version allows for specifying compiler args in your script. so you can include and use libraries like mcli
This is a tiny shell script that you can use to make scripting with Haxe very straight forward.
Using a straight #!/usr/bin/haxe doesn't work currently, as the Haxe compiler will have to be a little more clever about realising it is a shell script and that we wish to execute it. Maybe this will be native some day, for now, you can install the script below into /usr/bin/haxex
and then use that.
Installation: if you're using OS X El Capitan you'll probably need to put haxex in /usr/local/bin/
sudo nano /usr/bin/haxex
, paste the 'haxex' file in theresudo chmod +x /usr/bin/haxex
Usage:
#!/usr/bin/env haxex -debug @
class MyScript
{
public static function main()
{
trace('My Script is executing!');
#if debug
trace('with debug flag!');
#end
}
}
Running:
chmod +x MyScript.hx
./MyScript.hx
For the included HaxeScript:
haxelib install mcli
chmod +x HaxeScript.hx
./HaxeScript.hx [yourname] --loud
Pretty neat-o if you ask me.
What this script actually does:
- Replaces '@' with --run
- Gets rid of "./" at the start of filename
- Gets rid of the ".hx" at the end of filename
- Turns the "/" dir separators into "." package separators, in case your script is in a subpackage.
Limitations:
If your script is in the root package (has no package
statement at the top of the file), then you need to call it from the directory the script is in. If your script is in a sub-package, you need to call it from the root-level package. Easy rule of thumb: don't use packages, and call from the directory the script is in.