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

tballison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 7975986d2a4162e227bd120e386dc626602d09ce
Author: tallison <[email protected]>
AuthorDate: Tue Aug 18 15:13:25 2026 -0400

    javadocs take 42
---
 .github/scripts/check_javadoc_sourcepath.py |  4 ++--
 pom.xml                                     | 17 +++++++++++++++++
 tika-parent/pom.xml                         | 29 +++++++----------------------
 3 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/.github/scripts/check_javadoc_sourcepath.py 
b/.github/scripts/check_javadoc_sourcepath.py
index da5cfbd4f4..846dcff126 100644
--- a/.github/scripts/check_javadoc_sourcepath.py
+++ b/.github/scripts/check_javadoc_sourcepath.py
@@ -14,7 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 """
-Guard the hand-maintained <sourcepath> in tika-parent/pom.xml used by the
+Guard the hand-maintained <sourcepath> in the root pom.xml used by the
 TIKA-4318 javadoc:aggregate workaround. That list must name every module's
 src/main/java (except tika-grpc); a module missing from it is silently dropped
 from the aggregated API docs. Run this right before building the javadocs.
@@ -30,7 +30,7 @@ import sys
 
 PRUNE = {"target", ".git", ".local_m2_repo", "node_modules", ".mvn"}
 EXCLUDE_MODULE_PREFIX = "tika-grpc/"          # protobuf gen-sources not on 
the aggregate classpath
-POM = "tika-parent/pom.xml"
+POM = "pom.xml"
 
 
 def actual_roots(root: str):
diff --git a/pom.xml b/pom.xml
index 1c00298d87..8d5cb26fb8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -304,6 +304,23 @@ least three +1 Tika PMC votes are cast.
 
   <build>
     <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <version>${maven.javadoc.version}</version>
+        <configuration>
+          <!-- TIKA-4318: javadoc:aggregate only. An explicit multi-root 
sourcepath forces the
+               plugin onto its legacy (pre-JPMS) -sourcepath code path; 
without it the plugin runs
+               in modular mode, classifies the reactor modules inconsistently 
as named vs unnamed,
+               and aborts. This lives in the root pom, which is an aggregator 
only ; the modules
+               inherit from tika-parent, so this never reaches a per-module 
javadoc:jar.
+               tika-grpc is excluded: its protobuf generated-sources and 
compile deps are not on
+               the aggregate classpath. NOTE: keep this list in sync when 
modules are added or
+               removed; .github/scripts/check_javadoc_sourcepath.py guards it. 
-->
+          
<sourcepath>tika-annotation-processor/src/main/java;tika-app/src/main/java;tika-bundles/tika-bundle-standard/src/main/java;tika-core/src/main/java;tika-detectors/tika-detector-magika/src/main/java;tika-detectors/tika-detector-siegfried/src/main/java;tika-encoding-detectors/tika-encoding-detector-html/src/main/java;tika-encoding-detectors/tika-encoding-detector-icu4j/src/main/java;tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java;tika-encoding-detectors/tik
 [...]
+          <subpackages>org.apache.tika</subpackages>
+        </configuration>
+      </plugin>
       <plugin>
         <groupId>org.apache.rat</groupId>
         <artifactId>apache-rat-plugin</artifactId>
diff --git a/tika-parent/pom.xml b/tika-parent/pom.xml
index 980c5f18e6..3242b8133b 100644
--- a/tika-parent/pom.xml
+++ b/tika-parent/pom.xml
@@ -1715,29 +1715,14 @@
             <version>${maven.javadoc.version}</version>
             <configuration>
               <doclint>none</doclint>
-              <!-- TIKA-4318: an explicit multi-root sourcepath forces the 
javadoc plugin onto its
-                   legacy (pre-JPMS) -sourcepath code path, so 
javadoc:aggregate actually produces a
-                   combined report. Tika modules carry Automatic-Module-Name 
manifest hints but have no
-                   module-info.java; without this, the plugin runs javadoc in 
modular (module source
-                   path) mode, classifies the reactor modules inconsistently 
as named vs unnamed, and
-                   javadoc aborts ('aggregated report for both named and 
unnamed modules is not
-                   possible'). tika-grpc is excluded: its protobuf 
generated-sources and compile deps
-                   are not on the aggregate classpath. NOTE: keep this list in 
sync when modules are
-                   added or removed (see TIKA-4318). -->
-              
<sourcepath>tika-annotation-processor/src/main/java;tika-app/src/main/java;tika-bundles/tika-bundle-standard/src/main/java;tika-core/src/main/java;tika-detectors/tika-detector-magika/src/main/java;tika-detectors/tika-detector-siegfried/src/main/java;tika-encoding-detectors/tika-encoding-detector-html/src/main/java;tika-encoding-detectors/tika-encoding-detector-icu4j/src/main/java;tika-encoding-detectors/tika-encoding-detector-mojibuster/src/main/java;tika-encoding-detectors
 [...]
-              <subpackages>org.apache.tika</subpackages>
+              <!-- Per-module javadoc:jar. Kept at plugin level (not execution 
level) so a module
+                   with generated sources (tika-grpc) can override it in its 
own pom. An explicit
+                   sourcepath also forces the plugin onto its legacy 
(pre-JPMS) code path; without
+                   one it tries to derive module descriptors and fails on jars 
with broken
+                   automatic modules. The aggregate report's sourcepath lives 
in the root pom
+                   (TIKA-4318). -->
+              <sourcepath>src/main/java</sourcepath>
             </configuration>
-            <executions>
-              <!-- The aggregate sourcepath above is root-relative, so it 
resolves to nothing in a
-                   per-module javadoc:jar. Override it for the apache-release 
parent's
-                   attach-javadocs execution, which documents one module from 
its own basedir. -->
-              <execution>
-                <id>attach-javadocs</id>
-                <configuration>
-                  <sourcepath>src/main/java</sourcepath>
-                </configuration>
-              </execution>
-            </executions>
           </plugin>
         </plugins>
       </build>

Reply via email to