You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/09/23 06:36:53 UTC

[isis] branch master updated: ISIS-2437: Tooling: add c4modeling (stubs)

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 0de92dd  ISIS-2437: Tooling: add c4modeling (stubs)
0de92dd is described below

commit 0de92dd240f4df8402e4d0d21843afa3ae742d0b
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Sep 23 08:36:42 2020 +0200

    ISIS-2437: Tooling: add c4modeling (stubs)
---
 tooling/c4modeling/README.adoc                     | 46 ++++++++++++++++++
 tooling/c4modeling/pom.xml                         | 56 ++++++++++++++++++++++
 .../main/java/org/apache/isis/tooling/c4/C4.java   | 23 +++++++++
 tooling/pom.xml                                    |  9 +++-
 4 files changed, 133 insertions(+), 1 deletion(-)

diff --git a/tooling/c4modeling/README.adoc b/tooling/c4modeling/README.adoc
new file mode 100644
index 0000000..8e3438f
--- /dev/null
+++ b/tooling/c4modeling/README.adoc
@@ -0,0 +1,46 @@
+= Tooling - C4 Modeling
+
+Allows for programmatic generation of C4 models. 
+
+NOTE: Uses https://structurizr.com/[structurizr]. Details on the _C4 Model_ can be found at https://c4model.com/[_c4model.com_].
+
+WARNING: This is work-in-progress, no official Maven artifacts are published yet at the time of writing.
+However, snapshots are available with our nightly-builds:
+https://github.com/apache-isis-committers/isis-nightly[]
+
+== Usage
+
+TODO
+
+[source,java]
+----
+//TODO
+----
+
+PlantUml syntax generated:
+
+[source]
+----
+TODO
+----
+
+which renders as
+
+TODO
+
+== Install
+
+Use Maven and our snapshot repository for a preview:
+https://github.com/apache-isis-committers/isis-nightly#maven[]
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.isis.tooling</groupId>
+    <artifactId>isis-tooling-c4modeling</artifactId>
+    <version>2.0.0-???</version>
+</dependency>
+----
+
+
+ 
\ No newline at end of file
diff --git a/tooling/c4modeling/pom.xml b/tooling/c4modeling/pom.xml
new file mode 100644
index 0000000..669f18f
--- /dev/null
+++ b/tooling/c4modeling/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+	license agreements. See the NOTICE file distributed with this work for additional 
+	information regarding copyright ownership. The ASF licenses this file to 
+	you under the Apache License, Version 2.0 (the "License"); you may not use 
+	this file except in compliance with the License. You may obtain a copy of 
+	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+	by applicable law or agreed to in writing, software distributed under the 
+	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+	OF ANY KIND, either express or implied. See the License for the specific 
+	language governing permissions and limitations under the License. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.isis.tooling</groupId>
+		<artifactId>isis-tooling</artifactId>
+		<version>2.0.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>isis-tooling-c4modeling</artifactId>
+
+	<name>Apache Isis Tooling - C4 Modeling</name>
+	<description>
+        Library for programmatic C4 Model generation. 
+        
+        See https://c4model.com/  
+    </description>
+
+	<properties>
+	</properties>
+
+	<dependencies>
+
+		<dependency>
+			<groupId>org.apache.isis.commons</groupId>
+			<artifactId>isis-commons</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>com.structurizr</groupId>
+			<artifactId>structurizr-core</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>com.structurizr</groupId>
+			<artifactId>structurizr-plantuml</artifactId>
+		</dependency>
+
+	</dependencies>
+
+</project>
+
+
diff --git a/tooling/c4modeling/src/main/java/org/apache/isis/tooling/c4/C4.java b/tooling/c4modeling/src/main/java/org/apache/isis/tooling/c4/C4.java
new file mode 100644
index 0000000..0930d28
--- /dev/null
+++ b/tooling/c4modeling/src/main/java/org/apache/isis/tooling/c4/C4.java
@@ -0,0 +1,23 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.tooling.c4;
+
+public class C4 {
+
+}
diff --git a/tooling/pom.xml b/tooling/pom.xml
index f19a007..2c14035 100644
--- a/tooling/pom.xml
+++ b/tooling/pom.xml
@@ -159,6 +159,12 @@
 				<version>${structurizr.version}</version>
 			</dependency>
 
+			<dependency>
+				<groupId>com.structurizr</groupId>
+				<artifactId>structurizr-plantuml</artifactId>
+				<version>${structurizr.version}</version>
+			</dependency>
+
 		</dependencies>
 	</dependencyManagement>
 
@@ -231,8 +237,9 @@
 	</dependencies>
 
 	<modules>
-		<module>javamodel</module>
+		<module>c4modeling</module>
 		<module>model4adoc</module>
+		<module>javamodel</module>
 		<module>projectmodel</module>
 
 		<!-- depends on all the others -->