Skip to content

Replace deprecated maven-verifier with custom RunningMavenProcess - #793

Merged
tsegismont merged 1 commit into
reactiverse:masterfrom
tsegismont:maven-executor-migration
Oct 19, 2026
Merged

tsegismont merged 1 commit into
reactiverse:masterfrom
tsegismont:maven-executor-migration

Conversation

@tsegismont

Copy link
Copy Markdown
Member

org.apache.maven.shared:maven-verifier is deprecated and scheduled for removal. This commit migrates all integration tests off it.

A new RunningMavenProcess helper class replaces both Verifier (for static-outcome tests) and RunningVerifier (for long-running process tests). It uses ProcessBuilder directly, supports blocking (execute()) and non-blocking (start()/stop()) modes, captures stdout and stderr via background reader threads, and forwards maven.home and maven.repo.local from system properties. On Windows, stop() uses WinProcess.killRecursively() to terminate the entire process tree; on Linux it sends SIGTERM and falls back to SIGKILL after a grace period.

Tests that had direct equivalents in the existing Maven Invoker test suite are removed from the Java IT layer:

  • SetupIT is deleted; two new invoker projects cover the verticle-creation scenarios
  • PackagingIT.testAlternativeOutputDir and testContentInTheJar are dropped (the latter already covered by package-archive-dependencies-it)
  • RunIT.testResourceOrdering and testRunAppUsingVertxSnapshotVersion become invoker projects

Assisted-By: Claude Sonnet 4.6

`org.apache.maven.shared:maven-verifier` is deprecated and scheduled for removal. This commit migrates all integration tests off it.

A new `RunningMavenProcess` helper class replaces both `Verifier` (for static-outcome tests) and `RunningVerifier` (for long-running process tests). It uses `ProcessBuilder` directly, supports blocking (`execute()`) and non-blocking (`start()`/`stop()`) modes, captures stdout and stderr via background reader threads, and forwards `maven.home` and `maven.repo.local` from system properties. On Windows, `stop()` uses `WinProcess.killRecursively()` to terminate the entire process tree; on Linux it sends SIGTERM and falls back to SIGKILL after a grace period.

Tests that had direct equivalents in the existing Maven Invoker test suite are removed from the Java IT layer:
- `SetupIT` is deleted; two new invoker projects cover the verticle-creation scenarios
- `PackagingIT.testAlternativeOutputDir` and `testContentInTheJar` are dropped (the latter already covered by `package-archive-dependencies-it`)
- `RunIT.testResourceOrdering` and `testRunAppUsingVertxSnapshotVersion` become invoker projects

Assisted-By: Claude Sonnet 4.6
@tsegismont
tsegismont merged commit 2174f0c into reactiverse:master Oct 19, 2026
7 checks passed
@tsegismont
tsegismont deleted the maven-executor-migration branch October 19, 2026 15:03
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