[ 
https://issues.apache.org/jira/browse/KARAF-4534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15357394#comment-15357394
 ] 

John Poth commented on KARAF-4534:
----------------------------------

Hi [[email protected]]

The plugin seems to work fine with the wrap protocol; I've just tried building 
a custom distro containing the following boot feature:

{code:xml}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0"; 
name="test-assembl-prop-edits">
    <feature name="foo" description="${project.description}" 
version="1.0.0.SNAPSHOT">
        
<bundle>wrap:mvn:org.apache.poi/ooxml-security/1.0$Export-Package=org.etsi.uri.x01903.v14;version="2.0"</bundle>
    </feature>
</features>
{code}

The plugin seems to resolve and provision mvn:org.apache.poi/ooxml-security/1.0 
to system/ and doesn't complain about the invalid URI.

*However* chaining the wrap protocol *and* the file protocol 
wrap:file:/path-to-jar (like in your case, I had the same problem) the artifact 
simply gets 
[ignored|https://github.com/apache/karaf/blob/master/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java#L1053-L1073]
 and you get a log saying something like:

{code}
[WARNING] Ignoring artifact 
file:/srv/git/apache/karaf/tooling/karaf-maven-plugin/src/it/test-assembly-prop-edits/ooxml-security-1.0.jar
{code}

Here a simple [example|https://github.com/johnpoth/KARAF-4534] project to 
illustrate both behaviors.

Hope this helps,

John.


> Invalid definition in feature file causes maven build of custom distro to fail
> ------------------------------------------------------------------------------
>
>                 Key: KARAF-4534
>                 URL: https://issues.apache.org/jira/browse/KARAF-4534
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-tooling
>    Affects Versions: 4.0.5
>            Reporter: Christian Schneider
>            Priority: Critical
>             Fix For: 4.0.6
>
>
> [ERROR] Failed to execute goal 
> org.apache.karaf.tooling:karaf-maven-plugin:4.0.5:assembly 
> (process-resources) on project decanter-server: Unable to build assembly: 
> Error -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute 
> goal org.apache.karaf.tooling:karaf-maven-plugin:4.0.5:assembly 
> (process-resources) on project decanter-server: Unable to build assembly
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
>       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:355)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
>       at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
>       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       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.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(DefaultBuildPluginManager.java:132)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>       ... 19 more
> Caused by: org.apache.karaf.features.internal.util.MultiException: Error
>       at 
> org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.<init>(MavenDownloadManager.java:84)
>       at 
> org.apache.karaf.features.internal.download.impl.MavenDownloadManager.createDownloader(MavenDownloadManager.java:72)
>       at 
> org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:363)
>       at 
> org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:360)
>       at 
> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:187)
>       at 
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:263)
>       at org.apache.karaf.profile.assembly.Builder.resolve(Builder.java:1214)
>       at 
> org.apache.karaf.profile.assembly.Builder.startupStage(Builder.java:1002)
>       at 
> org.apache.karaf.profile.assembly.Builder.doGenerateAssembly(Builder.java:606)
>       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)
>       ... 21 more
>       Suppressed: java.io.IOException: Error downloading 
> wrap:file:/home/cschneider/.m2/repository/org/fusesource/leveldbjni/leveldbjni-all/1.8/leveldbjni-all-1.8.jar$Bundle-Version=1.8&Export-Package=*;-noimport:=true;version="1.8"
>               at 
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:71)
>               at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>               at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>               at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>               at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>               at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>               at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>               at java.lang.Thread.run(Thread.java:745)
>       Caused by: java.net.URISyntaxException: Illegal character in opaque 
> part at index 170: 
> wrap:file:/home/cschneider/.m2/repository/org/fusesource/leveldbjni/leveldbjni-all/1.8/leveldbjni-all-1.8.jar$Bundle-Version=1.8&Export-Package=*;-noimport:=true;version="1.8"
>               at java.net.URI$Parser.fail(URI.java:2848)
>               at java.net.URI$Parser.checkChars(URI.java:3021)
>               at java.net.URI$Parser.parse(URI.java:3058)
>               at java.net.URI.<init>(URI.java:588)
>               at 
> org.apache.karaf.profile.assembly.CustomSimpleDownloadTask.getUrlStreamHandler(CustomSimpleDownloadTask.java:79)
>               at 
> org.apache.karaf.profile.assembly.CustomSimpleDownloadTask.createUrl(CustomSimpleDownloadTask.java:67)
>               at 
> org.apache.karaf.profile.assembly.CustomSimpleDownloadTask.download(CustomSimpleDownloadTask.java:58)
>               at 
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:58)
>               ... 7 more
>       [CIRCULAR REFERENCE:java.io.IOException: Error downloading 
> wrap:file:/home/cschneider/.m2/repository/org/fusesource/leveldbjni/leveldbjni-all/1.8/leveldbjni-all-1.8.jar$Bundle-Version=1.8&Export-Package=*;-noimport:=true;version="1.8"]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to