Skip to content

Commit 1708f5e

Browse files
committed
GH-854 - Spring Modulith-native support for Javadoc usage in Application Module Canvases.
We now ship our own APT (included in the core starter) that automatically extracts the user code's Javadoc into a metadata file in generated-spring-modulith/javadoc.json. The documentation generation support picks up that file through SpringModulithDocumentationSource. Asciidoctor has been extended to make more use of the Javadoc where ever it renders a plain type.
1 parent 2a807cc commit 1708f5e

File tree

19 files changed

+1283
-49
lines changed

19 files changed

+1283
-49
lines changed

pom.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,18 @@
2020
<modules>
2121
<module>spring-modulith-actuator</module>
2222
<module>spring-modulith-api</module>
23+
<module>spring-modulith-apt</module>
2324
<module>spring-modulith-bom</module>
2425
<module>spring-modulith-core</module>
2526
<module>spring-modulith-docs</module>
2627
<module>spring-modulith-events</module>
28+
<module>spring-modulith-junit</module>
2729
<module>spring-modulith-moments</module>
2830
<module>spring-modulith-observability</module>
2931
<module>spring-modulith-runtime</module>
3032
<module>spring-modulith-starters</module>
3133
<module>spring-modulith-test</module>
32-
<module>spring-modulith-junit</module>
33-
</modules>
34+
</modules>
3435

3536
<properties>
3637

spring-modulith-apt/pom.xml

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<parent>
7+
<groupId>org.springframework.modulith</groupId>
8+
<artifactId>spring-modulith</artifactId>
9+
<version>1.3.0-SNAPSHOT</version>
10+
</parent>
11+
12+
<name>Spring Modulith - APT</name>
13+
<artifactId>spring-modulith-apt</artifactId>
14+
15+
<properties>
16+
<module.name>org.springframework.modulith.apt</module.name>
17+
</properties>
18+
19+
<dependencies>
20+
21+
<dependency>
22+
<groupId>io.toolisticon.aptk</groupId>
23+
<artifactId>aptk-tools</artifactId>
24+
<version>0.28.0</version>
25+
</dependency>
26+
27+
<dependency>
28+
<groupId>org.springframework.boot</groupId>
29+
<artifactId>spring-boot</artifactId>
30+
</dependency>
31+
32+
<dependency>
33+
<groupId>org.springframework.modulith</groupId>
34+
<artifactId>spring-modulith-docs</artifactId>
35+
<version>${project.version}</version>
36+
</dependency>
37+
38+
<dependency>
39+
<groupId>io.toolisticon.cute</groupId>
40+
<artifactId>cute</artifactId>
41+
<version>1.7.0</version>
42+
<scope>test</scope>
43+
</dependency>
44+
45+
<dependency>
46+
<groupId>org.junit.jupiter</groupId>
47+
<artifactId>junit-jupiter</artifactId>
48+
<scope>test</scope>
49+
</dependency>
50+
51+
<dependency>
52+
<groupId>org.assertj</groupId>
53+
<artifactId>assertj-core</artifactId>
54+
<scope>test</scope>
55+
</dependency>
56+
57+
<dependency>
58+
<groupId>com.jayway.jsonpath</groupId>
59+
<artifactId>json-path</artifactId>
60+
<scope>test</scope>
61+
</dependency>
62+
63+
</dependencies>
64+
65+
<build>
66+
<plugins>
67+
68+
<plugin>
69+
<groupId>org.apache.maven.plugins</groupId>
70+
<artifactId>maven-compiler-plugin</artifactId>
71+
<version>3.13.0</version>
72+
<executions>
73+
<execution>
74+
<id>default-compile</id>
75+
<configuration>
76+
<compilerArgument>-proc:none</compilerArgument>
77+
</configuration>
78+
</execution>
79+
</executions>
80+
</plugin>
81+
82+
<plugin>
83+
<groupId>org.apache.maven.plugins</groupId>
84+
<artifactId>maven-shade-plugin</artifactId>
85+
<version>3.6.0</version>
86+
<executions>
87+
<execution>
88+
<phase>package</phase>
89+
<goals>
90+
<goal>shade</goal>
91+
</goals>
92+
<configuration>
93+
94+
<artifactSet>
95+
<includes>
96+
<include>io.toolisticon.aptk:*</include>
97+
</includes>
98+
</artifactSet>
99+
100+
<relocations>
101+
<relocation>
102+
<pattern>io.toolisticon.aptk</pattern>
103+
<shadedPattern>org.springframework.modulith.aptk</shadedPattern>
104+
</relocation>
105+
</relocations>
106+
107+
<dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
108+
<minimizeJar>true</minimizeJar>
109+
110+
</configuration>
111+
</execution>
112+
</executions>
113+
</plugin>
114+
115+
<plugin>
116+
<groupId>org.apache.maven.plugins</groupId>
117+
<artifactId>maven-jar-plugin</artifactId>
118+
<version>3.3.0</version>
119+
<configuration>
120+
<archive>
121+
<manifestEntries>
122+
<Spring-Boot-Jar-Type>annotation-processor</Spring-Boot-Jar-Type>
123+
</manifestEntries>
124+
</archive>
125+
</configuration>
126+
</plugin>
127+
128+
</plugins>
129+
</build>
130+
131+
</project>

0 commit comments

Comments
 (0)