I think this change makes sense. But I know at least one external dependency: http://groovy.codehaus.org/Groovy-Eclipse+compiler+plugin+for+Maven
I don't know if Andrew is listening here ? 2012/10/19 Anders Hammar <and...@hammar.net>: >> Changing the version number to 2.0 is not good enough to make >> incompatible changes, due to the working of dependency resolution. > > Sure it is, out of a configuration management perspective. Out of a > Maven dep resolution perspective it might not be optimal. Preserving > backwards compatibility is always desirable but sometimes it might > just not be possible or might come at a high cost. Not saying it's the > case here, but just generally speaking. > >> Maven will, of course, cheerfully and silently substitute 2.0 for 1.2 >> in a dependency tree, with unhappy result. You have to, of course, >> change the G or the A, and the package names, to allow interoperation. > > Wee, that would be even worse as Maven would then treat it as two > different artifacts while they contain the same classes. So only the > first one on the classpath will be used. > > But I understand the worries and that's why I asked if it known to be > used by anything other than m-compiler-p. If it isn't, and as we > control m-compiler-p, there is no problem doing backwards incompatible > changes. > I might be remembering wrong, but I think that someone proposed moving > the code to Apache Maven space and we could do the changes then > instead. > > Just to shed some light on why I think we should do this: > In some cases there aren't an error message returned by the compiler > even though the compilation did/should fail. Such a case is IIRC if > "-Werror" is configured, where compilation fails on warnings as well. > Today the plexus-compiler handles this by adding a fake error message > so that m-compiler-p will see an error message in the returned list of > messages. And then fail the plugin execution. Just not a pretty > solution which is actually currently buggy (stopped working in v1.9.2 > of plexus-compiler e.g.). > > /Anders > > >> >> I'm not trying to convince you do to this for plexus compiler, but I >> hate to leave an email thread lying about that gives the impression >> that bumping the version number a long distance is all it takes. >> >> >>> >>> /Anders >>> >>> On Fri, Oct 19, 2012 at 12:56 PM, Arnaud Héritier <aherit...@gmail.com> >>> wrote: >>>> +1 to bump the compiler to 3.0 with this change >>>> >>>> On Fri, Oct 19, 2012 at 12:30 PM, Olivier Lamy <ol...@apache.org> wrote: >>>> >>>>> So as no objections it's now merged. >>>>> I bumped plexus-compiler version to 2.0-SNAPSHOT. >>>>> >>>>> As maven-compiler-plugin has a lot of changes (including incremental >>>>> stuff) I wonder about bump version to 3.0-SNAPSHOT ? >>>>> >>>>> 2012/10/18 Olivier Lamy <ol...@apache.org>: >>>>> > just FYI I have created a branch here >>>>> > https://github.com/sonatype/plexus-compiler/tree/PLXCOMP-1 >>>>> > This supports 1.5 and javax.tools if available in the user env. >>>>> > >>>>> > I have noticed some perf degradation testing the pull request >>>>> > https://github.com/sonatype/plexus-compiler/pull/6. >>>>> > Using JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); >>>>> > for each compilation is very slower. >>>>> > >>>>> > So I have tried to mimic similar stuff as done with current Javacc >>>>> > (the reuseStrategy see >>>>> > >>>>> http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#compilerReuseStrategy >>>>> > ). NOTE that's a *very* basic pool mechanism :-). >>>>> > >>>>> > As I have no idea if the compiler is threadsafe or not (it's not >>>>> > documented to be thread safe in javadoc but at least javadoc samples >>>>> > says it can be reused for future compilation). Tests on my env (osx + >>>>> > java 1.6.0_37) looks to say yes. >>>>> > >>>>> > In compiler plugin (not committed yet), I have added a flag to disable >>>>> > use of javax.tools usage (as it if that breaks on some os/jdk users >>>>> > will be able to disable it even if that's detected to be usable) >>>>> > >>>>> > WDYT ? >>>>> > >>>>> > 2012/10/1 Stephen Connolly <stephen.alan.conno...@gmail.com>: >>>>> >> On 28 September 2012 18:15, John Casey <jdca...@commonjava.org> wrote: >>>>> >> >>>>> >>> On 9/28/12 12:08 PM, Mark Struberg wrote: >>>>> >>> >>>>> >>>> +1 >>>>> >>>> >>>>> >>>> Imo this comes hand in hand with moving maven-core to 1.6 as well and >>>>> a >>>>> >>>> version bump to mvn-3.2.0 or even mvn-3.5.0 >>>>> >>>> >>>>> >>>> We might create a documentation page about "Strategies for targeting >>>>> >>>> older Java versions" which outlines the animal-sniffer, etc >>>>> >>>> >>>>> >>>> LieGrue, >>>>> >>>> strub >>>>> >>>> >>>>> >>> >>>>> >>> I think the plugin could be a sort of advance guard for the core >>>>> itself, >>>>> >>> since people can still use the core + the older version of the >>>>> >>> compiler >>>>> >>> plugin to run on 1.5... >>>>> >>> >>>>> >>> I wouldn't want to get mired in a discussion about when we're going to >>>>> >>> move the core up to 1.6, since that's a bit more work. >>>>> >>> >>>>> >>> >>>>> >> There is the Toolchains issue. >>>>> >> >>>>> >> At present, AFAIK we can use Toolchains to run Maven with Java 1.6 and >>>>> >> compile with Java 1.3. >>>>> >> >>>>> >> Surefire supports running tests via toolchains down to Java 1.3 IIRC >>>>> >> >>>>> >> If we are doing something that makes this kind of thing impossible >>>>> >> *even >>>>> >> via toolchains* then my feeling is that I am -1. >>>>> >> >>>>> >> If we can find a way (more indirection please, it solves all problems >>>>> don't >>>>> >> you know) to allow this to work *and* retain toolchains support for >>>>> >> compiling with JDK 1.3 then +1. >>>>> >> >>>>> >> >>>>> >>> >>>>> >>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> ----- Original Message ----- >>>>> >>>> >>>>> >>>>> From: John Casey <jdca...@commonjava.org> >>>>> >>>>> To: Maven Developers List <dev@maven.apache.org> >>>>> >>>>> Cc: >>>>> >>>>> Sent: Friday, September 28, 2012 6:53 PM >>>>> >>>>> Subject: PLXCOMP-1 and improving compiler-message parsing >>>>> >>>>> >>>>> >>>>> Hi everyone, >>>>> >>>>> >>>>> >>>>> There's a new patch to the plexus-compiler libraries which improves >>>>> the >>>>> >>>>> parsing of the output messages, especially for annotation >>>>> >>>>> processing. >>>>> >>>>> Previously, a lot of non-error messages caused plexus-compiler (and >>>>> >>>>> thereby, >>>>> >>>>> Maven) to think a compilation error had occurred. The patch fixes >>>>> this >>>>> >>>>> by using >>>>> >>>>> the javax.tools APIs to work with in-process compilation. >>>>> >>>>> >>>>> >>>>> The patch is here: >>>>> >>>>> >>>>> >>>>> https://github.com/sonatype/**plexus-compiler/pull/6< >>>>> https://github.com/sonatype/plexus-compiler/pull/6> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> The issue is here (it's been out there for a LONG time, as you can >>>>> see: >>>>> >>>>> >>>>> >>>>> http://jira.codehaus.org/**browse/PLXCOMP-1< >>>>> http://jira.codehaus.org/browse/PLXCOMP-1> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> The javax.tools APIs are JDK 1.6+ IIRC, so merging this patch would >>>>> >>>>> effectively >>>>> >>>>> drag the future of the maven-compiler-plugin up to requiring JDK >>>>> >>>>> 1.6. >>>>> >>>>> Personally, since JDK 1.5 has been out almost as long as I've been >>>>> coding >>>>> >>>>> (well, not too far), I don't see the problem. Remember, we're not >>>>> asking >>>>> >>>>> people to upgrade their production VM, only the build-time >>>>> version...and >>>>> >>>>> we have >>>>> >>>>> documented strategies for targeting older VM versions successfully. >>>>> >>>>> >>>>> >>>>> We might look at strategies for degrading gracefully in case someone >>>>> is >>>>> >>>>> using >>>>> >>>>> JDK 1.5, but IMO we need to be very careful about this. For >>>>> instance, I >>>>> >>>>> wouldn't want people to wind up with unexplained, random new errors >>>>> >>>>> because >>>>> >>>>> they accidentally set their $PATH wrong. But maybe we could give >>>>> them a >>>>> >>>>> large >>>>> >>>>> warning then switch over to forked-mode compilation in this case? >>>>> >>>>> >>>>> >>>>> I'd really hate to see this patch go unmerged because we're stuck >>>>> >>>>> supporting JDK 1.5...or if we do reject it on these grounds, maybe >>>>> >>>>> we >>>>> >>>>> need to >>>>> >>>>> talk about when it's reasonable to jump ship on 1.5 if not now? >>>>> >>>>> >>>>> >>>>> I'd LIKE to merge this patch, release plexus-compiler, and document >>>>> how >>>>> >>>>> to >>>>> >>>>> use it as a plugin-level dependency...then make the move to 1.6 for >>>>> the >>>>> >>>>> compiler >>>>> >>>>> plugin. >>>>> >>>>> >>>>> >>>>> Thoughts? >>>>> >>>>> >>>>> >>>>> -john >>>>> >>>>> >>>>> >>>>> -- John Casey >>>>> >>>>> Developer, PMC Member - Apache Maven (http://maven.apache.org) >>>>> >>>>> GitHub - http://github.com/jdcasey >>>>> >>>>> >>>>> >>>>> ------------------------------**------------------------------** >>>>> >>>>> --------- >>>>> >>>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.**org< >>>>> dev-unsubscr...@maven.apache.org> >>>>> >>>>> For additional commands, e-mail: dev-h...@maven.apache.org >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>>> ------------------------------**------------------------------**--------- >>>>> >>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.**org< >>>>> dev-unsubscr...@maven.apache.org> >>>>> >>>> For additional commands, e-mail: dev-h...@maven.apache.org >>>>> >>>> >>>>> >>>> >>>>> >>> >>>>> >>> -- >>>>> >>> John Casey >>>>> >>> Developer, PMC Member - Apache Maven (http://maven.apache.org) >>>>> >>> GitHub - http://github.com/jdcasey >>>>> >>> >>>>> >>> >>>>> ------------------------------**------------------------------**--------- >>>>> >>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.**org< >>>>> dev-unsubscr...@maven.apache.org> >>>>> >>> For additional commands, e-mail: dev-h...@maven.apache.org >>>>> >>> >>>>> >>> >>>>> > >>>>> > >>>>> > >>>>> > -- >>>>> > Olivier Lamy >>>>> > Talend: http://coders.talend.com >>>>> > http://twitter.com/olamy | http://linkedin.com/in/olamy >>>>> >>>>> >>>>> >>>>> -- >>>>> Olivier Lamy >>>>> Talend: http://coders.talend.com >>>>> http://twitter.com/olamy | http://linkedin.com/in/olamy >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >>>>> For additional commands, e-mail: dev-h...@maven.apache.org >>>>> >>>>> >>>> >>>> >>>> -- >>>> ----- >>>> Arnaud Héritier >>>> 06-89-76-64-24 >>>> http://aheritier.net >>>> Mail/GTalk: aherit...@gmail.com >>>> Twitter/Skype : aheritier >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >>> For additional commands, e-mail: dev-h...@maven.apache.org >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >> For additional commands, e-mail: dev-h...@maven.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > -- Olivier Lamy Talend: http://coders.talend.com http://twitter.com/olamy | http://linkedin.com/in/olamy --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org