From 18604f7165b06d98263c50bf0fc046a9ae45af6b Mon Sep 17 00:00:00 2001 From: Diomidis Spinellis Date: Sat, 4 Feb 2006 23:03:31 +0000 Subject: [PATCH] Verbose output is enabled using the -verbose2 flag. --- doc/cd-opt.xml | 4 ++++ src/gr/spinellis/umlgraph/doclet/Options.java | 9 +++++++-- src/gr/spinellis/umlgraph/doclet/UmlGraph.java | 9 ++++++--- src/org/umlgraph/doclet/Options.java | 9 +++++++-- src/org/umlgraph/doclet/UmlGraph.java | 9 ++++++--- umlgraph.bat | 6 +++--- 6 files changed, 33 insertions(+), 13 deletions(-) diff --git a/doc/cd-opt.xml b/doc/cd-opt.xml index eb7f5f8..d9334ca 100644 --- a/doc/cd-opt.xml +++ b/doc/cd-opt.xml @@ -92,6 +92,10 @@ Disabled by default, since it does not work properly if there are multiple classes in the same source file (will add dependencies to every class in the source file). +
-verbose2
Will print on the standard output details regarding +the progress of graph generation. +(Note that -verbose is a javadoc option with a different meaning). +
-collpackages
Specify the classes that will be treated as containers for one to many relationships when inference is enabled. Matching is done using a non-anchored regular match. Empty by default. diff --git a/src/gr/spinellis/umlgraph/doclet/Options.java b/src/gr/spinellis/umlgraph/doclet/Options.java index b40fca1..86b5078 100644 --- a/src/gr/spinellis/umlgraph/doclet/Options.java +++ b/src/gr/spinellis/umlgraph/doclet/Options.java @@ -68,6 +68,7 @@ class Options implements Cloneable, OptionProvider { boolean inferRelationships; boolean inferDependencies; boolean useImports; + boolean verbose2; String inferRelationshipType; private Vector collPackages; @@ -102,6 +103,7 @@ class Options implements Cloneable, OptionProvider { inferRelationships = false; inferDependencies = false; useImports = false; + verbose2 = false; inferRelationshipType = "navassoc"; collPackages = new Vector(); } @@ -119,7 +121,7 @@ class Options implements Cloneable, OptionProvider { return clone; } - /** Most verbose output */ + /** Most complete output */ public void setAll() { showAttributes = true; showEnumerations = true; @@ -150,6 +152,7 @@ class Options implements Cloneable, OptionProvider { option.equals("-views") || option.equals("-inferrel") || option.equals("-useimports") || + option.equals("-verbose2") || option.equals("-inferdep")) return 1; @@ -178,7 +181,7 @@ class Options implements Cloneable, OptionProvider { return 0; } - /** Set the options based on a lingle option and its arguments */ + /** Set the options based on a single option and its arguments */ void setOption(String[] opt) { if(!opt[0].equals("-hide") && optionLength(opt[0]) > opt.length) { System.err.println("Skipping option '" + opt[0] + "', missing argument"); @@ -328,6 +331,8 @@ class Options implements Cloneable, OptionProvider { inferDependencies = false; } else if(opt[0].equals("-useimports")) { useImports = true; + } else if(opt[0].equals("-verbose2")) { + verbose2 = true; } else if(opt[0].equals("-!useimports")) { useImports = false; } else if (opt[0].equals("-collpackages")) { diff --git a/src/gr/spinellis/umlgraph/doclet/UmlGraph.java b/src/gr/spinellis/umlgraph/doclet/UmlGraph.java index 161035e..30cd02c 100644 --- a/src/gr/spinellis/umlgraph/doclet/UmlGraph.java +++ b/src/gr/spinellis/umlgraph/doclet/UmlGraph.java @@ -42,10 +42,11 @@ import com.sun.javadoc.RootDoc; public class UmlGraph { /** Entry point */ public static boolean start(RootDoc root) throws IOException { - System.out.println("UMLGraph doclet started"); Options opt = new Options(); opt.setOptions(root.options()); opt.setOptions(findUMLOptions(root)); + if (opt.verbose2) + System.out.println("UMLGraph doclet started"); View[] views = buildViews(opt, root); if(views == null) @@ -58,7 +59,8 @@ public class UmlGraph { } } - System.out.println("Class diagram generation complete"); + if (opt.verbose2) + System.out.println("Class diagram generation complete"); return true; } @@ -75,8 +77,9 @@ public class UmlGraph { * Builds and outputs a single graph according to the view overrides */ private static void buildGraph(RootDoc root, OptionProvider op) throws IOException { - System.out.println("Building " + op.getDisplayName()); Options opt = op.getGlobalOptions(); + if (opt.verbose2) + System.out.println("Building " + op.getDisplayName()); ClassDoc[] classes = root.classes(); ClassGraph c = new ClassGraph(root, op); diff --git a/src/org/umlgraph/doclet/Options.java b/src/org/umlgraph/doclet/Options.java index b40fca1..86b5078 100644 --- a/src/org/umlgraph/doclet/Options.java +++ b/src/org/umlgraph/doclet/Options.java @@ -68,6 +68,7 @@ class Options implements Cloneable, OptionProvider { boolean inferRelationships; boolean inferDependencies; boolean useImports; + boolean verbose2; String inferRelationshipType; private Vector collPackages; @@ -102,6 +103,7 @@ class Options implements Cloneable, OptionProvider { inferRelationships = false; inferDependencies = false; useImports = false; + verbose2 = false; inferRelationshipType = "navassoc"; collPackages = new Vector(); } @@ -119,7 +121,7 @@ class Options implements Cloneable, OptionProvider { return clone; } - /** Most verbose output */ + /** Most complete output */ public void setAll() { showAttributes = true; showEnumerations = true; @@ -150,6 +152,7 @@ class Options implements Cloneable, OptionProvider { option.equals("-views") || option.equals("-inferrel") || option.equals("-useimports") || + option.equals("-verbose2") || option.equals("-inferdep")) return 1; @@ -178,7 +181,7 @@ class Options implements Cloneable, OptionProvider { return 0; } - /** Set the options based on a lingle option and its arguments */ + /** Set the options based on a single option and its arguments */ void setOption(String[] opt) { if(!opt[0].equals("-hide") && optionLength(opt[0]) > opt.length) { System.err.println("Skipping option '" + opt[0] + "', missing argument"); @@ -328,6 +331,8 @@ class Options implements Cloneable, OptionProvider { inferDependencies = false; } else if(opt[0].equals("-useimports")) { useImports = true; + } else if(opt[0].equals("-verbose2")) { + verbose2 = true; } else if(opt[0].equals("-!useimports")) { useImports = false; } else if (opt[0].equals("-collpackages")) { diff --git a/src/org/umlgraph/doclet/UmlGraph.java b/src/org/umlgraph/doclet/UmlGraph.java index 161035e..30cd02c 100644 --- a/src/org/umlgraph/doclet/UmlGraph.java +++ b/src/org/umlgraph/doclet/UmlGraph.java @@ -42,10 +42,11 @@ import com.sun.javadoc.RootDoc; public class UmlGraph { /** Entry point */ public static boolean start(RootDoc root) throws IOException { - System.out.println("UMLGraph doclet started"); Options opt = new Options(); opt.setOptions(root.options()); opt.setOptions(findUMLOptions(root)); + if (opt.verbose2) + System.out.println("UMLGraph doclet started"); View[] views = buildViews(opt, root); if(views == null) @@ -58,7 +59,8 @@ public class UmlGraph { } } - System.out.println("Class diagram generation complete"); + if (opt.verbose2) + System.out.println("Class diagram generation complete"); return true; } @@ -75,8 +77,9 @@ public class UmlGraph { * Builds and outputs a single graph according to the view overrides */ private static void buildGraph(RootDoc root, OptionProvider op) throws IOException { - System.out.println("Building " + op.getDisplayName()); Options opt = op.getGlobalOptions(); + if (opt.verbose2) + System.out.println("Building " + op.getDisplayName()); ClassDoc[] classes = root.classes(); ClassGraph c = new ClassGraph(root, op); diff --git a/umlgraph.bat b/umlgraph.bat index 68633ae..13b83e9 100755 --- a/umlgraph.bat +++ b/umlgraph.bat @@ -1,15 +1,15 @@ -@echo off +rem @echo off rem Run UMLGraph on the specified base file name rem $Id$ if not "%2" == "" goto ok -echo usage: umlgraph base_file_name filetype +echo usage: umlgraph base_file_name filetype [umlgraph arguments] goto end :ok -javadoc -docletpath lib/UmlGraph.jar -doclet gr.spinellis.umlgraph.doclet.UmlGraph -private -output %1.dot %1.java +javadoc -docletpath lib/UmlGraph.jar -doclet gr.spinellis.umlgraph.doclet.UmlGraph -private %3 %4 %5 %6 %7 %8 %9 -output %1.dot %1.java dot -T%2 -o%1.%2 %1.dot :end