You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Piotr Zygielo (Jira)" <ji...@apache.org> on 2022/12/23 22:36:00 UTC
[jira] [Commented] (MCOMPILER-511) proc:only doesn't work as expected
[ https://issues.apache.org/jira/browse/MCOMPILER-511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17651733#comment-17651733 ]
Piotr Zygielo commented on MCOMPILER-511:
-----------------------------------------
When with given reproducer
{{mvn clean generate-sources}}
is used - no .class is generated (no compilation happens), as then execution {{id=process}} takes place.
I believe it's the info log that uses "Compiling". But what other verb would be more appropriate? javacing?
With {{clean compile}} - the second :compile (the first is bound to generare-sources) DOES compile. As expected.
IMO - all is fine with the plugin, and this issue is either invalid or should be changed to improvement to change the log message, if that is possible at all.
> proc:only doesn't work as expected
> ----------------------------------
>
> Key: MCOMPILER-511
> URL: https://issues.apache.org/jira/browse/MCOMPILER-511
> Project: Maven Compiler Plugin
> Issue Type: Bug
> Affects Versions: 3.10.1
> Environment: Windows, Tested with JDK 1.8, 11, 17
> Reporter: Stefan Röck
> Priority: Major
>
> According to the docs [https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#proc,] *proc:only* should only process annotation processors but *not* trigger compilation. However, files are always compiled with the following config:
> {code}
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-compiler-plugin</artifactId>
> <version>3.10.1</version>
> <executions>
> <execution>
> <id>process</id>
> <phase>generate-sources</phase>
> <goals>
> <goal>compile</goal>
> </goals>
> <configuration>
> <annotationProcessors>
> <processor>org.immutables.processor.ProxyProcessor</processor>
> </annotationProcessors>
> <proc>only</proc>
> </configuration>
> </execution>
> </executions>
> </plugin>
> {code}
> See small reproducer repo at https://github.com/stefanroeck/annotationtest
> In the logs I can see that the prop is passed through, but still 2 classes are compiled:
> {code}
> 21:12:25,407 [DEBUG] -d C:\dev\IdeaProjects\annotationtest\target\classes -classpath C:\dev\IdeaProjects\annotationtest\target\classes;C:\Dev\.m2\repository\org\immutables\value\2.8.8\value-2.8.8.jar; -sourcepath C:\dev\IdeaProjects\annotationtest\src\main\java;C:\dev\IdeaProjects\annotationtest\target\generated-sources\annotations; -s C:\dev\IdeaProjects\annotationtest\target\generated-sources\annotations -proc:only -processor org.immutables.processor.ProxyProcessor -g -nowarn -target 17 -source 17 -encoding UTF-8
> 21:12:25,412 [DEBUG] incrementalBuildHelper#beforeRebuildExecution
> 21:12:25,412 [INFO] Compiling 2 source files to C:\dev\IdeaProjects\annotationtest\target\classes
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)