Skip to content

Commit 115c279

Browse files
committed
HV-2022 Update Javadoc generation
1 parent 2177243 commit 115c279

File tree

9 files changed

+404
-140
lines changed

9 files changed

+404
-140
lines changed

annotation-processor/pom.xml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,19 +90,6 @@
9090
<groupId>de.thetaphi</groupId>
9191
<artifactId>forbiddenapis</artifactId>
9292
</plugin>
93-
<plugin>
94-
<groupId>org.apache.maven.plugins</groupId>
95-
<artifactId>maven-javadoc-plugin</artifactId>
96-
<configuration>
97-
<links>
98-
<link>${java.api-docs.base-url}</link>
99-
<link>${bv.api-docs.base-url}</link>
100-
</links>
101-
<packagesheader>Hibernate Validator Annotation Processor Packages</packagesheader>
102-
<doctitle>Hibernate Validator Annotation Processor ${project.version}</doctitle>
103-
<windowtitle>Hibernate Validator Annotation Processor ${project.version}</windowtitle>
104-
</configuration>
105-
</plugin>
10693
<plugin>
10794
<artifactId>maven-jar-plugin</artifactId>
10895
<executions>

build/build-config/pom.xml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222

2323
<properties>
2424
<hibernate-validator-parent.path>../..</hibernate-validator-parent.path>
25+
26+
<tmpdir.dependencies-javadoc-packagelists>${project.build.directory}/dependencies-javadoc-packagelists</tmpdir.dependencies-javadoc-packagelists>
2527
</properties>
2628

2729
<build>
@@ -78,6 +80,15 @@
7880
<artifact>jakarta.persistence:jakarta.persistence-api</artifact>
7981
<failOnNotFound>true</failOnNotFound>
8082
</item>
83+
<!--
84+
We want to make sure that the value we store in the property matches
85+
the version that is imported from the Jakarta EE BOM
86+
-->
87+
<item>
88+
<property>${version.jakarta.el-api}</property>
89+
<artifact>jakarta.el:jakarta.el-api</artifact>
90+
<failOnNotFound>true</failOnNotFound>
91+
</item>
8192
</propertiesToCheck>
8293
</versionAlignRule>
8394
</rules>
@@ -92,6 +103,69 @@
92103
</dependency>
93104
</dependencies>
94105
</plugin>
106+
<plugin>
107+
<groupId>org.apache.maven.plugins</groupId>
108+
<artifactId>maven-dependency-plugin</artifactId>
109+
<executions>
110+
<!-- See https://maven.apache.org/plugins/maven-dependency-plugin/examples/unpacking-artifacts.html -->
111+
<execution>
112+
<id>unpack-dependencies-javadoc-packagelists</id>
113+
<phase>${javadoc.download.phase}</phase>
114+
<goals>
115+
<goal>unpack</goal>
116+
</goals>
117+
<configuration>
118+
<skip>${maven.javadoc.skip}</skip>
119+
<artifactItems>
120+
<artifactItem>
121+
<groupId>jakarta.validation</groupId>
122+
<artifactId>jakarta.validation-api</artifactId>
123+
<classifier>javadoc</classifier>
124+
<type>jar</type>
125+
<version>${version.jakarta.validation-api}</version>
126+
<outputDirectory>${tmpdir.dependencies-javadoc-packagelists}/validation-api</outputDirectory>
127+
</artifactItem>
128+
<artifactItem>
129+
<groupId>jakarta.el</groupId>
130+
<artifactId>jakarta.el-api</artifactId>
131+
<classifier>javadoc</classifier>
132+
<type>jar</type>
133+
<version>${version.jakarta.el-api}</version>
134+
<outputDirectory>${tmpdir.dependencies-javadoc-packagelists}/el-api</outputDirectory>
135+
</artifactItem>
136+
<artifactItem>
137+
<groupId>org.javamoney</groupId>
138+
<artifactId>moneta</artifactId>
139+
<classifier>javadoc</classifier>
140+
<type>jar</type>
141+
<version>${version.org.javamoney.moneta}</version>
142+
<outputDirectory>${tmpdir.dependencies-javadoc-packagelists}/javamoney-api</outputDirectory>
143+
</artifactItem>
144+
</artifactItems>
145+
<includes>package-list,element-list</includes>
146+
<overWriteSnapshots>true</overWriteSnapshots>
147+
</configuration>
148+
</execution>
149+
</executions>
150+
</plugin>
151+
<plugin>
152+
<artifactId>maven-assembly-plugin</artifactId>
153+
<executions>
154+
<execution>
155+
<id>package-dependencies-javadoc-packagelists</id>
156+
<goals>
157+
<goal>single</goal>
158+
</goals>
159+
<phase>package</phase>
160+
<configuration>
161+
<skipAssembly>${maven.javadoc.skip}</skipAssembly>
162+
<descriptors>
163+
<descriptor>src/main/assembly/dependencies-javadoc-packagelists.xml</descriptor>
164+
</descriptors>
165+
</configuration>
166+
</execution>
167+
</executions>
168+
</plugin>
95169
</plugins>
96170
</build>
97171

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
~ Hibernate Validator, declare and validate application constraints
4+
~
5+
~ License: Apache License, Version 2.0
6+
~ See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
7+
-->
8+
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
9+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
11+
<id>dependencies-javadoc-packagelists</id>
12+
<formats>
13+
<format>zip</format>
14+
</formats>
15+
16+
<includeBaseDirectory>false</includeBaseDirectory>
17+
<baseDirectory>/</baseDirectory>
18+
19+
<fileSets>
20+
<fileSet>
21+
<directory>target/dependencies-javadoc-packagelists</directory>
22+
<outputDirectory>.</outputDirectory>
23+
</fileSet>
24+
</fileSets>
25+
</assembly>

distribution/pom.xml

Lines changed: 12 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
<parent>
1111
<groupId>org.hibernate.validator</groupId>
12-
<artifactId>hibernate-validator-internal-parent</artifactId>
12+
<artifactId>hibernate-validator-public-parent</artifactId>
1313
<version>9.0.0-SNAPSHOT</version>
14-
<relativePath>../parents/internal/pom.xml</relativePath>
14+
<relativePath>../parents/public/pom.xml</relativePath>
1515
</parent>
1616

1717
<artifactId>hibernate-validator-distribution</artifactId>
@@ -24,7 +24,11 @@
2424
<maven.deploy.skip>true</maven.deploy.skip>
2525
<gpg.skip>true</gpg.skip>
2626
<maven.javadoc.skip>false</maven.javadoc.skip>
27-
<javadoc.additional.param></javadoc.additional.param>
27+
<!--
28+
Any javadoc warnings should've been caught already while the previous modules were built.
29+
Also see additional explanations on this property in the `hibernate-search-mapper-orm-jakarta-batch-core` module.
30+
-->
31+
<failOnJavadocWarning>false</failOnJavadocWarning>
2832
<hibernate-validator-parent.path>..</hibernate-validator-parent.path>
2933
</properties>
3034

@@ -112,20 +116,8 @@
112116
${basedir}/../engine/src/main/java;
113117
${basedir}/../cdi/src/main/java;
114118
${basedir}/../annotation-processor/src/main/java
119+
${basedir}/../test-utils/src/main/java
115120
</sourcepath>
116-
<links>
117-
<link>${java.api-docs.base-url}</link>
118-
<link>${javaee.api-docs.base-url}</link>
119-
<link>${bv.api-docs.base-url}</link>
120-
<!--<link>${javamoney.api-docs.base-url}</link>-->
121-
</links>
122-
<tags>
123-
<tag>
124-
<name>hv.experimental</name>
125-
<placement>a</placement>
126-
<head>Experimental</head>
127-
</tag>
128-
</tags>
129121
<packagesheader>Hibernate Validator Packages</packagesheader>
130122
<doctitle>Hibernate Validator ${project.version}</doctitle>
131123
<windowtitle>Hibernate Validator ${project.version}</windowtitle>
@@ -143,6 +135,10 @@
143135
<title>Annotation Processor Packages</title>
144136
<packages>org.hibernate.validator.ap*</packages>
145137
</group>
138+
<group>
139+
<title>Hibernate Validator Test Utilities Packages</title>
140+
<packages>org.hibernate.validator.testutil*</packages>
141+
</group>
146142
</groups>
147143
<additionalOptions>${javadoc.additional.options}</additionalOptions>
148144
</configuration>
@@ -179,18 +175,4 @@
179175
</plugin>
180176
</plugins>
181177
</build>
182-
<profiles>
183-
<profile>
184-
<id>testWithJdk11+</id>
185-
<activation>
186-
<property>
187-
<name>java-version.test.release</name>
188-
<value>!8</value>
189-
</property>
190-
</activation>
191-
<properties>
192-
<javadoc.additional.options>-html5</javadoc.additional.options>
193-
</properties>
194-
</profile>
195-
</profiles>
196178
</project>

documentation/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@
299299

300300
<!-- URLs -->
301301
<javaApiDocsUrl>${java.api-docs.base-url}/</javaApiDocsUrl>
302-
<bvApiDocsUrl>${bv.api-docs.base-url}/</bvApiDocsUrl>
302+
<bvApiDocsUrl>${javadoc.jakarta.validation.url}/</bvApiDocsUrl>
303303
<bvSpecUrl>${bv.spec.url}</bvSpecUrl>
304304
<javaTechnotesBaseUrl>${java.technotes.base-url}</javaTechnotesBaseUrl>
305305
<javafxDocsUrl>${javafx.docs.url}</javafxDocsUrl>

engine/pom.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,16 @@
2727
<hibernate-validator-parent.path>..</hibernate-validator-parent.path>
2828
<surefire.jvm.args.additional>-Duser.language=en -Duser.country=US</surefire.jvm.args.additional>
2929
<java.module.name>${hibernate-validator.module-name}</java.module.name>
30+
<!--
31+
We want to skip the javadoc warnings for this module, since Jakarta Expression Language API is using proper modules,
32+
resulting in a warning like:
33+
[WARNING] Javadoc Warnings
34+
[WARNING] warning: The code being documented uses packages in the unnamed module, but the packages defined in https://jakarta.ee/specifications/expression-language/6.0/apidocs/ are in named modules.
35+
[WARNING] 1 warning
36+
when trying to build this module. Since it cannot be suppressed, but the generated docs are actually OK
37+
and links point to correct addresses, we just ignore all warnings for this module.
38+
-->
39+
<failOnJavadocWarning>false</failOnJavadocWarning>
3040
</properties>
3141

3242
<distributionManagement>

parents/internal/pom.xml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,98 @@
4747
<groupId>net.revelc.code.formatter</groupId>
4848
<artifactId>formatter-maven-plugin</artifactId>
4949
</plugin>
50+
<plugin>
51+
<artifactId>maven-dependency-plugin</artifactId>
52+
<executions>
53+
<execution>
54+
<id>unpack-wildfly-patching-script</id>
55+
<phase>generate-sources</phase>
56+
<goals>
57+
<goal>unpack</goal>
58+
</goals>
59+
<configuration>
60+
<skip>${skip.wildfly.patch.hibernate.validator}</skip>
61+
<artifactItems>
62+
<artifactItem>
63+
<groupId>${project.groupId}</groupId>
64+
<artifactId>hibernate-validator-build-config</artifactId>
65+
<version>${project.version}</version>
66+
<type>jar</type>
67+
<outputDirectory>${project.build.directory}/hibernate-validator-patch</outputDirectory>
68+
</artifactItem>
69+
</artifactItems>
70+
</configuration>
71+
</execution>
72+
<execution>
73+
<id>unpack-wildfly</id>
74+
<phase>generate-sources</phase>
75+
<goals>
76+
<goal>unpack</goal>
77+
</goals>
78+
<configuration>
79+
<skip>${skip.wildfly.patch.unpack.server}</skip>
80+
<artifactItems>
81+
<artifactItem>
82+
<groupId>org.wildfly</groupId>
83+
<artifactId>${wildfly.distribution.name}-dist</artifactId>
84+
<version>${version.wildfly}</version>
85+
<type>tar.gz</type>
86+
<overWrite>false</overWrite>
87+
<outputDirectory>${project.build.directory}/wildfly-patched</outputDirectory>
88+
</artifactItem>
89+
</artifactItems>
90+
</configuration>
91+
</execution>
92+
<!-- Update the BV/HV JARs in the unpacked ^ WF copy -->
93+
<execution>
94+
<id>prepare-patch-jars</id>
95+
<phase>generate-resources</phase>
96+
<goals>
97+
<goal>copy</goal>
98+
</goals>
99+
<configuration>
100+
<skip>${skip.wildfly.patch.hibernate.validator}</skip>
101+
<artifactItems>
102+
<!-- WildFly current -->
103+
<artifactItem>
104+
<groupId>jakarta.validation</groupId>
105+
<artifactId>jakarta.validation-api</artifactId>
106+
<version>${version.jakarta.validation-api}</version>
107+
<overWrite>false</overWrite>
108+
<outputDirectory>${wildfly.actual.target-dir}/modules/system/layers/base/jakarta/validation/api/main</outputDirectory>
109+
<!-- Specifying name to avoid timestamp in version on CI -->
110+
<destFileName>jakarta.validation-api-${version.jakarta.validation-api}.jar</destFileName>
111+
</artifactItem>
112+
<artifactItem>
113+
<groupId>${project.groupId}</groupId>
114+
<artifactId>hibernate-validator</artifactId>
115+
<version>${project.version}</version>
116+
<overWrite>false</overWrite>
117+
<outputDirectory>${wildfly.actual.target-dir}/modules/system/layers/base/org/hibernate/validator/main</outputDirectory>
118+
<destFileName>hibernate-validator-${project.version}.jar</destFileName>
119+
</artifactItem>
120+
<artifactItem>
121+
<groupId>${project.groupId}</groupId>
122+
<artifactId>hibernate-validator-cdi</artifactId>
123+
<version>${project.version}</version>
124+
<overWrite>false</overWrite>
125+
<outputDirectory>${wildfly.actual.target-dir}/modules/system/layers/base/org/hibernate/validator/cdi/main</outputDirectory>
126+
<destFileName>hibernate-validator-cdi-${project.version}.jar</destFileName>
127+
</artifactItem>
128+
<!-- We also need to patch the jboss logging jar -->
129+
<artifactItem>
130+
<groupId>org.jboss.logging</groupId>
131+
<artifactId>jboss-logging</artifactId>
132+
<version>${version.org.jboss.logging.jboss-logging}</version>
133+
<overWrite>false</overWrite>
134+
<outputDirectory>${wildfly.actual.target-dir}/modules/system/layers/base/org/jboss/logging/main</outputDirectory>
135+
<destFileName>jboss-logging-${version.org.jboss.logging.jboss-logging}.jar</destFileName>
136+
</artifactItem>
137+
</artifactItems>
138+
</configuration>
139+
</execution>
140+
</executions>
141+
</plugin>
50142
</plugins>
51143
</build>
52144
</project>

0 commit comments

Comments
 (0)