milamberspace opened a new pull request, #6754:
URL: https://github.com/apache/jmeter/pull/6754
## Summary
Updates Apache Tika from 3.2.3 to the newly released **4.0.0** GA.
- Bump `tika-core` to 4.0.0 in `bom-thirdparty`.
- Drop the `tika-parsers` aggregator: it is `packaging=pom` and declared
non-transitive, so it shipped no jar — it only dragged extra BOMs
(grpc/azure/jetty/testcontainers) into dependency verification. JMeter
bundles only `tika-core`; document parsing still relies on a
user-supplied `tika-app.jar` at runtime.
## API changes handled
- **`TikaConfig` was removed in 4.x.** In `HTTPFileArg` and
`ParseCurlCommandAction` it was only used to set
`initializableProblemHandler="ignore"`, which is off the MIME-detection
path (`tika.detect` uses detectors, not parsers). Replaced with a plain
`new Tika()` and deleted the now-unused `tika-config.xml`.
- **`Parser.parse` now requires a `TikaInputStream`.** `Document` now wraps
its byte array with `TikaInputStream.get(...)`. Body text extraction is
unchanged (`BodyContentHandler` still emits plain text by default).
## Build / infrastructure
- Add trusted keys for the BOMs imported by `tika-core`'s parent POM
(`com.azure`, `io.grpc`, `org.eclipse.jetty`, `org.testcontainers`) in
`gradle/verification-metadata.xml`. No jars from these are pulled — only
their `.pom` signatures are validated.
- Update the expected release jar entry to `tika-core-4.0.0.jar`.
- Update the "Non-functional changes" changelog entry to Tika 4.x.
## Testing
- `./gradlew :src:core:classes :src:protocol:http:classes style` — pass.
- `:src:protocol:http:test` for `TestHTTPFileArg`, `TestHTTPFileArgs`,
`ParseCurlCommandActionTest` — 30 passed, 0 failed.
- `:src:dist:verifyReleaseDependencies` — runtime classpath matches the
expected jar list; signatures validated across the full runtime graph.
## Note (out of scope)
`Document.java` still keys its "missing tika" hint off
`java.class.path contains "tika-app"`. In 4.x `tika-app` ships as a zip
distribution rather than a fat jar, so that heuristic is now stale — left
untouched here as it concerns user runtime setup, not this build.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]