Ubuntu PDF problem

0 votes
asked Apr 11, 2017 in Closed question / help by aronadaal (340 points)

Hey there,

we're using plantuml to generate our diagrams in our documents. The main development is done under Windows (Cygwin). Now I'm trying to set up a jenkins server that triggers the diagram/document generation.

We have all necessary files in one folder:

avalon-framework-4.2.0.jar

batik-all-1.7.jar

commons-io-1.3.1.jar

commons-logging-1.0.4.jar

fop.jar

org.eclipse.jgit-3.1.0.201310021548-r.jar

plantuml.jar

xml-apis-ext-1.3.04.jar

xmlgraphics-commons-1.4.jar

and our call is always the same:

java -cp <absolute-path-to-all-jars> net.sourceforge.plantuml.Run -failfast2 -nbtread auto -charset UTF-8 -o . -v -tpdf *.uml

Ubuntu output:

https://pastebin.com/50m0rK1E

Are my dependencies still up-to-date? There are newer version of batik available.

Thx & Bye,

aronadaal

3 Answers

0 votes
answered Apr 11, 2017 by aronadaal (340 points)
reshown Apr 12, 2017 by aronadaal

Ok, I tried further... The problem resides in the classpath. Linux doesn't accept a generic classpath like

-cp /path/*

I had to specify all jar files by hand. But the generation of one image takes a lot of time! More than on Windows and the Build-Server (Xeon powered) should be much faster! On windows  it only takes a few seconds. The graphic size seams to be much bigger (16KB vs 1.3MB).

This is the command:

java -Xmx1024m -classpath ./plantuml/batik-all-1.7.jar:./plantuml/avalon-framework-4.2.0.jar:./plantuml/plantuml.jar:./plantuml/fop.jar:./plantuml/commons-io-1.3.1.jar:./plantuml/commons-logging-1.0.4.jar:./plantuml/org.eclipse.jgit-3.1.0.201310021548-r.jar:./plantuml/xml-apis-ext-1.3.04.jar:./plantuml/xmlgraphics-commons-1.4.jar net.sourceforge.plantuml.Run -failfast2 -nbtread auto -charset UTF-8 -o . -v -tpdf *.uml

 

and the output:

https://pastebin.com/kHEny8G4

 

0 votes
answered Apr 11, 2017 by plantuml (294,960 points)
commented Apr 11, 2017 by aronadaal (340 points)
batik is running now, but I get a much bigger image (Windows: 16kb, Linux: 1,3MB) and the process takes about 50s. Any idea?

The output is linked in my answer above.
0 votes
answered Apr 12, 2017 by aronadaal (340 points)

Ok, I found the my bug and got a feature request for plantuml.

1) slow generation and bloated diagram

During my try and error to get rid of the java.lang.UnsupportedOperationException: PDF error I didn't use our DiagramStylesheet. I commented it out and forgot that there was an option skinparam componentStyle uml2 on which the test diagram heavly relies on. Having this option enabled the diagram size and compilation speed get back to normal.

2) cryptic expection

But where comes the exception from? This took my some time... far too much time! As mentioned above we use a custom Stylesheet with all our skinparams we need for diagram generation. I forgot to put this in the repository so the plantuml run failed. angry

Could you please add a verification step that looks after all included files (!include xyz)  before starting the compilation run? An useful error message would be really nice, in case that the included file(s) cannot be found.

Thx & bye,
aronadaal

 

commented Apr 13, 2017 by plantuml (294,960 points)
> Could you please add a verification step that looks after all included files
> (!include xyz)  before starting the compilation run
I think that this is happing if you use -failfast2 flag
Can you check it ?
commented Apr 18, 2017 by aronadaal (340 points)
yes, I'm using "-failfast2". Will plantuml make no check for includes when this option is used?
commented Apr 18, 2017 by plantuml (294,960 points)
1) We've build a new beta
https://www.dropbox.com/s/koo42q3d9gxw288/plantuml.jar?dl=0
that prints a useful error message when an included file cannot be found

2) I am wondering if *before* running PlantUML with -failfast2, you should not run it once with -checkonly flag. This would be quick verification step for you.
...