001package io.ebean.enhance.ant;
002
003import io.ebean.enhance.Transformer;
004
005/**
006 * A utility object to run transformation from a main method.
007 */
008public class MainTransform {
009
010  public static void main(String[] args) {
011
012    if (isHelp(args)) {
013      printHelp();
014      return;
015    }
016
017    String transformArgs = "debug=1";
018    String inDir = "./target/test-classes";
019    String pkg = "test";
020
021    if (args.length > 0) {
022      inDir = args[0];
023    }
024    if (args.length > 1) {
025      pkg = args[1];
026    }
027
028    if (args.length > 2) {
029      transformArgs = args[2];
030    }
031
032    ClassLoader cl = ClassLoader.getSystemClassLoader();
033
034    Transformer t = new Transformer(cl, transformArgs);
035
036    OfflineFileTransform ft = new OfflineFileTransform(t, cl, inDir);
037
038    ft.process(pkg);
039
040  }
041
042  private static void printHelp() {
043    System.out.println("Usage: [inputDirectory] [packages] [transformArguments]");
044  }
045
046  private static boolean isHelp(String[] args) {
047    for (int i = 0; i < args.length; i++) {
048      if (args[i].equalsIgnoreCase("help")) {
049        return true;
050      }
051      if (args[i].equalsIgnoreCase("-h")) {
052        return true;
053      }
054    }
055    return false;
056  }
057}