From 36b61ba677fdb42d00a926c5884603c2a2f42057 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hallvard=20Tr=C3=A6tteberg?= <hal@ntnu.no>
Date: Wed, 18 Nov 2020 10:24:18 +0000
Subject: [PATCH] support plantuml with graphviz

---
 .gitpod.Dockerfile                  |  3 +-
 todolist/asciidocs/docs/README.adoc | 76 ++++++++++++++++++++++++++++-
 todolist/asciidocs/pom.xml          | 27 +++++++++-
 todolist/restapi/pom.xml            | 27 ----------
 4 files changed, 103 insertions(+), 30 deletions(-)

diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile
index fe9337b..eb2f761 100644
--- a/.gitpod.Dockerfile
+++ b/.gitpod.Dockerfile
@@ -1,7 +1,8 @@
 FROM gitpod/workspace-full-vnc
-                    
+
 USER gitpod
 
+RUN sudo apt install graphviz
 RUN bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh \
              && sdk install java 14.0.2.j9-adpt \
              && sdk default java 14.0.2.j9-adpt"
diff --git a/todolist/asciidocs/docs/README.adoc b/todolist/asciidocs/docs/README.adoc
index f1928f4..9c85222 100644
--- a/todolist/asciidocs/docs/README.adoc
+++ b/todolist/asciidocs/docs/README.adoc
@@ -6,6 +6,80 @@ Denne modulen i todo-list-eksemplet inneholder dokumentasjon tenkt brukt som læ
 ikke vanlig doumentasjon rettet mot utviklere av den typen en forventer i tilsvarende prosjekter.
 
 Dokumentasjonen er skrevet med https://asciidoctor.org/[Asciidoctor] og
-bygget med image:images/maven-logo-black-on-white.png[Maven logo,60,link="https://maven.apache.org/"]
+bygget med image:maven-logo-black-on-white.png[Maven logo,60,link="https://maven.apache.org/"]
 
 == Introduksjon
+
+[plantuml]
+....
+component core {
+	package todolist.core
+	package todolist.json
+}
+
+component jackson {
+}
+
+todolist.json ..> jackson
+
+component fxutil {
+	package todolist.ui
+}
+
+component fxui {
+	package todolist.ui
+}
+
+
+todolist.ui ..> todolist.core
+todolist.ui ..> todolist.json
+
+component javafx {
+	component fxml {
+	}
+}
+
+fxui ..> javafx
+fxui ..> fxml
+fxui ..> fxutil
+
+component restapi {
+	package simpleex.restapi
+}
+
+todolist.restapi ..> todolist.core
+
+component jaxrs {
+}
+
+restapi ..> jaxrs
+
+component restserver {
+	package todolist.restserver
+}
+
+todolist.restserver ..> todolist.core
+todolist.restserver ..> todolist.json
+todolist.restserver ..> todolist.restapi
+
+component jersey {
+}
+
+component grizzly2 {
+}
+
+restserver ..> jersey
+restserver ..> grizzly2
+
+component "springboot/restserver" as springboot.restserver {
+	package todolist.springboot.restserver
+}
+
+todolist.springboot.restserver ..> todolist.core
+todolist.springboot.restserver ..> todolist.json
+
+component "spring boot" as springboot {
+}
+
+springboot.restserver ..> springboot
+....
diff --git a/todolist/asciidocs/pom.xml b/todolist/asciidocs/pom.xml
index d6ab33d..ceaa4b2 100644
--- a/todolist/asciidocs/pom.xml
+++ b/todolist/asciidocs/pom.xml
@@ -15,6 +15,13 @@
     <artifactId>asciidocs</artifactId>
     <version>0.0.1-SNAPSHOT</version>
 
+     <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <asciidoctor.maven.plugin.version>2.1.0</asciidoctor.maven.plugin.version>
+        <asciidoctorj.version>2.4.1</asciidoctorj.version>
+        <asciidoctorj.diagram.version>2.0.2</asciidoctorj.diagram.version>
+    </properties>
+
     <dependencies>
     </dependencies>
     <build>
@@ -22,11 +29,25 @@
             <plugin>
                 <groupId>org.asciidoctor</groupId>
                 <artifactId>asciidoctor-maven-plugin</artifactId>
-                <version>2.1.0</version>
+                <version>${asciidoctor.maven.plugin.version}</version>
                 <!-- 
                     <version>1.5.6</version>
                 -->
 
+                <dependencies>
+                    <!-- Comment this section to use the default AsciidoctorJ artifact provided by the plugin -->
+                    <dependency>
+                        <groupId>org.asciidoctor</groupId>
+                        <artifactId>asciidoctorj</artifactId>
+                        <version>${asciidoctorj.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.asciidoctor</groupId>
+                        <artifactId>asciidoctorj-diagram</artifactId>
+                        <version>${asciidoctorj.diagram.version}</version>
+                    </dependency>
+                </dependencies>
+
                 <configuration>
                     <sourceDirectory>docs</sourceDirectory>
                     <imagesDir>images</imagesDir>
@@ -35,6 +56,7 @@
                     <backend>html5</backend>
                     <sourceHighlighter>highlight.js</sourceHighlighter>
                     <attributes>
+                        <imagesdir>./images</imagesdir>
                         <toc>left</toc>
                         <sectnums>false</sectnums>
                         <project-version>${project.version}</project-version>
@@ -56,6 +78,9 @@
                             </includes>
                         </resource>
                     </resources>
+                    <requires>
+                        <require>asciidoctor-diagram</require>
+                    </requires>
                 </configuration>
 
                 <executions>
diff --git a/todolist/restapi/pom.xml b/todolist/restapi/pom.xml
index c87b650..f738f74 100644
--- a/todolist/restapi/pom.xml
+++ b/todolist/restapi/pom.xml
@@ -22,33 +22,6 @@
             <version>0.0.1-SNAPSHOT</version>
         </dependency>
 
-        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>2.11.2</version>
-        </dependency>
-        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>2.11.2</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-engine</artifactId>
-        </dependency>
-        <!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>jakarta.ws.rs</groupId>
             <artifactId>jakarta.ws.rs-api</artifactId>
-- 
GitLab