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

nddipiazza pushed a commit to branch TIKA-4723
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 08365d977ee3d300da22060288db5493fd28a6e0
Author: Nicholas DiPiazza <[email protected]>
AuthorDate: Thu May 7 06:52:17 2026 -0500

    TIKA-4723: Stop attaching assembly ZIPs to Maven artifacts
    
    - Move tika-grpc copy-dependencies + assembly to docker Maven profile
      with <attach>false</attach> so the 400MB ZIP is never deployed to Nexus
    - Add <attach>false</attach> to all 15 tika-pipes-plugin assemblies
      so plugin ZIPs are not uploaded to Maven Central on release
    - Fix lombok scope in tika-serialization from compile -> provided
      to remove it as a transitive runtime dependency
    - Update tika-grpc README to document that tika-grpc is Docker-only
      and that the distribution ZIP is built with -Pdocker, not by default
    
    Co-authored-by: Copilot <[email protected]>
---
 tika-grpc/README.md                                | 18 +++++
 tika-grpc/pom.xml                                  | 87 ++++++++++++++--------
 .../tika-pipes-atlassian-jwt/pom.xml               |  1 +
 .../tika-pipes-plugins/tika-pipes-az-blob/pom.xml  |  1 +
 .../tika-pipes-plugins/tika-pipes-csv/pom.xml      |  1 +
 .../tika-pipes-plugins/tika-pipes-es/pom.xml       |  1 +
 .../tika-pipes-file-system/pom.xml                 |  1 +
 .../tika-pipes-plugins/tika-pipes-gcs/pom.xml      |  1 +
 .../tika-pipes-google-drive/pom.xml                |  1 +
 .../tika-pipes-plugins/tika-pipes-http/pom.xml     |  1 +
 .../tika-pipes-plugins/tika-pipes-jdbc/pom.xml     |  1 +
 .../tika-pipes-plugins/tika-pipes-json/pom.xml     |  1 +
 .../tika-pipes-plugins/tika-pipes-kafka/pom.xml    |  1 +
 .../tika-pipes-microsoft-graph/pom.xml             |  1 +
 .../tika-pipes-opensearch/pom.xml                  |  1 +
 .../tika-pipes-plugins/tika-pipes-s3/pom.xml       |  1 +
 .../tika-pipes-plugins/tika-pipes-solr/pom.xml     |  1 +
 tika-serialization/pom.xml                         |  2 +-
 18 files changed, 89 insertions(+), 33 deletions(-)

diff --git a/tika-grpc/README.md b/tika-grpc/README.md
index 015af73bd6..fdb2cf275a 100644
--- a/tika-grpc/README.md
+++ b/tika-grpc/README.md
@@ -11,6 +11,24 @@ This server will manage a pool of Tika Pipes clients.
     * Delete
 * Fetch + Parse a given Fetch Item
 
+## Distribution and Maven Artifact
+
+**tika-grpc is designed to be run via Docker — it is not a standalone runnable 
artifact published to Maven Central.**
+
+The Maven artifact for `tika-grpc` is a thin JAR (~238KB) containing only the 
compiled classes and resources.
+It does **not** include a bundled distribution ZIP or any plugin ZIPs. This 
was an intentional change (TIKA-4723)
+to avoid uploading hundreds of megabytes of native libraries and plugin 
bundles to Nexus on every release.
+
+- The runnable Docker image is built using 
`tika-grpc/docker-build/docker-build.sh`, which assembles
+  the full classpath and plugins at Docker build time — not during `mvn 
package`.
+- The `tika-pipes-plugins` (fetchers, emitters, iterators) are also **not** 
attached as Maven artifacts.
+  They are packaged as pf4j ZIP plugins and included in the Docker image.
+- To build the full distribution ZIP locally (e.g. for debugging outside 
Docker), use the `docker` Maven profile:
+  ```bash
+  mvn package -Pdocker -pl tika-grpc
+  ```
+  This produces `tika-grpc/target/tika-grpc-<version>.zip` but does **not** 
deploy it to Nexus.
+
 ## Quick Start - Development Mode
 
 The fastest way to run tika-grpc in development mode with plugin hot-reloading:
diff --git a/tika-grpc/pom.xml b/tika-grpc/pom.xml
index 68fc531a0f..83a197033b 100644
--- a/tika-grpc/pom.xml
+++ b/tika-grpc/pom.xml
@@ -265,20 +265,6 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-dependency-plugin</artifactId>
         <executions>
-          <execution>
-            <id>copy-dependencies</id>
-            <phase>package</phase>
-            <goals>
-              <goal>copy-dependencies</goal>
-            </goals>
-            <configuration>
-              <outputDirectory>${project.build.directory}/lib</outputDirectory>
-              <includeScope>runtime</includeScope>
-              <stripVersion>false</stripVersion>
-              <overWriteReleases>false</overWriteReleases>
-              <overWriteSnapshots>false</overWriteSnapshots>
-            </configuration>
-          </execution>
           <execution>
             <id>copy-plugins</id>
             <phase>process-test-resources</phase>
@@ -479,24 +465,6 @@
           </archive>
         </configuration>
       </plugin>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <configuration>
-          <descriptors>
-            <descriptor>src/main/assembly/assembly.xml</descriptor>
-          </descriptors>
-          <appendAssemblyId>false</appendAssemblyId>
-        </configuration>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
@@ -533,6 +501,61 @@
   </build>
 
   <profiles>
+    <!--
+      docker profile: copies all runtime deps to target/lib/ and builds the 
full
+      runnable ZIP (target/tika-grpc-*.zip) used by the Docker image.
+      The ZIP is NOT attached to the Maven artifact so it is not uploaded to 
Nexus.
+
+      Usage: mvn package -Pdocker
+    -->
+    <profile>
+      <id>docker</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-dependency-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>copy-dependencies</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>copy-dependencies</goal>
+                </goals>
+                <configuration>
+                  
<outputDirectory>${project.build.directory}/lib</outputDirectory>
+                  <includeScope>runtime</includeScope>
+                  <stripVersion>false</stripVersion>
+                  <overWriteReleases>false</overWriteReleases>
+                  <overWriteSnapshots>false</overWriteSnapshots>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <configuration>
+              <descriptors>
+                <descriptor>src/main/assembly/assembly.xml</descriptor>
+              </descriptors>
+              <appendAssemblyId>false</appendAssemblyId>
+              <!-- Do not attach the ZIP to the Maven artifact so it is never 
uploaded to Nexus -->
+              <attach>false</attach>
+            </configuration>
+            <executions>
+              <execution>
+                <id>make-assembly</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>single</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
     <!-- Development profile for running tika-grpc with plugin development 
mode -->
     <profile>
       <id>dev</id>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-atlassian-jwt/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-atlassian-jwt/pom.xml
index 1c69275ed1..98fad1b10b 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-atlassian-jwt/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-atlassian-jwt/pom.xml
@@ -113,6 +113,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-az-blob/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-az-blob/pom.xml
index 41f8661d80..d8321574eb 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-az-blob/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-az-blob/pom.xml
@@ -105,6 +105,7 @@
           </descriptors>
           <finalName>${project.artifactId}-${project.version}</finalName>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-csv/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-csv/pom.xml
index cf05e4391f..a904a814ef 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-csv/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-csv/pom.xml
@@ -93,6 +93,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-es/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-es/pom.xml
index e892dbf451..d175edc598 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-es/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-es/pom.xml
@@ -110,6 +110,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-file-system/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-file-system/pom.xml
index 365fb637d6..24fc346e97 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-file-system/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-file-system/pom.xml
@@ -107,6 +107,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-gcs/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-gcs/pom.xml
index 087708a361..a416ef0688 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-gcs/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-gcs/pom.xml
@@ -101,6 +101,7 @@
           </descriptors>
           <finalName>${project.artifactId}-${project.version}</finalName>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-google-drive/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-google-drive/pom.xml
index fcaeddc8b2..5e674bccdf 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-google-drive/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-google-drive/pom.xml
@@ -159,6 +159,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-http/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-http/pom.xml
index 304508f815..006ca60624 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-http/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-http/pom.xml
@@ -147,6 +147,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-jdbc/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-jdbc/pom.xml
index b54c5c6a39..45f3246c69 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-jdbc/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-jdbc/pom.xml
@@ -101,6 +101,7 @@
           </descriptors>
           <finalName>${project.artifactId}-${project.version}</finalName>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-json/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-json/pom.xml
index 126b12f775..8d31c00c6b 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-json/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-json/pom.xml
@@ -95,6 +95,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-kafka/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-kafka/pom.xml
index 84a7422c0d..76c5a24259 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-kafka/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-kafka/pom.xml
@@ -108,6 +108,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-microsoft-graph/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-microsoft-graph/pom.xml
index 849e0288fa..ed2343d847 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-microsoft-graph/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-microsoft-graph/pom.xml
@@ -182,6 +182,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-opensearch/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-opensearch/pom.xml
index 4f8b791af7..f8e33a2dce 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-opensearch/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-opensearch/pom.xml
@@ -111,6 +111,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-s3/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-s3/pom.xml
index ab5e563268..14c974fb10 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-s3/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-s3/pom.xml
@@ -112,6 +112,7 @@
             <descriptor>src/main/assembly/assembly.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-pipes/tika-pipes-plugins/tika-pipes-solr/pom.xml 
b/tika-pipes/tika-pipes-plugins/tika-pipes-solr/pom.xml
index 8cc31cf678..553a56ef6e 100644
--- a/tika-pipes/tika-pipes-plugins/tika-pipes-solr/pom.xml
+++ b/tika-pipes/tika-pipes-plugins/tika-pipes-solr/pom.xml
@@ -116,6 +116,7 @@
           </descriptors>
           <finalName>${project.artifactId}-${project.version}</finalName>
           <appendAssemblyId>false</appendAssemblyId>
+              <attach>false</attach>
         </configuration>
         <executions>
           <execution>
diff --git a/tika-serialization/pom.xml b/tika-serialization/pom.xml
index a5f0ddd249..e70491506b 100644
--- a/tika-serialization/pom.xml
+++ b/tika-serialization/pom.xml
@@ -66,7 +66,7 @@
       <groupId>org.projectlombok</groupId>
       <artifactId>lombok</artifactId>
       <version>${lombok.version}</version>
-      <scope>compile</scope>
+      <scope>provided</scope>
     </dependency>
     <!-- Test dependencies -->
     <dependency>

Reply via email to