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