diff --git a/pom.xml b/pom.xml
index c079319f..4dfcf2c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,7 +93,6 @@ limitations under the License.
- spring-modulith-sample
spring-modulith-integration-test
diff --git a/spring-modulith-docs/pom.xml b/spring-modulith-docs/pom.xml
index 8e1714d7..a08e797c 100644
--- a/spring-modulith-docs/pom.xml
+++ b/spring-modulith-docs/pom.xml
@@ -24,13 +24,6 @@
${project.version}
-
- ${project.groupId}
- spring-modulith-sample
- ${project.version}
- test
-
-
com.structurizr
structurizr-core
diff --git a/spring-modulith-integration-test/pom.xml b/spring-modulith-integration-test/pom.xml
index e61e139d..08772651 100644
--- a/spring-modulith-integration-test/pom.xml
+++ b/spring-modulith-integration-test/pom.xml
@@ -17,6 +17,12 @@
+
+ ${project.groupId}
+ spring-modulith-core
+ ${project.version}
+
+
${project.groupId}
spring-modulith-test
@@ -24,20 +30,28 @@
test
-
- ${project.groupId}
- spring-modulith-sample
- ${project.version}
- test
-
-
${project.groupId}
spring-modulith-docs
${project.version}
test
-
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+
+ org.jmolecules
+ jmolecules-events
+
+
+
+ org.springframework
+ spring-tx
+
+
org.springframework.boot
spring-boot-starter-test
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/Application.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/Application.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/Application.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/Application.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/complex/api/ComplexApiComponent.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/api/ComplexApiComponent.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/complex/api/ComplexApiComponent.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/api/ComplexApiComponent.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/complex/api/package-info.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/api/package-info.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/complex/api/package-info.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/api/package-info.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/complex/internal/ComplextInternalComponent.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/internal/ComplextInternalComponent.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/complex/internal/ComplextInternalComponent.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/internal/ComplextInternalComponent.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/complex/internal/FirstTypeBasedPort.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/internal/FirstTypeBasedPort.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/complex/internal/FirstTypeBasedPort.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/internal/FirstTypeBasedPort.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/complex/internal/SecondTypeBasePort.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/internal/SecondTypeBasePort.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/complex/internal/SecondTypeBasePort.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/internal/SecondTypeBasePort.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/complex/spi/ComplexSpiComponent.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/spi/ComplexSpiComponent.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/complex/spi/ComplexSpiComponent.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/spi/ComplexSpiComponent.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/complex/spi/package-info.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/spi/package-info.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/complex/spi/package-info.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/complex/spi/package-info.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/cycleA/CycleA.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/cycleA/CycleA.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/cycleA/CycleA.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/cycleA/CycleA.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/cycleB/CycleB.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/cycleB/CycleB.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/cycleB/CycleB.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/cycleB/CycleB.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/fieldinjected/WithFieldInjection.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/fieldinjected/WithFieldInjection.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/fieldinjected/WithFieldInjection.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/fieldinjected/WithFieldInjection.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/invalid/InvalidComponent.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/invalid/InvalidComponent.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/invalid/InvalidComponent.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/invalid/InvalidComponent.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/invalid2/InvalidModuleDependency.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/invalid2/InvalidModuleDependency.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/invalid2/InvalidModuleDependency.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/invalid2/InvalidModuleDependency.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/invalid2/package-info.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/invalid2/package-info.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/invalid2/package-info.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/invalid2/package-info.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/moduleA/ServiceComponentA.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleA/ServiceComponentA.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/moduleA/ServiceComponentA.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleA/ServiceComponentA.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/moduleA/SomeConfigurationA.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleA/SomeConfigurationA.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/moduleA/SomeConfigurationA.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleA/SomeConfigurationA.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/moduleA/SomeEventA.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleA/SomeEventA.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/moduleA/SomeEventA.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleA/SomeEventA.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/moduleB/ServiceComponentB.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleB/ServiceComponentB.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/moduleB/ServiceComponentB.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleB/ServiceComponentB.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/moduleB/SomeEventListenerB.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleB/SomeEventListenerB.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/moduleB/SomeEventListenerB.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleB/SomeEventListenerB.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/moduleB/internal/InternalComponentB.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleB/internal/InternalComponentB.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/moduleB/internal/InternalComponentB.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleB/internal/InternalComponentB.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/moduleB/internal/SupportingComponentB.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleB/internal/SupportingComponentB.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/moduleB/internal/SupportingComponentB.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleB/internal/SupportingComponentB.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/moduleC/ServiceComponentC.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleC/ServiceComponentC.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/moduleC/ServiceComponentC.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleC/ServiceComponentC.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/moduleC/package-info.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleC/package-info.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/moduleC/package-info.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/moduleC/package-info.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/stereotypes/Stereotypes.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/stereotypes/Stereotypes.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/stereotypes/Stereotypes.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/stereotypes/Stereotypes.java
diff --git a/spring-modulith-sample/src/main/java/com/acme/myproject/stereotypes/web/WebRepresentations.java b/spring-modulith-integration-test/src/main/java/com/acme/myproject/stereotypes/web/WebRepresentations.java
similarity index 100%
rename from spring-modulith-sample/src/main/java/com/acme/myproject/stereotypes/web/WebRepresentations.java
rename to spring-modulith-integration-test/src/main/java/com/acme/myproject/stereotypes/web/WebRepresentations.java
diff --git a/spring-modulith-sample/src/test/java/com/acme/myproject/ModulithTest.java b/spring-modulith-integration-test/src/test/java/com/acme/myproject/ModulithTest.java
similarity index 100%
rename from spring-modulith-sample/src/test/java/com/acme/myproject/ModulithTest.java
rename to spring-modulith-integration-test/src/test/java/com/acme/myproject/ModulithTest.java
diff --git a/spring-modulith-sample/src/test/java/com/acme/myproject/NonVerifyingModuleTest.java b/spring-modulith-integration-test/src/test/java/com/acme/myproject/NonVerifyingModuleTest.java
similarity index 100%
rename from spring-modulith-sample/src/test/java/com/acme/myproject/NonVerifyingModuleTest.java
rename to spring-modulith-integration-test/src/test/java/com/acme/myproject/NonVerifyingModuleTest.java
diff --git a/spring-modulith-sample/src/test/java/com/acme/myproject/complex/ComplexTest.java b/spring-modulith-integration-test/src/test/java/com/acme/myproject/complex/ComplexTest.java
similarity index 100%
rename from spring-modulith-sample/src/test/java/com/acme/myproject/complex/ComplexTest.java
rename to spring-modulith-integration-test/src/test/java/com/acme/myproject/complex/ComplexTest.java
diff --git a/spring-modulith-sample/src/test/java/com/acme/myproject/fieldinjected/FieldInjectedIntegrationTest.java b/spring-modulith-integration-test/src/test/java/com/acme/myproject/fieldinjected/FieldInjectedIntegrationTest.java
similarity index 100%
rename from spring-modulith-sample/src/test/java/com/acme/myproject/fieldinjected/FieldInjectedIntegrationTest.java
rename to spring-modulith-integration-test/src/test/java/com/acme/myproject/fieldinjected/FieldInjectedIntegrationTest.java
diff --git a/spring-modulith-sample/src/test/java/com/acme/myproject/moduleA/ModuleATest.java b/spring-modulith-integration-test/src/test/java/com/acme/myproject/moduleA/ModuleATest.java
similarity index 100%
rename from spring-modulith-sample/src/test/java/com/acme/myproject/moduleA/ModuleATest.java
rename to spring-modulith-integration-test/src/test/java/com/acme/myproject/moduleA/ModuleATest.java
diff --git a/spring-modulith-sample/src/test/java/com/acme/myproject/moduleB/ModuleBTest.java b/spring-modulith-integration-test/src/test/java/com/acme/myproject/moduleB/ModuleBTest.java
similarity index 100%
rename from spring-modulith-sample/src/test/java/com/acme/myproject/moduleB/ModuleBTest.java
rename to spring-modulith-integration-test/src/test/java/com/acme/myproject/moduleB/ModuleBTest.java
diff --git a/spring-modulith-sample/src/test/java/com/acme/myproject/moduleC/ModuleCTest.java b/spring-modulith-integration-test/src/test/java/com/acme/myproject/moduleC/ModuleCTest.java
similarity index 100%
rename from spring-modulith-sample/src/test/java/com/acme/myproject/moduleC/ModuleCTest.java
rename to spring-modulith-integration-test/src/test/java/com/acme/myproject/moduleC/ModuleCTest.java
diff --git a/spring-modulith-docs/src/test/java/org/springframework/modulith/docs/DocumenterTest.java b/spring-modulith-integration-test/src/test/java/org/springframework/modulith/docs/DocumenterTest.java
similarity index 100%
rename from spring-modulith-docs/src/test/java/org/springframework/modulith/docs/DocumenterTest.java
rename to spring-modulith-integration-test/src/test/java/org/springframework/modulith/docs/DocumenterTest.java
diff --git a/spring-modulith-observability/pom.xml b/spring-modulith-observability/pom.xml
index 0fcbe7fb..e1924749 100644
--- a/spring-modulith-observability/pom.xml
+++ b/spring-modulith-observability/pom.xml
@@ -59,7 +59,7 @@
micrometer-tracing
true
-
+
diff --git a/spring-modulith-sample/jqassistant/index.adoc b/spring-modulith-sample/jqassistant/index.adoc
deleted file mode 100644
index 643a034d..00000000
--- a/spring-modulith-sample/jqassistant/index.adoc
+++ /dev/null
@@ -1,79 +0,0 @@
-= Modulith
-
-== Overview
-
-include::jQA:Summary[]
-
-[[default]]
-[role=group,includesConcepts="modulith:ModuleDependencies,modulith:ModuleExposesType"]
-== Reports
-
-[[modulith:ModulithApplication]]
-[source,cypher,role=concept]
-.Classes annotated by `org.springframework.modulith.Modulith` are labeled with `Modulith` and `Application`.
-----
-MATCH
- (:Artifact)-[:CONTAINS]->(modulith:Type)-[:ANNOTATED_BY]->()-[:OF_TYPE]->(:Type{fqn:"org.springframework.modulith.Modulith"})
-SET
- modulith:Modulith:Application
-RETURN
- modulith as Modulith
-----
-
-[[modulith:Module]]
-[source,cypher,role=concept,requiresConcepts="modulith:ModulithApplication"]
-.Each package that is located within the same package as the Modulith application class is labeled with `Module`.
-----
-MATCH
- (root:Package)-[:CONTAINS]->(modulith:Modulith:Application),
- (root)-[:CONTAINS]->(module:Package)
-OPTIONAL MATCH
- (module)-[:CONTAINS]->(:Type{name:"package-info"})-[:ANNOTATED_BY]->(moduleInfo),
- (moduleInfo)-[:OF_TYPE]->(:Type{fqn:"org.springframework.modulith.Module"}),
- (moduleInfo)-[:HAS]->(displayName:Value{name:"displayName"})
-SET
- module:Module
-SET
- module.displayName = coalesce(displayName.value, module.name)
-RETURN
- module.displayName as Module
-ORDER BY
- Module
-----
-
-[[modulith:ModuleDependencies]]
-[source,cypher,role=concept,requiresConcepts="modulith:Module",reportType="plantuml-component-diagram"]
-.A dependency between two modules exists if there's a type dependency between both. The module dependency is represented by `DEPENDS_ON_MODULE` relationships having a `weight` property indicating the degree of coupling.
-----
-MATCH
- (module1:Module)-[:CONTAINS*]->(type1:Type),
- (module2:Module)-[:CONTAINS*]->(type2:Type),
- (type1)-[dependsOn:DEPENDS_ON]->(type2)
-WHERE
- module1 <> module2
-WITH
- module1, module2, count(dependsOn) as weight
-MERGE
- (module1)-[dependsOnModule:DEPENDS_ON_MODULE]->(module2)
-SET
- dependsOnModule.weight = weight
-RETURN
- module1, dependsOnModule, module2
-----
-
-[[modulith:ModuleExposesType]]
-[source,cypher,role=concept,requiresConcepts="modulith:ModuleDependencies"]
-.A type of a module is exposed if it is referenced at least once by a type in another module.
-----
-MATCH
- (module:Module)
-OPTIONAL MATCH
- (dependent:Module)-[:DEPENDS_ON_MODULE]->(module),
- (dependent)-[:CONTAINS*]->(dependentType:Type),
- (module)-[:CONTAINS*]->(type:Type),
- (dependentType)-[:DEPENDS_ON]->(type)
-RETURN
- module.displayName as Module, collect(type.fqn) as ExposedTypes
-ORDER BY
- Module
-----
diff --git a/spring-modulith-sample/pom.xml b/spring-modulith-sample/pom.xml
deleted file mode 100644
index 2a34533e..00000000
--- a/spring-modulith-sample/pom.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
- 4.0.0
-
-
- org.springframework.experimental
- spring-modulith
- 0.1.0-SNAPSHOT
- ../pom.xml
-
-
- Spring Modulith - Sample
- spring-modulith-sample
-
-
- org.springframework.modulith.sample
-
-
-
-
- jqa
-
-
-
- com.buschmais.jqassistant
- jqassistant-maven-plugin
- 1.8.0
-
-
- default-cli
-
- scan
- analyze
-
-
-
-
-
-
-
-
-
-
-
-
- ${project.groupId}
- spring-modulith-api
- ${project.version}
-
-
-
- ${project.groupId}
- spring-modulith-test
- ${project.version}
- test
-
-
-
- org.jmolecules
- jmolecules-events
-
-
-
- org.springframework.boot
- spring-boot-autoconfigure
-
-
-
- org.springframework
- spring-tx
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- junit
- junit
-
-
- org.junit.vintage
- junit-vintage-engine
-
-
-
-
-
- org.springframework.boot
- spring-boot-configuration-processor
- provided
-
-
-
-
-
diff --git a/spring-modulith-sample/src/test/resources/application.properties b/spring-modulith-sample/src/test/resources/application.properties
deleted file mode 100644
index b92adaf4..00000000
--- a/spring-modulith-sample/src/test/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-spring.main.banner-mode=OFF
diff --git a/spring-modulith-sample/src/test/resources/logback.xml b/spring-modulith-sample/src/test/resources/logback.xml
deleted file mode 100644
index 2646298a..00000000
--- a/spring-modulith-sample/src/test/resources/logback.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- %d %5p %40.40c:%4L - %m%n
-
-
-
-
-
-
-
-