You can use the cleanVersions goal to convert versions to OSGi format, for
example:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>cleanVersions</goal>
</goals>
<configuration>
<versions>
<scala.version.osgi>${scala.version}</scala.version.osgi>
</versions>
</configuration>
</execution>
</executions>
</plugin>
The cleaned versions are stored back into the project's properties using the
given key, in this case 'scala.version.osgi', so you can then use:
<Fragment-Host>org.scala-lang-osgi.scala-actors;bundle-version=${scala.version.osgi}</Fragment-Host>
in your bundle instructions.
--
Cheers, Stuart
On 10 Aug 2012, at 10:28, Guofeng Zhang wrote:
> Hi,
>
> I configure maven-bundle-plugin as the following:
> <instructions>
> <Fragment-Host>
> org.scala-lang-osgi.scala-actors;bundle-version=${scala.version}</Fragment-Host>
> </instructions>
> But in MANIFEST.MF, it is:
> Fragment-Host: org.scala-lang-osgi.scala-actors;
> bundle-version=2.10.0-SHANPSHOT
>
> It cannot be deployed in Felix, the error message is :
> org.osgi.framework.BundleException: Could not create bundle object.
> ...
> Caused by: java.lang.NumberFormatException: For input string: "0-SNAPSHOT"
> Change "-SNAPSHOT" to ".SNAPSHOT", that is,
> Fragment-Host: org.scala-lang-osgi.scala-actors;
> bundle-version=2.10.0.SHANPSHOT
> fix the issue.
>
> Is it a bug or the incorrect way I specify the version for it.
>
> Thanks
>
> Guofeng
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]