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]

Reply via email to