Hi,
I figure out what is the problem with wrap and in my case the problema is the
character “/" before $ in this URL:
wrap:mvn:jar:com.vaadin.addon/vaadin-touchkit-agpl/4.0.0.rc1/$Bundle-SymbolicName=vaadin-touchkit-agpl&Bundle-Version=4.0.0.rc1
The mvnToAether method in the class org.apache.karaf.tooling.features.MavenUtil
can’t handle this kind of url. With this patch both problem, bundles with
character “/" and blueprint are fixed:
# This patch file was generated by NetBeans IDE
# It uses platform neutral UTF-8 encoding and \n newlines.
--- Index
+++ Modified In Working Tree
@@ -41,7 +41,7 @@
static final DefaultRepositoryLayout layout = new
DefaultRepositoryLayout();
private static final Pattern aetherPattern = Pattern.compile("([^:
]+):([^: ]+)(:([^: ]*)(:([^: ]+))?)?:([^: ]+)");
- private static final Pattern mvnPattern =
Pattern.compile("(?:wrap:)?mvn:([^/ ]+)/([^/ ]+)/([^/\\$ ]*)(/([^/\\$
]+)(/([^/\\$ ]+))?)?(\\$.+)?");
+ private static final Pattern mvnPattern =
Pattern.compile("(?:(?:wrap:)|(?:blueprint:))?mvn:([^/ ]+)/([^/ ]+)/([^/\\$
]*)(/([^/\\$ ]+)(/([^/\\$ ]+))?)?(/\\$.+)?");
/**
* Convert PAX URL mvn format to aether coordinate format.
El 14/09/2014, a las 13:37, Rodrigo Serra <[email protected]> escribió:
> Thanks JB!
>
> Regards,
> Rodrigo
>
>> El 14/09/2014, a las 12:43, Jean-Baptiste Onofré <[email protected]>
>> escribió:
>>
>> Hi Rodrigo,
>>
>> I added support of some URLs but not all. I will add wrap and blueprint
>> support.
>>
>> Regards
>> JB
>>
>>> On 09/14/2014 01:57 PM, Rodrigo Serra wrote:
>>> Hi,
>>>
>>> When i try to generate a karaf distribution with karaf-maven-plugin, the
>>> plugin fails in bundles with wrap o blueprint keyboard. The error is:
>>>
>>> --- karaf-maven-plugin:3.0.2-SNAPSHOT:install-kars (default-install-kars) @
>>> sgc ---
>>> Installing feature
>>> file:/Users/rserra/NetBeansProjects/Lecici/sgc/assembly/distribucion/target/assembly/system/org/apache/karaf/features/framework/3.0.2-SNAPSHOT/framework-3.0.2-SNAPSHOT-features.xml
>>> to system and startup.properties
>>> Adding feature repository to system:
>>> mvn:org.apache.karaf.features/standard/3.0.2-SNAPSHOT/xml/features
>>> Installing feature
>>> file:/Users/rserra/NetBeansProjects/Lecici/sgc/assembly/distribucion/target/assembly/system/ar/com/jlab/sgc/features/sgc/1.1.11-SNAPSHOT/sgc-1.1.11-SNAPSHOT-features.xml
>>> to system and startup.properties
>>> Could not resolve
>>> wrap:mvn:com.vaadin.addon/vaadin-touchkit-agpl/4.0.0.rc1/$Bundle-SymbolicName=vaadin-touchkit-agpl&Bundle-Version=4.0.0.rc1
>>> org.eclipse.aether.resolution.ArtifactResolutionException: Failure to find
>>> wrap:mvn:jar:com.vaadin.addon/vaadin-touchkit-agpl/4.0.0.rc1/$Bundle-SymbolicName=vaadin-touchkit-agpl&Bundle-Version=4.0.0.rc1
>>> in https://zeus.jlab.com.ar/nexus/content/groups/public/ was cached in the
>>> local repository, resolution will not be reattempted until the update
>>> interval of JLabMirror has elapsed or updates are forced
>>> at
>>> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:459)
>>> at
>>> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:262)
>>> at
>>> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:239)
>>> at
>>> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:295)
>>> at
>>> org.apache.karaf.tooling.features.Dependency31Helper.resolveById(Dependency31Helper.java:321)
>>> at
>>> org.apache.karaf.tooling.features.InstallKarsMojo.install(InstallKarsMojo.java:307)
>>> at
>>> org.apache.karaf.tooling.features.InstallKarsMojo.execute(InstallKarsMojo.java:247)
>>> at
>>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
>>> at
>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>>> at
>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>>> at
>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>>> at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
>>> at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
>>> at
>>> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
>>> at
>>> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
>>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
>>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
>>> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
>>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
>>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>> at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>> at
>>> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>>> at
>>> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>>> at
>>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>>> at
>>> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
>>> Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Failure
>>> to find
>>> wrap:mvn:jar:com.vaadin.addon/vaadin-touchkit-agpl/4.0.0.rc1/$Bundle-SymbolicName=vaadin-touchkit-agpl&Bundle-Version=4.0.0.rc1
>>> in https://zeus.jlab.com.ar/nexus/content/groups/public/ was cached in the
>>> local repository, resolution will not be reattempted until the update
>>> interval of JLabMirror has elapsed or updates are forced
>>> at
>>> org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:232)
>>> at
>>> org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:206)
>>> at
>>> org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:599)
>>> at
>>> org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:518)
>>> at
>>> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:436)
>>> ... 27 more
>>>
>>> Maybe the error is related with issue KARAF-2110.
>>>
>>> Regards,
>>> Rodrigo
>>
>> --
>> Jean-Baptiste Onofré
>> [email protected]
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com