Skip to content

Update to Grobid 0.9.1 and simplify build.gradle - #72

Merged
lfoppiano merged 6 commits into
masterfrom
feature/grobid-0.9.1
Aug 5, 2026
Merged

Update to Grobid 0.9.1 and simplify build.gradle#72
lfoppiano merged 6 commits into
masterfrom
feature/grobid-0.9.1

Conversation

@lfoppiano

Copy link
Copy Markdown
Collaborator
  • Bump grobid-core/service/trainer 0.9.0 -> 0.9.1
  • Dockerfile.software runtime base image 0.9.0-full -> 0.9.1-full
  • Drop the Kotlin plugin and kotlin-test/mockk test deps: the project has no Kotlin sources, so this was dead config (and would have clashed with the kotlin-stdlib 2.2.20 that Grobid 0.9.1 now pulls)
  • Remove a duplicated 'artifacts' block
  • Quieten getGitRevision (drop debug printlns) to match datastet

- Bump grobid-core/service/trainer 0.9.0 -> 0.9.1
- Dockerfile.software runtime base image 0.9.0-full -> 0.9.1-full
- Drop the Kotlin plugin and kotlin-test/mockk test deps: the project
  has no Kotlin sources, so this was dead config (and would have
  clashed with the kotlin-stdlib 2.2.20 that Grobid 0.9.1 now pulls)
- Remove a duplicated 'artifacts' block
- Quieten getGitRevision (drop debug printlns) to match datastet

Aligns the shared scaffolding with the sister datastet project.
31/33 unit tests pass; the 2 failures (SoftwareParserTest,
SoftwareContextClassifierTest) are pre-existing and environmental
(no jep native lib on java.library.path) — identical on master.
Grobid is not published to Maven Central, so the 0.9.1 artifacts are
vendored into the project-local repo (as 0.9.0 was) to keep clean
checkouts and CI building without a prior grobid publishToMavenLocal.
Removed the superseded 0.9.0 jars. Verified resolution with mavenLocal
and the Gradle cache purged of 0.9.1.
No test uses PowerMock; remove powermock-module-junit4 /
powermock-api-easymock. Add an explicit junit:junit:4.13.2 because the
JUnit 4 API was previously provided transitively by
powermock-module-junit4 (JUnit 4 tests run via junit-vintage-engine).
Grobid 0.9.1 runs on Dropwizard 5.0.1 / Jetty 12, and grobid-service's POM
pulls that stack transitively, so the app must move too:
- build.gradle: dropwizard 4.0.17 -> 5.0.1, guicey 7.3.1 -> 8.0.2, add
  jetty-bom/jetty-ee10-bom 12.1.9 (CVE-2026-2332); slf4j-api 1.7.36 -> 2.0.17.
- Application: Jetty 12 removed org.eclipse.jetty.servlets CrossOriginFilter/
  QoSFilter; replace with the CrossOriginHandler/QoSHandler server handlers
  (as Grobid does) via environment.getApplicationContext().insertHandler(...).

Without this the service crashed on startup with
NoClassDefFoundError: org/eclipse/jetty/servlets/CrossOriginFilter.
Verified clean env: resolves dropwizard 5.0.1 + jetty 12.1.9 + opennlp 2.5.9;
onejar bundles CrossOriginHandler/QoSHandler.
@lfoppiano lfoppiano changed the title build: update to Grobid 0.9.1 and simplify build.gradle Update to Grobid 0.9.1 and simplify build.gradle Aug 5, 2026
Signed-off-by: Luca Foppiano <luca@foppiano.org>
Dropwizard 5's DefaultServerFactory no longer accepts server.maxQueuedRequests;
the service fails to start with UnrecognizedPropertyException otherwise. Remove
it from config.yml and config-docker.yml (idleTimeout/acceptQueueSize are
already correctly nested under the http connector, where they remain valid).
@lfoppiano
lfoppiano merged commit f1ca9f7 into master Aug 5, 2026
2 checks passed
@lfoppiano
lfoppiano deleted the feature/grobid-0.9.1 branch August 5, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant