+ // Static Entry Point /////////////////////////////////////////////////////
+
+ public static void main(String[] args) {
+ String source = null, target = null;
+ String srcdir = null, blddir = null;
+
+ for (int i=0; i < args.length; i++) {
+ if (args[i].charAt(0) == '-') {
+ if (args[i].length() == 1) {
+ System.out.println("Illegal switch: -"); return; }
+ switch (args[i].charAt(1)) {
+ case '-':
+ if (args[i].equals("--help")) printHelp();
+ else System.out.println("Unknown switch: -");
+ return;
+ case 'd':
+ if (i == args.length - 1) {
+ System.out.println("Missing parameter: "+args[i]); return; }
+ blddir = args[++i];
+ break;
+ case 's':
+ if (i == args.length - 1) {
+ System.out.println("Missing parameter: "+args[i]); return; }
+ source = args[++i];
+ break;
+ case 't':
+ if (i == args.length - 1) {
+ System.out.println("Missing parameter: "+args[i]); return; }
+ target = args[++i];
+ break;
+ case 'h':
+ printHelp(); return;
+
+ }
+ } else srcdir = args[i];
+ }
+
+ Compiler c = new Compiler();
+ if (blddir != null) c.setBuildDir(blddir);
+ if (srcdir != null) c.setSourceDir(srcdir);
+ if (source != null) c.setSource(source);
+ if (target != null) c.setTarget(target);
+ c.compile();
+ }
+ private static void printHelp() {
+ System.out.println("Usage java -cp ... org.ibex.tool.Compiler <options> <source directory>");
+ System.out.println("Options:");
+ System.out.println(" -d <directory> Location for generated class files.");
+ System.out.println(" -s <release> Compile with specified source compatibility.");
+ System.out.println(" -t <release> Compile with specified class file compatibility.");
+ System.out.println(" -h or --help Print this message.");
+ System.out.println("");
+ }
+
+
+ // Compiler Interface /////////////////////////////////////////////////////
+