Thanks Olivier! It should be rocking now, hopefully.

/Anders


On Thu, Nov 8, 2012 at 3:34 PM, Olivier Lamy <ol...@apache.org> wrote:

> done
>
> 2012/11/8 Anders Hammar <and...@hammar.net>:
> > I've sent a pull requests which, IMHO, cleans things up in the javac
> part.
> > Mainly I've focused on having the success param of CompilerResult to
> signal
> > if the compilation is successful or not, regardless of if there are any
> > error messages or not. The old code always added a fake error message
> > (which we had to do with the old CompilerError object).
> >
> > This will also require changes to the current maven-compiler-plugin
> logic,
> > as it expects there to be an error message. It doesn't pay attention to
> the
> > success param of CompilerResult. I have this fixed locally and I'll
> commit
> > as soon as there is a new snapshot of plexus-compiler deployed.
> >
> > /Anders
> >
> >
> > On Mon, Oct 29, 2012 at 11:09 PM, Anders Hammar <and...@hammar.net>
> wrote:
> >
> >> I've added comments to the pull request itself.
> >>
> >> /Anders
> >>
> >> On Sun, Oct 28, 2012 at 10:42 PM, Olivier Lamy <ol...@apache.org>
> wrote:
> >> > Hi,
> >> > So have a look at those changes
> >> > https://github.com/sonatype/plexus-compiler/pull/10.
> >> > This break backward comp but as it will be easier in the future to
> >> > improve the compiler result without breaking backward comp.
> >> >
> >> >
> >> >
> >> >
> >> > 2012/10/19 Olivier Lamy <ol...@apache.org>:
> >> >> 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
> >> >
> >> >
> >> >
> >> > --
> >> > 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
> >> >
> >>
>
>
>
> --
> 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
>
>

Reply via email to