dspinellis / umlgraph Goto Github PK
View Code? Open in Web Editor NEWDeclarative specification and drawing of UML diagrams
Home Page: http://www.spinellis.gr/umlgraph
License: BSD 3-Clause "New" or "Revised" License
Declarative specification and drawing of UML diagrams
Home Page: http://www.spinellis.gr/umlgraph
License: BSD 3-Clause "New" or "Revised" License
Hi,
Hi, I can see the version 5.7.2 on maven-repository website but the download fails. Actually it appears that the directory for version 5.7.2 is missing since there is 404 error on the expected url.
Thanks anyway, very useful tool :)
PS: your tool to find greek names is quite impressive !
Hi,
Nice tool!
But when I execute this in maven project on Travis, I always have this issues during the generation of the javadoc :
Warning, could not find a line that matches the pattern '(Class|Interface|Enum) Gpio.*'.
Class diagram reference not inserted
See the build #135 in me repository : https://travis-ci.org/ericpinet/ConnectLife
I setup the UMLGraph with maven like this:
<!-- Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<excludePackageNames>com.connectlife.test</excludePackageNames>
<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
<docletArtifact>
<groupId>org.umlgraph</groupId>
<artifactId>doclet</artifactId>
<version>5.1</version>
</docletArtifact>
<additionalparam>-all -view -views</additionalparam>
<useStandardDocletOptions>true</useStandardDocletOptions>
</configuration>
</plugin>
Why the pattern is not match? The javadoc plugin version isn't compatible with this doclet?
[javac] /builddir/build/BUILD/UMLGraph-R5_7_2/src/main/java/org/umlgraph/doclet/UmlGraphDoc.java:22: error: package com.sun.tools.doclets.standard is not visible
[javac] import com.sun.tools.doclets.standard.Standard;
[javac] ^
[javac] (package com.sun.tools.doclets.standard is declared in module jdk.javadoc, which does not export it)
No, com.sun.tools.doclets.standard.Standard class is deprecated as of Java 9 and was removed in Java 11.
See: https://docs.oracle.com/javase/9/docs/api/com/sun/tools/doclets/standard/Standard.html
According to this SO answer "Tools.jar was removed in JDK 9.
JEP 220 removed the well-known and frequently-referenced JARs rt.jar and tools.jar. According to it's description, "The class and resource files previously stored in lib/rt.jar, lib/tools.jar, lib/dt.jar, and various other internal jar files will now be stored in a more efficient format in implementation-specific files in the lib directory."
Java now recommends that custom tags have a period in them. Could prepend umlgraph.
or ug.
.
Since Graphviz supports clusters, it would be great if UMLGraph could show classes as belonging to packages. For example, when I have a project that extends classes in a library, it would be very useful to be able to put that library's classes inside of a box.
I can't get UMLGraph to work in Java 1.8.
No right CSS files generated to Javadocs with UML.
The latest version of umlgraph on Mavencentral appears to be 5.6.6:
https://mvnrepository.com/artifact/org.umlgraph/umlgraph
It would be good to have the latest version available as a managed dependency via maven, jcenter, etc.
As workaround, I am currently considering to use the auto-compiled version from https://jitpack.io/#dspinellis/UMLGraph - a pretty interesting idea, to have a service that can automatically build jars for github software. But I'd rather have a signed version in a repository like maven.
I'd love to see a recent version of UMLGraph in maven central, for UMLGraph 5.1 is not compatible with Java 7.
The options to infer relationships from Java code (-inferdep -inferrel) need some enhancements:
I plan to take this on. Any suggestions welcome.
Instead of having a separate class, can we use package-info instead?
With Java 8 on Fedora 25 and 26, I get for ant test:
[…]
[java] UmlGraphDoc version 5.7.2, altering javadocs
[java] Building Package view for package gr.spinellis.invoice
[java] UMLDoc test: warning - Error!
[java] UMLDoc test: warning - java.lang.Error: generic is not a supported OS platform.
[java] 2 warnings
[java] java.lang.Error: generic is not a supported OS platform.
[java] at java.lang.UNIXProcess$Platform.get(UNIXProcess.java:164)
[java] at java.lang.UNIXProcess.<clinit>(UNIXProcess.java:168)
[java] at java.lang.ProcessImpl.start(ProcessImpl.java:130)
[java] at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
[java] at java.lang.Runtime.exec(Runtime.java:620)
[java] at java.lang.Runtime.exec(Runtime.java:485)
[java] at org.umlgraph.doclet.UmlGraphDoc.runGraphviz(UmlGraphDoc.java:144)
[java] at org.umlgraph.doclet.UmlGraphDoc.generatePackageDiagrams(UmlGraphDoc.java:99)
[java] at org.umlgraph.doclet.UmlGraphDoc.start(UmlGraphDoc.java:67)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] at java.lang.reflect.Method.invoke(Method.java:498)
[java] at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:310)
[java] at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:189)
[java] at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:366)
[java] at com.sun.tools.javadoc.Start.begin(Start.java:219)
[java] at com.sun.tools.javadoc.Start.begin(Start.java:205)
[java] at com.sun.tools.javadoc.Main.execute(Main.java:162)
[java] at org.umlgraph.test.UmlDocTest.runDoclet(UmlDocTest.java:155)
[java] at org.umlgraph.test.UmlDocTest.runTest(UmlDocTest.java:77)
[java] at org.umlgraph.test.UmlDocTest.main(UmlDocTest.java:57)
[java] Exception in thread "main" java.io.FileNotFoundException: /home/builder/fedora-scm/umlgraph/UMLGraph-R5_7_2/testdata/umldoc-out/gr/spinellis/invoice/Customer.dot (No such file or directory)
[java] at java.io.FileInputStream.open0(Native Method)
[java] at java.io.FileInputStream.open(FileInputStream.java:195)
[java] at java.io.FileInputStream.<init>(FileInputStream.java:138)
[java] at java.io.FileReader.<init>(FileReader.java:72)
[java] at org.umlgraph.test.DotDiff.readGraphLines(DotDiff.java:130)
[java] at org.umlgraph.test.DotDiff.<init>(DotDiff.java:58)
[java] at org.umlgraph.test.TestUtils.dotFilesEqual(TestUtils.java:99)
[java] at org.umlgraph.test.UmlDocTest.compareDocletOutputs(UmlDocTest.java:120)
[java] at org.umlgraph.test.UmlDocTest.compareDocletOutputs(UmlDocTest.java:118)
[java] at org.umlgraph.test.UmlDocTest.compareDocletOutputs(UmlDocTest.java:118)
[java] at org.umlgraph.test.UmlDocTest.compareDocletOutputs(UmlDocTest.java:118)
[java] at org.umlgraph.test.UmlDocTest.runTest(UmlDocTest.java:79)
[java] at org.umlgraph.test.UmlDocTest.main(UmlDocTest.java:57)
[java] Java Result: 1
Possible input formats:
For the output see http://en.wikipedia.org/wiki/UML_state_machine
Sorry for the basic question. I want to specify an example or default value for an attribute, something like:
class EA {
String code "asdf";
}
How do I do this?
Hi, i want to build an maven artifact from the current HEAD, but it doesnt seem to work.
I couldn't find any documentation how to do the maven build so i tried to figure out by reading the make- and pom-file.
I runned "ant pom" first and "mvn package" then. But the resulting file ("target/umlgraph-5.6.4-SNAPSHOT.jar") doesn't have any classes. The problem is, that the source lies directly under src but maven expects it on src/main/java.
I think can fix this by myself and may issue an pull request after that if you want. But therefore i want let you know about this bug.
Kind Regards,
Michael
When generating graphs in JavaDoc, the doclet automatically makes the graphs scale with the window. On large graphs, this renders them almost useless since the window cannot be scaled large enough to see anything. Is there an option to stop the SVG from scaling to the screen size and allow scrolling instead?
When running UMLGraph using Maven plugin, errors are generated for the UMLGraph annotations. For the fix, see http://stackoverflow.com/questions/8653128/is-there-any-alternative-for-anotations-and-comments-in-umlgraph second answer on specifying tags in plugin. Add it to documentation.
The context diagram gets very cluttered when all the classes show all of the attributes and operations, and draw focus away from the primary class. Hide all of the additional information for the other classes.
I'm running into some cases where dot is failing to render graphs and in some cases, it actually causes javadocs to fail completely for a module. As a work around I've experimented with using graphiz's sfdp and have had some luck.
question, is there some mechanism I can use to increase the logging in order to identify the root cause of the failure.
finally is the output of sfdp the same output as dot? I have a branch whipped up that will run dot and if it fails, run sfdp before giving up. Is this the right approach? Edit: I can open a PR for this
The tags for noting the relationships between a class and other classes must be defined in the comment for the class. It would be more convenient if they could be declared on the comments for each method instead, since it is closer to the actual code that contains the dependency. All the tags across all methods would then be collected for the entire class.
Not sure if this can be done with javadoc, but it would be really nice to have.
I am trying to install the software according to instructions in README.txt file. I am facing an issue when I try to follow this step:
-To compile the Java doclet from the source code run ant on the build.xml file.
So, basically I run "ant built.xml" command but I am getting the below error:
Buildfile: /UMLGraph-5.7_2.32-SNAPSHOT/build.xml
[echo] git describe --abbrev=6 => 'version'
BUILD FAILED
/UMLGraph-5.7_2.32-SNAPSHOT/build.xml:50: The following error occurred while executing this line:
/UMLGraph-5.7_2.32-SNAPSHOT/build.xml:27: exec returned: 128
I tried to find out what's "exec returned:128" stands for with no success. However, the line 27 in build.xml file has to do with the version from git. Unfortunately, the link which is inside comments in line 20 of the build.xml file is broken and even though I searched about that issue I couldn't find something useful.
When I run the command "git describe" or "git describe --abbrev=6", I am getting:
fatal: No names found, cannot describe anything.
With a little research I found a post that says "This is caused because git rev-list --tags --max-count=1 is not returning any tags. The expected behavior is that, the build must not terminate when the repository does not have any tag yet."
I am not a git expert but I far as I can understand maybe the repository has not any tags and that causes the error.
The source code requires fixing to remove numerous javadoc warnings.
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:132: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:132: warning: no @param for r
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:132: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:156: warning: no @param for s
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:156: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:187: warning: no @param for s
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:187: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:206: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:206: warning: no @param for s
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:206: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:231: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:239: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:239: warning: no @param for e
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:239: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:255: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:255: warning: no @param for p
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:255: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:266: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:266: warning: no @param for t
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:266: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:277: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:277: warning: no @param for t
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:277: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:293: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:293: warning: no @param for t
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:293: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:304: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:304: warning: no @param for fd
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:325: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:325: warning: no @param for m
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:325: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:345: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:345: warning: no @param for m
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:345: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:370: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:404: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:404: warning: no @param for c
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:404: warning: no @param for align
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:416: warning: no @param for c
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:416: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:442: warning: no @param for s
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:442: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:460: warning: no @param for c
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:460: warning: no @param for rootClass
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:460: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:611: warning: no @param for c
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:611: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:625: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:625: warning: no @param for rt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:655: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:655: warning: no @param for rt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:655: warning: no @param for tailLabel
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:655: warning: no @param for label
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:655: warning: no @param for headLabel
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:685: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:685: warning: no @param for rt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:685: warning: no @param for tailLabel
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:685: warning: no @param for label
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:685: warning: no @param for headLabel
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:695: warning: no @param for c
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:695: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:707: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:718: warning: no @param for c
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:768: warning: no @param for root
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:806: warning: no description for @param
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:817: warning: no description for @param
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:819: warning: no @param for c
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:856: warning: no description for @param
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:869: warning: no @param for c
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:869: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:877: warning: no description for @param
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:879: warning: no @param for c
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:947: warning: no @param for <T>
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:947: warning: no @param for docs
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:947: warning: no @param for visibility
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:947: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1012: warning: no @param for name
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1012: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1021: warning: no @param for cd
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1021: warning: no @param for rootClass
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1021: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1085: warning: no @param for className
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1085: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1103: warning: no @param for className
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1103: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1117: warning: no description for @throws
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1197: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1211: warning: no @param for opt
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1242: warning: no description for @param
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1243: warning: no description for @param
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1244: warning: no description for @param
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1245: warning: no description for @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassGraph.java:1275: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassMatcher.java:32: warning: no @param for cd
[javadoc] src/main/java/org/umlgraph/doclet/ClassMatcher.java:32: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ClassMatcher.java:37: warning: no @param for name
[javadoc] src/main/java/org/umlgraph/doclet/ClassMatcher.java:37: warning: no @return
[javadoc] src/main/java/org/umlgraph/doclet/ContextMatcher.java:83: warning: no description for @param
[javadoc] src/main/java/org/umlgraph/doclet/ContextMatcher.java:102: warning: no description for @param
[javadoc] src/main/java/org/umlgraph/doclet/ContextMatcher.java:63: warning: no description for @throws
I'm getting a few build issues with JDK7.
cannot find package package com.sun.javadoc
I've verified that maven is resolving to the correct tools.jar
file but something else is still whacky. Anyone else run into this?
It seems to work fine on JDK8 though
We are using UMLGraph in our projet and we recently faced an issue with some modules not being documented because of a NullPointerException during the process of UML Graph generation.
What I saw during my investigations is that the field member collectionClassDoc is not properly initialized because root.classNamed("java.util.Collection") returns null in some cases where I don’t know the root cause.
So, it happen that the method ClassGraph.getInterfaceTypeArguments(ClassDoc iface, Type t) is called with the parameter iface set to null.
I didn’t get deep inside the issue but I found a workaround to fix it.
So I simply fixed the issue by replacing the line 975 of file ClassGraph.java :
if (iface.equals(t.asClassDoc())) {
by
if (iface != null && iface.equals(t.asClassDoc())) {
Is there a change you can integrate this fix in your next release so that I don’t use a forked version anymore?
The following applies to UMLGraph 5.6_6.1 SNAPSHOT with graphviz 2.34.zip
I had a problem with dot when running UMLGraph after I made a change to the output location. Since the change rendered longer paths to target and source I started suspecting a maximum path length problem with dot.
I made some changes in the function "runGraphviz" of the file UmlGraphDoc.java.
Basically the idea is to change working directory to where the files are and run dot there with no path prepended. It fixed the problem.
I'm lacking possibility to paste the full code here but this is a snippet:
private static void RunGraphViz(...) {
if(dotExecutable == null {
dotExecutable = "dot";
}
File outFolder = new File(outputFolder, packageName.replace(".", "/") + "/");
File dotFile = new File(name + ".dot");
File pngFile = new File(name + ".png");
File mapFile = new File(name + ".map");
ProcessBuilder pb = new ProcessBuilder(dotExecutable, "-Tcmapx", "-o", mapFile.getName(), "-Tpng", "-o", pngFile.getName(), dotFile.getName());
pb.directory(outFolder);
try {
Process p = pb.start();
.
.
.
<The rest of the function unchanged>
UML class diagrams can include '/' along with the visibility indicator for a class member; it would be great to have a way to specify this (perhaps a tag @derived)
The highest version on maven central is 5.1:
http://search.maven.org/#artifactdetails|org.umlgraph|doclet|5.1|jar
But 5.4 is almost out, so it would be nice to have a latest and greatest version on maven central.
More info on how to do that during every release:
https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
I found out that the problem mentioned on http://stackoverflow.com/a/24000453/1082681 is already fixed and answered the question accordingly. I think the original poster would be happy to get a bugfix release. Thank you.
Hi,
I'm seeing the following when building with Maven 3.5.4 and maven-javadoc-plugin 3.0.1 with Maven using Java 10.0.1 (on Linux Mint, dot - graphviz version 2.38.0 (20140413.2041)).
org.apache.maven.reporting.MavenReportException:
Exit code: 1 - javadoc: warning - The old Doclet and Taglet APIs in the packages
com.sun.javadoc, com.sun.tools.doclets and their implementations
are planned to be removed in a future JDK release. These
components have been superseded by the new APIs in jdk.javadoc.doclet.
Users are strongly recommended to migrate to the new APIs.
javadoc: error - invalid flag: -author
If I comment out the doclet then the build succeeds, so while I've github-searched this repo for 'author' and can find no relevant reference, the issue appears somewhere in here.
It's not a show-stopper for Maven users - if they use toolchains for their own code and set the Java version Maven uses to <= 1.9 then all's good. But JDK's have a limited shelf life these days.
Error message above is a strong indication of Oracle aggressive approach to advancing the platform while still purporting backwards compatibility - stuff that's been relied on for a decade or more, deprecated and then broken/borken rather too quickly.
In all seriousness, this doclet running in a Maven build, is the only reason I bother to generate JavaDoc. It's UML loveliness is widely spread (e.g. https://www.javadoc.io/doc/io.earcam.wrapped/com.sun.tools.attach/1.8.0_jdk8u172-b11 or even better https://static.javadoc.io/io.earcam.wrapped/jdk.compiler/1.8.132/com/sun/tools/javac/tree/package-summary.html large monitor required 😀)
Side note; regarding issue #46 - things have got a lot easier WRT Maven releases, I'd be more than happy to help resolve that issue and this.
Thank you 👍
As the title says, the class Version is missing in the current master. So building classes fails, because Version.VERSION is missing.
Inner classes don't seem to properly work for me. I've tried three different syntaxes, and gotten mostly two results: 1. an arrow for the outer class self-referencing itself, and 2. an arrow that is seemingly correct (with $ syntax) but the class isn't recognized, and it links to oracle instead.
Below is not a tested example.
/**
* @has - - - B <--- graph links A to A, not B.
* @has - - - A.B <-- graph links A to A, not B.
* @has - - - A$B <--- graph is okay, but links to java.
*/
public class A {
public class B {
}
}
P.S. "@opt nodecolor" also isn't working in the doclet.
I'm using below configuration
<groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven.javadoc.plugin.version}</version> <configuration> <aggregate>true</aggregate> <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet> <docletArtifact> <groupId>org.umlgraph</groupId> <artifactId>umlgraph</artifactId> <version>5.6</version> </docletArtifact>
The warning message coming while running mvn site is ..
[WARNING] Ensure that dot is in your path and that its path does not contain spaces [WARNING] java.io.IOException: Cannot run program "dot": CreateProcess error=2, The system cannot find the file specified [WARNING] at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047) [WARNING] at java.lang.Runtime.exec(Runtime.java:617) [WARNING] at java.lang.Runtime.exec(Runtime.java:485) [WARNING] at org.umlgraph.doclet.UmlGraphDoc.runGraphviz(UmlGraphDoc.java:144) [WARNING] at org.umlgraph.doclet.UmlGraphDoc.generateContextDiagrams(UmlGraphDoc.java:126) [WARNING] at org.umlgraph.doclet.UmlGraphDoc.start(UmlGraphDoc.java:68) [WARNING] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [WARNING] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [WARNING] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [WARNING] at java.lang.reflect.Method.invoke(Method.java:606) [WARNING] at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:280) [WARNING] at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:160) [WARNING] at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:397) [WARNING] at com.sun.tools.javadoc.Start.begin(Start.java:167) [WARNING] at com.sun.tools.javadoc.Main.execute(Main.java:59) [WARNING] at com.sun.tools.javadoc.Main.main(Main.java:49) [WARNING] Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
Looking for solution I found below link -
https://issues.apache.org/jira/browse/MJAVADOC-136
Is this the fix, if yes, how to use it with same 'mvn site' command?
Rather than javadoc doc tags, perhaps use custom annotations (since you're targetting JDK5+ anyway) that way we won't get warnings that the tag is unknown in javadoc and we can make it type safe.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.