I created a pull request for Maven core which fixes the issue that the
new maven-compiler-plugin was facing (the confusion between "jar" and
"test-jar"). With this fix, I'm starting to be able to compile the
projects in my company with the new compiler.
https://github.com/apache/maven/pull/1621
However, for future Maven developments, I have a wish. Pretty much every
classes in the "org.apache.maven.internal.impl" package are public.
Would it be possible to reduce visibility as much as possible? A drastic
approach could be to make every classes package-private, then turn back
to public only the classes that appear necessary for compilation or
execution. The reason is because there is a lot of room for improvements
in Maven, but with everything public, I do not really dare to propose
too much refactoring. The pull request in this email contains an
opportunistic refactoring for reducing code duplication. But I do not
know if by doing so, I'm breaking code in other modules that may be
using the implementation classes directly.
This with about reducing "org.apache.maven.internal.impl" visibility
applies also to every implementation packages in Maven.
Martin