[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [m2e-users] Project no longer builds in Eclipse after upgrading to m2e 1.4
|
Can you provide a small standalone example project that builds on
command line but fails inside m2e workspace?
Generally, I do not believe it is possible to use tycho-packaging-plugin
build-qualifier goal for non-tycho projects. I thought I filed a Tycho
enhancement request about this, but can't find it any more, maybe it was
closed for the lack of interest.
To manage OSGi version qualifier of maven-bundle-plugin (m-b-p for
short) projects I usually set <_snapshot> bnd instruction to
"${maven.build.timestamp}" for regular command line builds and
".qualifier" when working on the projects inside m2e. The latter is
needed because m2e doesn't/can't maintain ${maven.build.timestamp}
property. You can see complete working configuration example in [1].
[1]
http://git.eclipse.org/c/m2e/m2e-core.git/tree/m2e-maven-runtime/pom.xml?id=releases/1.4/1.4.0.20130601-0317
--
Regards,
Igor
On 2013-08-08 3:32 AM, Martin Ellis wrote:
Hi,
I'm trying to understand why my project no longer builds in Eclipse
after upgrading to m2e 1.4.
The project consists of several OSGi bundles, built using the Felix
maven-bundle-plugin, all in a reactor.
They are later picked up and used by a Tycho build for use in an
Eclipse plugin. In order to ensure that these bundles are updated when
upgrading the Eclipse plugin, I have added a build qualifier to the
bundle-plugin builds:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<id>timestamp</id>
<phase>validate</phase>
<goals>
<goal>build-qualifier</goal>
</goals>
</execution>
</executions>
</plugin>
Then used the ${unqualifiedVersion} and ${buildQualifier} set by the
build-qualifier goal in the Bundle-Version as follows:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<manifestLocation>META-INF</manifestLocation>
<instructions>
<Bundle-Version>${unqualifiedVersion}.0.${buildQualifier}</Bundle-Version>
</instructions>
</configuration>
</plugin>
Previously, I had used a lifecycle mapping to ensure that the
build-qualifier goal was run by m2e:
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<versionRange>[0.13.0,)</versionRange>
<goals>
<goal>build-qualifier</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
However, after updating to m2e, I am seeing the following error in my
Eclipse log:
Invalid value for Bundle-Version,
${unqualifiedVersion}.0.${buildQualifier} does not match
[0-9]+(\.[0-9]+(\.[0-9]+(\.[0-9A-Za-z_-]+)?)?)?
I don't understand why these properties are no longer being interpolated.
Is there a better way to get a build qualifier timestamp that's
consistent across projects in a reactor, and that also works in m2e?
Please let me know if a test project would help.
Thanks
Martin
_______________________________________________
m2e-users mailing list
m2e-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-users