[ https://issues.apache.org/jira/browse/MCOMPILER-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17823695#comment-17823695 ]
ASF GitHub Bot commented on MCOMPILER-548: ------------------------------------------ rmannibucau commented on code in PR #200: URL: https://github.com/apache/maven-compiler-plugin/pull/200#discussion_r1513106708 ########## src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java: ########## @@ -279,8 +279,11 @@ public abstract class AbstractCompilerMojo extends AbstractMojo { * <ul> * <li><code>none</code> - no annotation processing is performed.</li> * <li><code>only</code> - only annotation processing is done, no compilation.</li> + * <li><code>full</code> - annotation processing and compilation.</li> * </ul> * + * <code>full</code> is the default. Starting with JDK 21, this option must be set explicitly. Review Comment: > We can use conditions depending on the javac version fact is we don't know with javac version what is supported since several vendors did backport full support. > we can add a property for proc parameter and property can be overridden in child modules with empty value. It is already the case AFAIK (side note being adding properties for compiler args is quite misleading and lead to broken configuration more than it helps IMHO). -> https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#proc Think we don't have much choice to split the default compilation in 2 runs if there is at least one processor available (path or serviceloader discovery) and proc is not configured in compiler properties or args. > JDK 21 throws annotations processing warning that can not be turned off > ----------------------------------------------------------------------- > > Key: MCOMPILER-548 > URL: https://issues.apache.org/jira/browse/MCOMPILER-548 > Project: Maven Compiler Plugin > Issue Type: Bug > Affects Versions: 3.11.0 > Reporter: Henning Schmiedehausen > Priority: Major > > maven compiler plugin 3.11 on Java 21 reports > {quote} > [INFO] Annotation processing is enabled because one or more processors were > found > on the class path. A future release of javac may disable annotation > processing > unless at least one processor is specified by name (-processor), or a search > path is specified (--processor-path, --processor-module-path), or annotation > processing is enabled explicitly (-proc:only, -proc:full). > Use -Xlint:-options to suppress this message. > Use -proc:none to disable annotation processing. > {quote} > However, the {{<proc>}} option only supports "none" and "proc", not "full" > (which is the implicit default). > Adding this through a compiler option: > {quote} > <configuration> > <compilerArgs> > <arg>-proc:full</arg> > </compilerArgs> > </configuration> > {quote} > fixes this warning. Adding "full" as a value for the compiler plugin would > fix it, too. -- This message was sent by Atlassian Jira (v8.20.10#820010)