[jbosstools-dev] Problem with project m2e vs validation during import

Rob Cernich rcernich at redhat.com
Fri Oct 11 09:00:04 EDT 2013


> Xavier,
> 
> Worth checking out if your two different flows might be caused by your
> validator/builder being added in different sequence. Causing you to miss
> java changes ?

Max, I think the m2e builder always wants to be last: https://github.com/eclipse/m2e-core/blob/master/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java#L563

> 
> /max (sent from my phone)
> 
> 
> > On 10/10/2013, at 20.06, Alexey Kazakov <akazakov at exadel.com> wrote:
> > 
> > I didn't notice any problems with CDI validation for m2e projects.
> > But when we enable CDI support on the project (there is the only method
> > for that which is used by m2e, preference pages, new project wizard,
> > install facet delegates, etc)
> > we make sure we have builders in .project in a proper order.
> > So we don't just add cdi and validation builders. We re-order the list
> > of builders in .project. See
> > WebModelPlugin.addNatureToProjectWithValidationSupport();
> > In our case four builders are critical: Java, KB, CDI, WST validation.
> > And the order of these builders is critical for us.
> > Every time m2e changes something in the project, the whole stack of
> > builders is invoked and even if it does change the project step-by-step
> > the final changing/building will fix false validation problems caused by
> > previous changes.
> > 
> > On 10/10/2013 09:50 AM, Rob Cernich wrote:
> >>> There is something badly wrong if we need to start making that the habit
> >>> (if
> >>> your project is m2e then disable the validation and do it in a maven
> >>> plugin/extension instead) :)
> >> Yes.  That is the plan moving forward, but it was easier to get validation
> >> into the tooling than it was to get it into the mojo, so...
> >> 
> >>> ...but that said - I know we've seen more than a few issues with m2e vs
> >>> eclipse causing "havoc" on builds.
> >>> 
> >>> /max
> >>> 
> >>>> On Thu, Oct 10, 2013 at 11:49:10AM -0400, Rob Cernich wrote:
> >>>> Hey Xavier,
> >>>> 
> >>>> I had a similar problem with the SwitchYard validator. Upon further
> >>>> investigation, it appears m2e wants the Maven builder to be last in the
> >>>> list. Based on that, I eventually gave up, disabled the SwitchYard
> >>>> validator from the build and invoked it directly from the SwitchYard m2e
> >>>> build participant. I suspect something similar will probably need to be
> >>>> done in your case, assuming there is a JAX-RS participant for m2e.
> >>>> 
> >>>> Hope that helps,
> >>>> Rob
> >>>> 
> >>>> ----- Original Message -----
> >>>> 
> >>>>> hello,
> >>>>> I'm banging my head against the wall trying to fix this issue: On a
> >>>>> Full
> >>>>> Publish LiveReload refreshes the browser before the application is
> >>>>> fully
> >>>>> restarted
> >>>>> Here's the context: I have a kitchensink project in which there are are
> >>>>> JAX-RS errors (a custom JAX-RS HTTP Method is missing some annotations)
> >>>>> Now, here's the problem I have:
> >>>>> - in some cases, the metamodel exists and is complete (i.e.: the m2e
> >>>>> dependencies were properly set *before* the metamodel was built), and
> >>>>> then,
> >>>>> the validation occurs on the whole project, and I have the expect
> >>>>> errors
> >>>>> reported.
> >>>>> - in other cases, the validation on the whole project is executed
> >>>>> *before*
> >>>>> m2e did set the dependencies on the project's classpath. At this stage,
> >>>>> the
> >>>>> metamodel exists but it is empty (the java classes have compilation
> >>>>> errors
> >>>>> because of missing libs, so no JAX-RS element was created). The
> >>>>> metamodel
> >>>>> is
> >>>>> completed after m2e updated the project's classpath, but then a
> >>>>> validation
> >>>>> job is triggered because of bunch of xml files (not related to the
> >>>>> JAX-RS
> >>>>> classes) were processed by m2e and copied into the /target/classes
> >>>>> output
> >>>>> folder. This means that the full validation was not executed.
> >>>>> Basically, it looks as if some operations (m2e / JAX-RS / validation)
> >>>>> don't
> >>>>> always occur in the same order, which sometimes result in incomplete
> >>>>> validation and missing markers as expected. (not to mention that I have
> >>>>> no
> >>>>> clue how to force the order of execution, which makes the debugging
> >>>>> *not
> >>>>> fun*...)
> >>>>> Any idea how I could make sure the validation (based on
> >>>>> org.jboss.tools.common.validation) could be always called on the
> >>>>> project
> >>>>> after m2e sets the dependencies in the classpath ?
> >>>>> Thanks for your help ;-)
> >>>>> Best regards,
> >>>>> /Xavier
> >>>>> _______________________________________________
> >>>>> jbosstools-dev mailing list
> >>>>> jbosstools-dev at lists.jboss.org
> >>>>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
> >>>> _______________________________________________
> >>>> jbosstools-dev mailing list
> >>>> jbosstools-dev at lists.jboss.org
> >>>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
> >> _______________________________________________
> >> jbosstools-dev mailing list
> >> jbosstools-dev at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
> > 
> > _______________________________________________
> > jbosstools-dev mailing list
> > jbosstools-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/jbosstools-dev
> 
> _______________________________________________
> jbosstools-dev mailing list
> jbosstools-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
> 


More information about the jbosstools-dev mailing list