gnodet commented on PR #160:
URL: 
https://github.com/apache/maven-compiler-plugin/pull/160#issuecomment-2071969652

   > > remove plexus-compiler layer but what about other compilers?
   > 
   > `javax.tools.JavaCompiler` is an interface. From a quick search on 
internet, I think (but did not verified closely) that the Eclipse compiler 
implements this interface. If there is still a need for the Plexus compiler, we 
can write a wrapper. The `javax.tools` API is preferred to the Plexus API 
because it has some JPMS specific methods that I didn't saw in Plexus API. It 
also has a method telling us whether an option is valid, and a caching 
mechanism.
   > 
   > For languages other than Java, we would need a separated plugin. With JPMS 
support, multi-releases support, incremental build (even incomplete), etc., 
this plugin is very Java-specific.
   
   The point is that this interface may not be sufficient.  Ideally, we'd have 
a list of output files, that would help with the heuristic.
   I'm not sure the eclipse compiler is required for full incremental build, I 
think the requirement for the eclipse compiler is when only exposing direct 
dependencies for compiled classes (i.e. hide transitive dependencies so that 
the user is forced to declare those when the code is actually using them)


-- 
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