anton-vinogradov commented on code in PR #13095: URL: https://github.com/apache/ignite/pull/13095#discussion_r3545230845
########## .mvn/jvm.config: ########## @@ -0,0 +1,10 @@ +--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED Review Comment: These --add-opens are needed to run MessageProcessorTest: it uses com.google.testing.compile to compile test messages in-process, and that library reflects into jdk.compiler internals (com.sun.tools.javac.*), which JDK 16+ blocks without these opens. None of the codegen annotation processors touch javac internals themselves, so the main build / test-compile doesn't need them — only running that test does. On why .mvn/jvm.config rather than a profile: our surefire runs with forkCount=0 (parent/pom), so tests execute inside the Maven JVM and the surefire argLine isn't applied — the opens have to be on the Maven JVM itself. Profiles are evaluated after the JVM has launched, so they can't contribute launch-time --add-opens either. That leaves .mvn/jvm.config (or MAVEN_OPTS) as the only place that works under forkCount=0. Since the file exists solely for the codegen tests this PR introduces, it isn't really separable into another PR. Re the commands: -P all-java only affects compilation (it doesn't run MessageProcessorTest), and -Psurefire-fork-count-1 would fork surefire, but that fork's argLine doesn't currently carry the jdk.compiler opens, so the test would fail there. If useful, I can additionally mirror these opens into the surefire argLine so the forked-run workflow works too — but the file itself is still required for the default forkCount=0 path. -- 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]
