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}