ascheman commented on PR #3392: URL: https://github.com/apache/maven-surefire/pull/3392#issuecomment-5016962368
@desruisseaux > I think that it would be nice if we could remove all `--add-reads` and `--add-modules` options added by Surefire when a `module-info-patch.args` file is present (these options would still be added automatically as a fallback when `module-info-patch.args` is not present). Agreed on the direction — and you anticipated the reason for the current compromise: today surefire places test-scope dependencies (JUnit engine etc.) on the *classpath*, so honoring the file's `--add-reads <m>=org.junit.jupiter.api` / `--add-modules` verbatim would reference modules that are not in the fork's boot layer, and the JVM fails with `FindException`. That is why #3392 keeps surefire's own `ALL-UNNAMED`/`ALL-MODULE-PATH` handling as a bridge. Fully honoring `module-info-patch.args` is, at its core, SUREFIRE-1755 (#3090): put the test-scope dependencies referenced by `add-modules TEST-MODULE-PATH` on the module path. Once that is in place, the natural completion is exactly what you describe — pass the file's directives through verbatim and only auto-generate `--add-reads`/`--add-opens`/`--add-modules` as a fallback when no `module-info-patch.args` exists. I'm starting on that right away on a branch stacked on top of #3392/#3394 (the descriptor-driven path split from #3393 is the natural foundation), tracked under #3090 — the PR will arrive as a draft and become mergeable once these two have landed. -- 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]
