-
-
Notifications
You must be signed in to change notification settings - Fork 889
Module Proposal
Migrating to Gradle would allow to split PlantUML in several modules to allow:
- simple handling of GPL only code
- easier reuse of modules
- nice dependency structure
Because plantuml.jar
is monolithic, most projects that make use of it simply copy the JARs instead of defining it as a dependency.
Proposed modules for the first refactored version:
plantuml-ant
plantuml-core
plantuml-ditaa
plantuml-smetana
plantuml-ui
For each module there should be a corresponding plantuml-MODULE-x.y.z
JAR, and for backward compatibility reasons,
a plantuml.jar
could be provided that includes all (but it's not published to Maven repos)
Depends on plantuml-core
and org.apache.ant
No dependencies and contains code that is APL compatible.
Depends on plantuml-core
and contains the GPL code. This JAR won't be APL compatible.
Depends on plantuml-core
and provide the Graphviz port. (Should be replaced with https://github.com/nidi3/graphviz-java ?)
Depends on plantuml-core
and provides the user interface (Swing based)
plantuml.jar
seems to depend indirectly on other libraries too, but because it makes use of reflection, they not required for the compilation step.
Dependencies:
-
org.apache.batik
: Maven ? -
ch.braincell.viz
: https://github.com/plantuml/vizjs ? -
net.sourceforge.jeuclid
: doesn't seem to be relevant. Only AsciiMathOld seems to use it but this class isn't used. -
org.scilab.forge.jlatexmath
: Maven
The sources of the following projects seems to be included directly in the source tree, instead of declaring them as a compile dependency:
-
src/org/stathissideris/ascii2image
instead of https://github.com/stathissideris/ditaa -
src/com/google/zxing
instead of https://github.com/zxing/zxing or Maven -
src/jcckit
? https://sourceforge.net/projects/jcckit/ (no Maven repo found) -
src/com/ctreber/acearth
? http://ctreber.com/projectACearth.html -
src/com/ctreber/aclib
? http://ctreber.com/projectAClib-ICO.html