Compare commits

...

2 Commits

Author SHA1 Message Date
Juraj Kirchheim
0df9c28ace Release 0.17.6 2019-05-07 22:43:21 +02:00
Juraj Kirchheim
d90fb966d2 Add call to find main class. 2019-05-07 22:42:39 +02:00
4 changed files with 36 additions and 12 deletions

View File

@@ -1,20 +1,20 @@
{
"name": "tink_macro",
"license": "MIT",
"description": "The macro toolkit ;)",
"classPath": "src",
"dependencies": {
"tink_core": ""
},
"url": "http://haxetink.org/tink_macro",
"contributors": [
"back2dos"
],
"version": "0.17.6",
"releasenote": "Add call to find main class.",
"tags": [
"tink",
"macro",
"utility"
],
"classPath": "src",
"description": "The macro toolkit ;)",
"contributors": [
"back2dos"
],
"releasenote": "Various fixes",
"version": "0.17.5",
"url": "http://haxetink.org/tink_macro",
"dependencies": {
"tink_core": ""
}
"license": "MIT"
}

View File

@@ -29,6 +29,19 @@ typedef TypeResolution = Ref<Either<String, TypeDefinition>>;
class MacroApi {
static var MAIN_CANDIDATES = ['-main', '-x', '--run'];
static public function getMainClass():Option<String> {
var args = Sys.args();
for (c in MAIN_CANDIDATES)
switch args.indexOf(c) {
case -1:
case v: return Some(args[v+1]);
}
return None;
}
static var idCounter = 0;
@:noUsing static public inline function tempName(?prefix:String = 'tmp'):String

10
tests/Misc.hx Normal file
View File

@@ -0,0 +1,10 @@
import tink.MacroApi;
import haxe.unit.TestCase;
using tink.CoreApi;
class Misc extends TestCase {
function testMain() {
assertEquals('Run', MacroApi.getMainClass().force());
}
}

View File

@@ -12,6 +12,7 @@ class Run {
new Types(),
new Positions(),
new TypeMapTest(),
new Misc(),
];
#end
macro static function test() {