001package io.ebean.enhance.ant; 002 003import io.ebean.enhance.Transformer; 004import io.ebean.enhance.common.EnhanceContext; 005 006/** 007 * A utility object to run transformation from a main method. 008 */ 009public class MainTransform { 010 011 public static void main(String[] args) { 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 final EnhanceContext enhanceContext = t.getEnhanceContext(); 038 if (enhanceContext.logLevel() > 0) { 039 System.out.println(enhanceContext.packagesSummary()); 040 } 041 042 ft.process(pkg); 043 } 044 045 private static void printHelp() { 046 System.out.println("Usage: [inputDirectory] [packages] [transformArguments]"); 047 } 048 049 private static boolean isHelp(String[] args) { 050 for (String arg : args) { 051 if (arg.equalsIgnoreCase("help")) { 052 return true; 053 } 054 if (arg.equalsIgnoreCase("-h")) { 055 return true; 056 } 057 } 058 return false; 059 } 060}