X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2FMain.java;h=d651d2e0042fc33527b14a31b5f1eeb0775a3184;hb=6298dcb6f74dd244ac8085d2470e2c31a02d3b50;hp=f57f787409082821f3c986f151963a8b7c587ec6;hpb=4a2fa09cacf11397bf00407edc2947c23967afeb;p=javainspect.git diff --git a/src/main/java/eu/svjatoslav/inspector/java/Main.java b/src/main/java/eu/svjatoslav/inspector/java/Main.java index f57f787..d651d2e 100644 --- a/src/main/java/eu/svjatoslav/inspector/java/Main.java +++ b/src/main/java/eu/svjatoslav/inspector/java/Main.java @@ -2,28 +2,38 @@ package eu.svjatoslav.inspector.java; import eu.svjatoslav.inspector.java.structure.ClassGraph; +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; + import static java.io.File.separator; import static java.lang.System.getProperty; +/** + * This class acts as a commandline interface for JavaInspect. + */ public class Main { - public static void main(String[] args) { - if (args.length == 0) { - System.err.println("usage: javainspect [PROJECT_DIR] [PACKAGE_GLOB] [GRAPH_NAME]"); - System.exit(1); - } + public static void main(String[] args) throws MalformedURLException, ClassNotFoundException { + CommandlineConfiguration commandlineConfiguration = new CommandlineConfiguration(args); + System.out.println("Commandline config validated"); + + File jarFile = commandlineConfiguration.jarFile.getValue(); + + URLClassLoader classLoader = new URLClassLoader( + new URL[]{jarFile.toURL()}, + commandlineConfiguration.getClass().getClassLoader()); + + Class classToLoad = Class.forName("eu.svjatoslav.sixth.e3d.gui.GuiComponent", true, classLoader); - String projectDir = args[0]; - String packageGlob = args[1]; - String graphName = args[2]; ClassGraph cg = new ClassGraph(); cg.setTargetDirectoryPath(getProperty("user.dir") + separator); - cg.addProject(projectDir); - cg.whitelistClassPattern(packageGlob); +// cg.addProject(projectDir); +// cg.whitelistClassGlob(packageGlob); cg.setKeepDotFile(true); - cg.generateGraph(graphName); - - System.exit(0); + cg.add(classToLoad); + cg.generateGraph(commandlineConfiguration.graphName.getValue()); } }