Add ability to create runnable jar file from lua script with sample build file build-app.xml

This commit is contained in:
James Roseborough
2012-10-02 07:00:17 +00:00
parent 497a9f2346
commit 7b6381c352
13 changed files with 182 additions and 22 deletions

View File

@@ -37,7 +37,7 @@ import org.luaj.vm2.luajc.LuaJC;
* Compiler for lua files to compile lua sources or lua binaries into java classes.
*/
public class luajc {
private static final String version = Lua._VERSION + "Copyright (C) 2009 luaj.org";
private static final String version = Lua._VERSION + " Copyright (C) 2012 luaj.org";
private static final String usage =
"usage: java -cp luaj-jse.jar,bcel-5.2.jar luajc [options] fileordir [, fileordir ...]\n" +
@@ -46,6 +46,7 @@ public class luajc {
" -s src source directory\n" +
" -d dir destination directory\n" +
" -p pkg package prefix to apply to all classes\n" +
" -m generate main(String[]) function for JSE\n" +
" -r recursively compile all\n" +
" -l load classes to verify generated bytecode\n" +
" -v verbose\n";
@@ -57,6 +58,7 @@ public class luajc {
private String srcdir = null;
private String destdir = null;
private boolean genmain = false;
private boolean recurse = false;
private boolean verbose = false;
private boolean loadclasses = false;
@@ -96,6 +98,9 @@ public class luajc {
usageExit();
pkgprefix = args[i];
break;
case 'm':
genmain = true;
break;
case 'r':
recurse = true;
break;
@@ -113,7 +118,7 @@ public class luajc {
if ( verbose ) {
System.out.println(version);
System.out.println("srcdir: "+srcdir);
System.out.println("destdir: "+srcdir);
System.out.println("destdir: "+destdir);
System.out.println("files: "+seeds);
System.out.println("recurse: "+recurse);
}
@@ -192,7 +197,7 @@ public class luajc {
// create the chunk
FileInputStream fis = new FileInputStream( inf.infile );
final Hashtable t = LuaJC.getInstance().compileAll(fis, inf.luachunkname, inf.srcfilename);
final Hashtable t = LuaJC.getInstance().compileAll(fis, inf.luachunkname, inf.srcfilename, genmain);
fis.close();
// write out the chunk