Hi Everyone,
Now that we're pretty close to being able to run builds from WTP. I
thought I'd write this email about keeping pom.xml versions up to
date. Unfortunately with Tycho the version for an artifact in a
pom.xml need to match the version that's listed in the feature.xml,
MANIFEST.MF or plugin.xml. This version number needs to match
exactly otherwise we will see build issues such as:
[ERROR] Failed to execute goal
org.eclipse.tycho:tycho-packaging-plugin:0.19.0-SNAPSHOT:validate-version
(default-validate-version) on project org.eclipse.jst.j2ee.core:
Unqualified OSGi version 1.3.100.qualifier must match unqualified
Maven version 1.3.0-SNAPSHOT for SNAPSHOT builds -> [Help 1]
What this error means is that the OSGI version for this bundle is
1.3.100.qualifer but the version in the pom.xml is 1.3.0-SNAPSHOT.
It is resolved simply by changing the version in the pom.xml to
1.3.100-SNAPSHOT so that it matches
When you look into a pom.xml you will see 2 version fields so it's
important you update the right one. For example:
<parent>
<groupId>org.eclipse.webtools.javaee</groupId>
<artifactId>org.eclipse.webtools.javaee</artifactId>
<version>3.6.0-SNAPSHOT</version>
<relativePath>../../</relativePath>
</parent>
<groupId>org.eclipse.webtools.javaee</groupId>
<artifactId>org.eclipse.jst.j2ee.core</artifactId>
<version>1.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
The one you want to change is the 2nd version (bolded). This version
corresponds to the artifact the pom.xml represents. The one between
the <parent> tags corresponds to the parent pom.xml and must
match the version listed in the parent. For the most part you don't
have to worry about touch the parent one as it only needs to be
changed when releng wants to change the version.
Thanks,
Thanh
|