Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[recommenders-dev] HOWTO resolve common m2e build problems

Hi all,

some of you (hi Patrick, hi Timur! :-) have recently reported some
problems with the build for the o.e.r project itself.

First of all, some background: Our build is based on Apache Maven +
Tycho. Maven's primary project description is the pom.xml file found in
each project (remember: if there isn't a pom.xml in a directory, then it
isn't a project -- at least not for Maven). Tycho makes the information
stored in the project description of an OSGi-based project (MANIFEST.MF,
build.properties, feature.xml, etc.) available to Maven, essentially
mapping the information found in the manifest and other files to the
equivalent concept in the pom.xml. Finally, Eclipse has its own project
description (.project, .classpath, maybe also .settings/*). Ideally,
these things are all consistent and synchronized automatically. This is
done by the m2e plugin [1].

So, when you import the whole of o.e.r ("Import as Maven Project" works
best, IMHO), each project in your workspace should have a small "M" next
to its folder icon. This means that it was recognized and m2e is trying
to keep the different project descriptions consistent.

Now, if you see "Plugin execution not covered by lifecycle
configuration" errors (as Timur does), this is m2e's way of telling you
that it does not understand the configuration of a certain *Maven*
plugin in your pom.xml and hence cannot map its configuration to a
project description Eclipse would understand (.project, .classpath, etc.).

The way to solve this is typically by using the Quick Fix. First, try to
"Discover m2e Connector". Such a connector is what helps m2e understand
the different plugins in the POM. So, for our Tycho-based Maven
projects, connectors for the tycho-compiler-plugin, the
tycho-packaging-plugin, etc. are crucial in keeping the Eclipse Plugin
Development Tools and Tycho/Maven in-sync. So just install them and most
of the errors should be gone. (If not, a refresh and "Maven/Update
Projects" from the context menu are in order.)

Now, for some other Maven plugins (docbkx-maven-plugin), there is no
connector (yet). This is not a problem, as in our case these plugins
don't do something crucial during the build that Eclipse needs to be
aware of. Here, the Quick Fix offers to mark is as ignored in the
(project) preferences or in the pom.xml. The former is flagged as
experimental, but IMHO at the moment the way to go, as the latter would
change the pom.xml file and you would then have to remember not to
commit these changes. (I may, however, make those changes in the
official POM at o.e.r, so that it works out-of-the-box for everyone in
the future.)

Finally, I bit of advice. IMHO, the best Eclipse packaging to get
started contributing to Code Recommenders is "Eclipse IDE for Java and
DSL Developers". It contains m2e, EGit, the Plugin Development Tools,
Xtend (which we use to write some of our tests in) and Xtext (for Timur
;-). And, last but not least, it contains Code Recommenders.

So, please let me know if these helps or not. I guess I'll turn you
feedback into an update of the Recommenders/BuildingFromSource wiki page
later this week.

Hope this helps.

Andreas

[1] <http://www.eclipse.org/m2e/>
[2]
<http://www.eclipse.org/downloads/packages/eclipse-ide-java-and-dsl-developers/keplerr>
[3]
<git://git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git>

-- 
Codetrails UG (haftungsbeschränkt)
The knowledge transfer company

Robert-Bosch-Str. 7, 64293 Darmstadt
Mobile: +49-170-811-3791
http://www.codetrails.com/

Managing Director: Dr. Marcel Bruch
Handelsregister: Darmstadt HRB 91940


Back to the top