package; #if macro import haxe.macro.Context; import haxe.macro.Expr; #end class Meta { #if macro private static inline var VERSION:String = "version"; private static inline var BUILD:String = "build"; private static var data:Map = new Map(); #end macro static public function getBuild():ExprOf { return Context.makeExpr(data.get(BUILD), Context.currentPos()); } macro static public function getVersion():ExprOf { return Context.makeExpr(data.get(VERSION), Context.currentPos()); } macro static public function set(version:String) { data.set(BUILD, Date.now().toString()); data.set(VERSION, version); return macro {}; } }