[ https://issues.apache.org/jira/browse/MCOMPILER-581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17824354#comment-17824354 ]
Tamas Cservenak commented on MCOMPILER-581: ------------------------------------------- How about something along these lines: * create 2 new mojos "apt" and "test-apt" that automatically binds to "generate-sources" and "generate-test-sources" phases: they use {{proc:only}} * add new configuration to {{AbstractCompilerMojo}} like "two phase APT" (boolean) defaults to false, keep today functionality, works as now * behavior change 1: if "two phase APT" is false, the two new mojos just skip (like skip would be set), they immediately exit doing nothing and existing compile and test-compile mojos do whatever they did before. * behavior change 2: "if two phase APT" is true, existing compiler mojo use {{proc:none}} (maybe fail if proc explicitly configured?), and the two new mojos activate and run using {{{}proc:only{}}}. Am unsure why we need Maven4 for change like this. > Create 2nd default execution "default-generate-sources" for APT > --------------------------------------------------------------- > > Key: MCOMPILER-581 > URL: https://issues.apache.org/jira/browse/MCOMPILER-581 > Project: Maven Compiler Plugin > Issue Type: Task > Reporter: Benjamin Marwell > Priority: Major > Fix For: 4.0.0 > > > Starting with version 4.0.0 of this plugin for use with Maven 4+, the > following changes should be incorporated to align the compilation process > with the process designed by the OpenJDK javac team: > * Modify default-compile to use proc:none by default > * Create a new goal default-generate-sources and use proc:only > This will align the compilation process with the default javac use. > h2. Rationale > Before JDK 21+, no "proc:full" was available and implicitly used when no > proc:* was set. > However, starting with JDK 21, proc:full was introduced and not specifying > proc:* will now trigger a warning. > h2. Alternatives > Keep one phase but specify proc:full whenever APTs are in the CP or used as a > compiler-plugin dependency/path or when APT classes are explicitly given. > h2. Drawbacks of this approach > TODO: document drawbacks of this approach and of the alternatives. -- This message was sent by Atlassian Jira (v8.20.10#820010)