desruisseaux commented on PR #320:
URL: 
https://github.com/apache/maven-compiler-plugin/pull/320#issuecomment-2822410326

   The problem is that neither the old or the new implementation can determine 
reliably what needs to be recompiled as a result of a change. For a true 
determination, we would need to build a graph of relationships between all 
`*.class` files. Since we don't do that (yet), we provide options for different 
approximations. Which approximation is the best compromise between speed and 
safety depends on the developer's habits (e.g., do they run `mvn clean` 
themselves when they know that it will be necessary?). Hence the choice left to 
the developers.
   
   Another reason is historical: the old implementation already provided a 
configuration option in the form of a simple boolean value. But neither the 
behaviour of the `true` or `false` value was really satisfying, which caused 
the complains that we received from users against incremental compilation. 
Therefore, we needed a mechanism capable to reproduce both the behaviour of the 
old boolean flag and a more satisfying behaviour.


-- 
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: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to