Hello,

As our components are mainly low level libraries, they target
developers. I wonder if we could add some basic UML diagrams for some
elements.

I know such diagrams are a pain to maintain, so I have looked at
something really simple, with the goal to only display a few core elements.

I have found plantuml <http://plantuml.sourceforge.net/index.html> to be
almost a perfect fir for this goal. It can be used from the command
line, it can be used with eclipse, it can be used with Maven (see
<https://github.com/jeluard/maven-plantuml-plugin>).

Here are some diagrams I have made for [math]:
<http://people.apache.org/~luc/plantuml-apache-commons-math/>. There are
also other diagrams I have made for Orekit, which aslo show some
sequence diagrams:
<https://www.orekit.org/static/architecture/propagation.html>.

I would like to add such diagrams to our documentation, for example by
adding a "design" directory under "src/site" for holding the .puml text
files that depict the diagrams, and generating the png images under
target/site/images. This can be done by adding the following plugin
definition to the pom, in the build section:

      <plugin>
        <groupId>com.github.jeluard</groupId>
        <artifactId>maven-plantuml-plugin</artifactId>
        <version>7876</version>
        <configuration>
          <sourceFiles>
            <directory>${basedir}</directory>
            <includes>
              <include>
                src/site/design/*.puml
              </include>
            </includes>
          </sourceFiles>
          <outputDirectory>
            ${basedir}/target/site/images/design
          </outputDirectory>
        </configuration>
        <executions>
          <execution>
            <phase>pre-site</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>net.sourceforge.plantuml</groupId>
            <artifactId>plantuml</artifactId>
            <version>7930</version>
          </dependency>
        </dependencies>
      </plugin>

I don't know however if this runs everywhere, as I guess plantuml itself
has a hidden dependency to graphviz.

I have two questions. Could someone check if the maven integration runs
by itself on a pristine computer with nothing special installed (i.e.
without having graphviz pre-installed) ? What do you think about adding
such feature, either with an automatic generation of images or with the
images pre-generated by our own build tools and included (together with
their source script) in the distribution archive?

best regards,
Luc

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to