On Sunday 12 June 2016 16:29:21 Richard Kosegi wrote: > Hi Karaf folks, Hello Richard,
> I have a question about changed behaviour of karaf-maven-plugin between > versions 3.0.5 and 4.0.5. > > While using 3.0.5 my feature is correctly recognized in "assembly" goal, > where in 4.0.5 it is not due to this error: > > Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to build > assembly > at org.apache.karaf.tooling.AssemblyMojo.execute(AssemblyMojo.java:234) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPl > uginManager.java:134) at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:2 > 08) ... 20 more > Caused by: java.lang.IllegalStateException: Could not find matching feature > for myfeature-thirdparty/0.2.4-SNAPSHOT > at > org.apache.karaf.profile.assembly.Builder.addFeatures(Builder.java:1079) > at > org.apache.karaf.profile.assembly.Builder.addFeatures(Builder.java:1072) > at > org.apache.karaf.profile.assembly.Builder.addFeatures(Builder.java:1072) > at org.apache.karaf.profile.assembly.Builder.bootStage(Builder.java:811) > at > org.apache.karaf.profile.assembly.Builder.doGenerateAssembly(Builder.java:61 > 1) at > org.apache.karaf.profile.assembly.Builder.generateAssembly(Builder.java:389) > at > org.apache.karaf.tooling.AssemblyMojo.doExecute(AssemblyMojo.java:392) > at org.apache.karaf.tooling.AssemblyMojo.execute(AssemblyMojo.java:228) > ... 22 more > > Problem seems to be somehow connected to how OSGi versions artifacts versus > how maven versions snapshots. > I'm assuming that this only affects SNAPSHOT versions. > > Here is my feature: > > <feature name="myfeature-all" start-level="50" resolver="(obr)" > description="My all features" version="${project.version}"> > <feature version="${project.version}">myfeature-thirdparty</feature> > <feature version="${project.version}">myfeature-core</feature> </feature> > > > I was able to workaround this problem by ugly hack below, but I guess I'm > missing something very elemenary. no. This is a known issue: https://issues.apache.org/jira/browse/KARAF-4105 I hope Jean-Baptiste finds some time to look into this. In the meantime you could use the patch from Markus Rathgeb. > Please suggest. > > Here is ugly hack: > > > git diff -- ./src/main/java/org/apache/karaf/profile/assembly/Builder.java > diff --git > a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java > b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java > index b4daa50..de47483 100644 > --- a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java > +++ b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java > @@ -1094,7 +1094,7 @@ public class Builder { > * @return > */ > private boolean matches(Feature f, Dependency featureRef) { > - String version = featureRef.getVersion(); > + String version = featureRef.getVersion().replace("-SNAPSHOT", > ".SNAPSHOT"); > return f.getName().equals(featureRef.getName()) > && (version == null || version.equals("0.0.0")|| > version.startsWith("[") || f.getVersion().equals(version)); > } > Regards, O. > Thanks! > > Richard.