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
The following commit(s) were added to refs/heads/main by this push:
new a9b2a86bed TIKA-4723 (#2809)
a9b2a86bed is described below
commit a9b2a86bedd30990ab76fe523b79684e51811f47
Author: Tim Allison <[email protected]>
AuthorDate: Tue May 12 15:36:43 2026 -0400
TIKA-4723 (#2809)
---
docs/modules/ROOT/nav.adoc | 5 +
.../pages/maintainers/release-guides/index.adoc | 1 +
.../release-guides/release-artifacts.adoc | 230 +++++++++++++++++++++
pom.xml | 13 +-
tika-grpc/README.md | 18 ++
tika-grpc/pom.xml | 87 +++++---
.../apache/tika/pipes/grpc/TikaGrpcServerImpl.java | 9 +
.../tika-parser-scientific-package/pom.xml | 55 +++++
.../tika-parser-sqlite3-package/pom.xml | 50 +++++
.../tika-parser-nlp-package/pom.xml | 10 +
.../tika-pipes-atlassian-jwt/pom.xml | 29 +++
.../tika-pipes-plugins/tika-pipes-az-blob/pom.xml | 29 +++
.../tika-pipes-plugins/tika-pipes-csv/pom.xml | 29 +++
.../tika-pipes-plugins/tika-pipes-es/pom.xml | 29 +++
.../tika-pipes-file-system/pom.xml | 29 +++
.../tika-pipes-plugins/tika-pipes-gcs/pom.xml | 29 +++
.../tika-pipes-google-drive/pom.xml | 29 +++
.../tika-pipes-plugins/tika-pipes-http/pom.xml | 33 +++
.../tika-pipes-plugins/tika-pipes-jdbc/pom.xml | 29 +++
.../tika-pipes-plugins/tika-pipes-json/pom.xml | 29 +++
.../tika-pipes-plugins/tika-pipes-kafka/pom.xml | 29 +++
.../tika-pipes-microsoft-graph/pom.xml | 29 +++
.../tika-pipes-opensearch/pom.xml | 29 +++
.../tika-pipes-plugins/tika-pipes-s3/pom.xml | 29 +++
.../tika-pipes-plugins/tika-pipes-solr/pom.xml | 29 +++
tika-serialization/pom.xml | 6 -
26 files changed, 878 insertions(+), 45 deletions(-)
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 7ed0d89a5a..5e29f171d1 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -80,3 +80,8 @@
* xref:maintainers/index.adoc[Maintainers]
** xref:maintainers/site.adoc[Publishing the Site]
** xref:maintainers/release-guides/index.adoc[Release Guides]
+*** xref:maintainers/release-guides/tika.adoc[Releasing Apache Tika]
+*** xref:maintainers/release-guides/release-artifacts.adoc[Release Artifacts:
What Goes Where]
+*** xref:maintainers/release-guides/docker.adoc[Releasing Tika Docker Images]
+*** xref:maintainers/release-guides/helm.adoc[Releasing Tika Helm Charts]
+*** xref:maintainers/release-guides/grpc.adoc[Releasing Tika gRPC]
diff --git a/docs/modules/ROOT/pages/maintainers/release-guides/index.adoc
b/docs/modules/ROOT/pages/maintainers/release-guides/index.adoc
index 1f7937ba77..84aac06a2b 100644
--- a/docs/modules/ROOT/pages/maintainers/release-guides/index.adoc
+++ b/docs/modules/ROOT/pages/maintainers/release-guides/index.adoc
@@ -27,6 +27,7 @@ step-by-step guides for releasing the various Tika components.
== Topics
* xref:maintainers/release-guides/tika.adoc[Releasing Apache Tika] - Main Tika
project release process
+* xref:maintainers/release-guides/release-artifacts.adoc[Release Artifacts:
What Goes Where] - Maven Central vs Apache dist vs Docker matrix
* xref:maintainers/release-guides/docker.adoc[Releasing Tika Docker Images] -
Docker image release process
* xref:maintainers/release-guides/helm.adoc[Releasing Tika Helm Charts] - Helm
chart release process
* xref:maintainers/release-guides/grpc.adoc[Releasing Tika gRPC] - gRPC
component release process
diff --git
a/docs/modules/ROOT/pages/maintainers/release-guides/release-artifacts.adoc
b/docs/modules/ROOT/pages/maintainers/release-guides/release-artifacts.adoc
new file mode 100644
index 0000000000..49c2f187b9
--- /dev/null
+++ b/docs/modules/ROOT/pages/maintainers/release-guides/release-artifacts.adoc
@@ -0,0 +1,230 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+= Release Artifacts: What Goes Where
+
+A 4.x Tika release publishes to three channels, each with a different
+audience:
+
+[cols="1,2,2", options="header"]
+|===
+|Channel |URL |Audience
+
+|*Maven Central*
+|`https://repo1.maven.org/maven2/org/apache/tika/`
+|Java consumers adding Tika to a Maven / Gradle build. Get lean basic jars
+plus pom + sources-jar + javadoc-jar. Maven resolves transitive deps for
+them.
+
+|*Apache dist*
+|`https://downloads.apache.org/tika/<version>/`
+|Humans downloading runnable archives or drop-in plugin zips. No Maven
+involved. Want fat / self-contained artifacts.
+
+|*Docker Hub*
+|`apache/tika`, `apache/tika-grpc`
+|Container deployers. Get a ready-to-run image with parsers + plugins
+bundled (the "kitchen sink" by default).
+|===
+
+The driving principle: *fat distribution artifacts (zips, shaded jars,
+runnable bundles) do not go to Maven Central; basic Maven artifacts (slim
+jars + pom) do not need to clutter Apache dist.* Channel-specific shapes
+keep each ecosystem clean.
+
+== Per-artifact matrix
+
+[cols="1,1,1,1,1", options="header"]
+|===
+|Artifact |Maven Central |Apache dist |Docker `apache/tika` |Docker
`apache/tika-grpc`
+
+|`tika-core`, `tika-parsers-*` jars (each module)
+|✓ slim jar (Maven-native)
+|—
+|inside the image
+|inside the image
+
+|`tika-app-<v>.zip` (CLI + GUI)
+|✓ slim jar
+|✓ assembly zip (slim jar + `lib/` deps)
+|—
+|—
+
+|`tika-server-standard-<v>.jar` (slim runtime jar)
+|✓ slim jar
+|—
+|—
+|—
+
+|`tika-server-standard-<v>-bin.zip` (full distribution)
+|—
+|✓
+|extracted into image
+|—
+
+|`tika-eval-app-<v>.zip` (eval CLI)
+|✓ slim jar
+|✓ assembly zip (slim jar + `lib/` deps)
+|—
+|—
+
+|`tika-parser-scientific-package`, `tika-parser-sqlite3-package`,
`tika-parser-nlp-package`
+|✓ slim jar (~10 KB, metadata)
+|✓ `-shaded.jar` (~20–25 MB, full deps)
+|inside the image
+|inside the image
+
+|`tika-pipes-<plugin>` (each — solr, http, s3, kafka, …)
+|✓ slim jar
+|✓ pf4j zip distribution
+|inside the image
+|inside the image
+
+|`tika-grpc-<v>.jar` (slim)
+|✓
+|—
+|—
+|inside the image
+
+|`tika-grpc-<v>.zip` (Docker build artifact)
+|✗ not attached (TIKA-4723: `<attach>false</attach>`)
+|—
+|—
+|build context for the image
+
+|`src.zip`, `KEYS`, `CHANGES-<v>.txt`
+|—
+|✓
+|—
+|—
+|===
+
+== Why each shape
+
+=== Slim vs shaded jars (parser packages)
+
+`tika-parser-scientific-package` (and `sqlite3`, `nlp`) are
+"drop-in classpath" artifacts. Sysadmins running `tika-server` who want a
+parser added to its classpath grab one fat jar and `cp` it into
+`/tika-extras/`. That's the use case the *shaded* jar serves on Apache dist.
+
+A Maven consumer wanting the same parsers does *not* want a 25 MB jar
+shaded over their classpath — Maven's transitive dep resolution gives them
+the same classes via the module jar + its deps. So Central gets the slim
+(~10 KB) metadata jar; `pom` transitive deps do the work.
+
+Mechanism: `maven-shade-plugin` configured with
+`<outputFile>${project.build.directory}/${project.artifactId}-${project.version}-shaded.jar</outputFile>`
+and `<shadedArtifactAttached>false</shadedArtifactAttached>`. Shade writes
+the fat jar to a separate file on disk but does not attach it to the
+Maven artifact set, so `mvn deploy` only uploads the slim main jar.
+
+=== pf4j plugin zips (`tika-pipes-*`)
+
+The `.zip` for each pipes plugin is the runtime drop-in form: unzip into
+`<server>/plugins/<plugin-name>/` and pf4j discovers it at startup. That's
+an Apache dist artifact, not a Maven artifact.
+
+The plugin's *jar* is on Maven Central for users building atop the plugin
+API or embedding it programmatically.
+
+Mechanism: `maven-assembly-plugin` with `<attach>false</attach>` in each
+plugin pom (TIKA-4723). Because `<attach>false</attach>` also skips the
+local-repo install, each plugin pom additionally runs
+`maven-install-plugin:install-file` during the `install` phase, writing
+the zip into the local repo at canonical coordinates
+(`<groupId>:<artifactId>:zip:<version>`). Sibling modules
+(`tika-pipes-fork-parser`, `tika-server-*`, `tika-grpc`, integration
+tests) declare the zip as a test-scope Maven dep and rely on this
+mechanism to resolve it from the local repo without ever publishing it
+to Central.
+
+=== tika-grpc
+
+tika-grpc is a standalone gRPC server, parallel to tika-server — not built
+on top of `tika-server-core`. It depends directly on `tika-core` and the
+parser modules (via `tika-parsers-standard-package`).
+
+Maven Central gets the slim `tika-grpc.jar` for users embedding the gRPC
+server in a Maven build. Apache dist publishes nothing for tika-grpc.
+Users either pull `apache/tika-grpc` from Docker Hub or add `tika-grpc`
+as a Maven dep.
+
+The Docker image is built by the release workflow from a `-Pdocker`
+Maven invocation that produces a runnable layout (jar + deps + bundled
+plugins) locally; that build output is the build context for the
+`apache/tika-grpc` image and isn't published as a release artifact in its
+own right.
+
+tika-grpc requires at least one pf4j plugin to be loaded at startup; an
+empty `plugins/` directory triggers a `TikaConfigException` with a
+download URL pointing at Apache dist.
+
+=== Server: slim jar on Central, bin.zip on dist
+
+`tika-server-standard-<v>.jar` is the *slim* runtime jar — its manifest
+declares `Class-Path: lib/*` and it expects to be run from a directory
+that also contains a populated `lib/` (and `plugins/`). Standalone the
+slim jar can't run. Maven Central publishes it for embedders who'll
+resolve `lib/*` via Maven dep resolution.
+
+`tika-server-standard-<v>-bin.zip` is the full assembled distribution:
+the slim jar + `lib/` + the bundled `tika-pipes-file-system` plugin + a
+startup script. Apache dist publishes this for sysadmins who want
+`unzip + java -jar`.
+
+The 4.0.0-alpha-1 release published *both* on dist; 4.x onwards drops the
+slim jar from dist (only on Central) and drops the `-bin.tgz` variant
+(`.zip` is universally readable).
+
+=== App / eval-app
+
+Same pattern as the parser packages — Central gets the slim jar (Maven
+consumers); dist gets the assembled zip with deps under `lib/`.
+
+== Where this is configured in the source tree
+
+*The Apache dist staging include list:* `pom.xml`, `apache-release`
+profile, the `<copy>` step inside the antrun task (look for `tika-app`
+near the top). One `<include>` line per artifact pattern. The
+`tika-pipes-plugins/*/target/*-shaded.jar*` and similar globs cover the
+sets.
+
+*Per-module shaping:* each module's pom decides what shape its `target/`
+produces (assembly with `<attach>false</attach>` for plugin zips and
+app zips; shade with `outputFile` +
`<shadedArtifactAttached>false</shadedArtifactAttached>`
+for parser packages).
+
+*Maven Central deployment:* happens via `mvn deploy` (or
+`mvn release:perform`). Any artifact that's *attached* to the Maven project
+gets uploaded. The whole point of the `<attach>false</attach>` /
+`<shadedArtifactAttached>false</shadedArtifactAttached>` pattern is to
+keep the fat distribution shapes off Central without disrupting the
+build process.
+
+*Docker image contents:* `.github/workflows/docker-release.yml` (the
+release publish workflow). The `release-tika-grpc` job currently
+assembles a custom build context from per-module outputs (
+`dependency:copy-dependencies`, per-plugin `cp`, parser-package `cp`).
+The `release-tika-server` job builds from `tika-server-standard-bin.zip`
+(unpacked into `/opt/tika-server/`).
+
+== Cross-references
+
+* xref:maintainers/release-guides/tika.adoc[Releasing Apache Tika]
+* xref:maintainers/release-guides/docker.adoc[Releasing Tika Docker Images]
+* xref:maintainers/release-guides/site-updates.adoc[Updating the Website After
a Release]
diff --git a/pom.xml b/pom.xml
index db31dcbf72..ce97d63c90 100644
--- a/pom.xml
+++ b/pom.xml
@@ -118,14 +118,13 @@
<fileset dir="${basedir}">
<include name="CHANGES.txt" />
<include name="target/*-src.zip*" />
- <include
name="tika-parsers/tika-parsers-extended/tika-parser-scientific-package/target/tika-parser-scientific-package-${project.version}.jar*"
/>
- <include
name="tika-parsers/tika-parsers-extended/tika-parser-sqlite3-package/target/tika-parser-sqlite3-package-${project.version}.jar*"
/>
- <include
name="tika-parsers/tika-parsers-ml/tika-parser-nlp-package/target/tika-parser-nlp-package-${project.version}.jar*"
/>
- <include
name="tika-app/target/tika-app-${project.version}.jar*" />
- <include
name="tika-server/tika-server-standard/target/tika-server-standard-${project.version}.jar*"
/>
- <include
name="tika-server/tika-server-standard/target/tika-server-standard-${project.version}-bin.tgz*"
/>
+ <include
name="tika-parsers/tika-parsers-extended/tika-parser-scientific-package/target/tika-parser-scientific-package-${project.version}-shaded.jar*"
/>
+ <include
name="tika-parsers/tika-parsers-extended/tika-parser-sqlite3-package/target/tika-parser-sqlite3-package-${project.version}-shaded.jar*"
/>
+ <include
name="tika-parsers/tika-parsers-ml/tika-parser-nlp-package/target/tika-parser-nlp-package-${project.version}-shaded.jar*"
/>
+ <include
name="tika-app/target/tika-app-${project.version}.zip*" />
<include
name="tika-server/tika-server-standard/target/tika-server-standard-${project.version}-bin.zip*"
/>
- <include
name="tika-eval/tika-eval-app/target/tika-eval-app-${project.version}.jar*" />
+ <include
name="tika-eval/tika-eval-app/target/tika-eval-app-${project.version}.zip*" />
+ <include
name="tika-pipes/tika-pipes-plugins/*/target/tika-pipes-*-${project.version}.zip*"
/>
</fileset>
</copy>
<checksum algorithm="SHA-512" fileext=".sha512">
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-grpc/src/main/java/org/apache/tika/pipes/grpc/TikaGrpcServerImpl.java
b/tika-grpc/src/main/java/org/apache/tika/pipes/grpc/TikaGrpcServerImpl.java
index c0b2d6b4d6..9f80afb352 100644
--- a/tika-grpc/src/main/java/org/apache/tika/pipes/grpc/TikaGrpcServerImpl.java
+++ b/tika-grpc/src/main/java/org/apache/tika/pipes/grpc/TikaGrpcServerImpl.java
@@ -130,6 +130,15 @@ class TikaGrpcServerImpl extends TikaGrpc.TikaImplBase {
pluginManager = new org.pf4j.DefaultPluginManager();
}
+ if (pluginManager.getPlugins().isEmpty()) {
+ LOG.warn("tika-grpc started with no tika-pipes plugins loaded. "
+ + "Most RPC calls will fail with 'fetcher type unknown' or
"
+ + "similar. Place tika-pipes-<plugin>-<version>.zip files
in "
+ + "a `plugins/` directory next to tika-grpc.jar (or
configure "
+ + "`plugin-roots` in your tika config). Plugin zips are "
+ + "published at
https://downloads.apache.org/tika/<version>/.");
+ }
+
this.configStore = createConfigStore();
fetcherManager = FetcherManager.load(pluginManager, tikaJsonConfig,
true, this.configStore);
diff --git
a/tika-parsers/tika-parsers-extended/tika-parser-scientific-package/pom.xml
b/tika-parsers/tika-parsers-extended/tika-parser-scientific-package/pom.xml
index 1c909a1a8a..fd10604144 100644
--- a/tika-parsers/tika-parsers-extended/tika-parser-scientific-package/pom.xml
+++ b/tika-parsers/tika-parsers-extended/tika-parser-scientific-package/pom.xml
@@ -60,6 +60,61 @@
</archive>
</configuration>
</plugin>
+ <!--
+ Build a shaded (fat) jar alongside the slim main artifact. The shade
+ output is written to
${project.build.directory}/<artifact>-<v>-shaded.jar
+ and is NOT attached to the Maven project, so `mvn deploy` only
+ uploads the slim main jar to Maven Central. The shaded jar exists on
+ disk for Apache dist staging (picked up by the apache-release antrun
+ copy step in the root pom). Same Central/dist separation that
+ TIKA-4723 set up for tika-pipes plugin zips.
+ -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>${maven.shade.version}</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+
<outputFile>${project.build.directory}/${project.artifactId}-${project.version}-shaded.jar</outputFile>
+ <shadedArtifactAttached>false</shadedArtifactAttached>
+ <createDependencyReducedPom>false</createDependencyReducedPom>
+ <filters>
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <exclude>module-info.class</exclude>
+ <exclude>META-INF/*.SF</exclude>
+ <exclude>META-INF/*.DSA</exclude>
+ <exclude>META-INF/*.RSA</exclude>
+ <exclude>META-INF/DEPENDENCIES</exclude>
+ <exclude>META-INF/MANIFEST.MF</exclude>
+ <exclude>META-INF/LICENSE.md</exclude>
+ <exclude>META-INF/NOTICE.md</exclude>
+ <!-- clutter not needed in jar -->
+ <exclude>resources/grib1/nasa/README*.pdf</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ <transformers>
+ <transformer
implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
+ <addHeader>false</addHeader>
+ </transformer>
+ <transformer
implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"
/>
+ <transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"
/>
+ <transformer
implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
+ <resource>META-INF/LICENSE</resource>
+ <file>target/classes/META-INF/LICENSE</file>
+ </transformer>
+ </transformers>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
diff --git
a/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-package/pom.xml
b/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-package/pom.xml
index 072e9248e7..ec7d8dc82e 100644
--- a/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-package/pom.xml
+++ b/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-package/pom.xml
@@ -56,6 +56,56 @@
</execution>
</executions>
</plugin>
+ <!--
+ Build a shaded (fat) jar alongside the slim main artifact. Output is
+ ${project.build.directory}/<artifact>-<v>-shaded.jar and is NOT
+ attached to the Maven project — `mvn deploy` only uploads the slim
+ main jar to Maven Central; the shaded jar is staged to Apache dist
+ by the apache-release antrun copy step in the root pom. Same
+ Central/dist separation that TIKA-4723 set up for tika-pipes
+ plugin zips.
+ -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>${maven.shade.version}</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+
<outputFile>${project.build.directory}/${project.artifactId}-${project.version}-shaded.jar</outputFile>
+ <shadedArtifactAttached>false</shadedArtifactAttached>
+ <createDependencyReducedPom>false</createDependencyReducedPom>
+ <filters>
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <exclude>META-INF/*.SF</exclude>
+ <exclude>META-INF/*.DSA</exclude>
+ <exclude>META-INF/*.RSA</exclude>
+ <exclude>META-INF/DEPENDENCIES</exclude>
+ <exclude>META-INF/MANIFEST.MF</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ <transformers>
+ <transformer
implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
+ <addHeader>false</addHeader>
+ </transformer>
+ <transformer
implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"
/>
+ <transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"
/>
+ <transformer
implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
+ <resource>META-INF/LICENSE</resource>
+ <file>target/classes/META-INF/LICENSE</file>
+ </transformer>
+ </transformers>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
diff --git a/tika-parsers/tika-parsers-ml/tika-parser-nlp-package/pom.xml
b/tika-parsers/tika-parsers-ml/tika-parser-nlp-package/pom.xml
index 28201251bc..463a41a46b 100644
--- a/tika-parsers/tika-parsers-ml/tika-parser-nlp-package/pom.xml
+++ b/tika-parsers/tika-parsers-ml/tika-parser-nlp-package/pom.xml
@@ -64,6 +64,16 @@
<goal>shade</goal>
</goals>
<configuration>
+ <!--
+ Direct the shaded jar to a `-shaded.jar` filename so the slim
+ main artifact stays intact for Maven Central, and
+ shadedArtifactAttached=false keeps the fat jar out of the
+ Maven artifact set entirely. The fat jar exists on disk for
+ Apache dist staging only. Same Central/dist separation
+ TIKA-4723 set up for tika-pipes plugin zips.
+ -->
+
<outputFile>${project.build.directory}/${project.artifactId}-${project.version}-shaded.jar</outputFile>
+ <shadedArtifactAttached>false</shadedArtifactAttached>
<createDependencyReducedPom>
false
</createDependencyReducedPom>
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..59bdfc82a3 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>
@@ -124,6 +125,34 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
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..72e22d0eeb 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>
@@ -125,6 +126,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
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..d2d0f302cc 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>
@@ -113,6 +114,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
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..1170e5e970 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>
@@ -130,6 +131,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
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..5459d99c1e 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>
@@ -127,6 +128,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
<scm>
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..2d569aa8bb 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>
@@ -121,6 +122,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
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 880382d3e0..b697b0e97c 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>
@@ -170,6 +171,34 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
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..90336cde36 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>
@@ -174,6 +175,38 @@
</systemPropertyVariables>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+
+ tika-pipes-http writes its zip to target/plugins/ (not target/) so
+ that its own self-tests can load the plugin via PF4J in deployment
+ mode; reflect that path here.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/plugins/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
<scm>
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..668c6a86e3 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>
@@ -121,6 +122,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
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..9661e09c7d 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>
@@ -115,6 +116,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
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..34659e4e2a 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>
@@ -128,6 +129,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
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 54e40a8e32..b8d733521b 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>
@@ -202,6 +203,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
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..4cca9007da 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>
@@ -131,6 +132,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
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..4335bce1c1 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>
@@ -132,6 +133,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
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..70bccf4e04 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>
@@ -136,6 +137,34 @@
</annotationProcessors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <!--
+ The assembly attaches the zip with <attach>false</attach>
(TIKA-4723)
+ so it is not added to the Maven artifact set and therefore is not
+ deployed to Maven Central. Sibling modules declare this plugin zip
+ as a test-scope Maven dep, so we install-file it locally to satisfy
+ reactor resolution without making it part of the project artifacts.
+ -->
+ <execution>
+ <id>install-plugin-zip-locally</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>zip</packaging>
+ <generatePom>false</generatePom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
diff --git a/tika-serialization/pom.xml b/tika-serialization/pom.xml
index a5f0ddd249..d9345490c1 100644
--- a/tika-serialization/pom.xml
+++ b/tika-serialization/pom.xml
@@ -62,12 +62,6 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <version>${lombok.version}</version>
- <scope>compile</scope>
- </dependency>
<!-- Test dependencies -->
<dependency>
<groupId>org.junit.jupiter</groupId>