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>
