add-features-to-repo: descriptor with file contains spaces on unix
------------------------------------------------------------------
Key: KARAF-526
URL: https://issues.apache.org/jira/browse/KARAF-526
Project: Karaf
Issue Type: Bug
Components: tooling
Affects Versions: 2.1.4
Environment: unix
Reporter: Alexey Markevich
Configuration:
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>features-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>add-features-to-repo</goal>
</goals>
<configuration>
<descriptors>
<descriptor>file:${basedir}/target/classes/activemq-features.xml</descriptor>
${basedir} contains spaces at target PC. Result:
Caused by: java.lang.IllegalArgumentException
at java.net.URI.create(URI.java:842)
at
org.apache.karaf.tooling.features.AddFeaturesToRepoMojo.execute(AddFeaturesToRepoMojo.java:130)
Looking into sources I found
org.apache.karaf.tooling.features.MojoSupport.translateFromMaven()
There is a check for windows and replacement spaces with %20.
Simple fix:
} else if (uri.startsWith("file:")) {
if (System.getProperty("os.name").startsWith("Windows")) {
String baseDir = uri.substring(5).replace('\\',
'/').replaceAll(" ", "%20");
String result = baseDir;
if (baseDir.indexOf(":") > 0) {
result = "file:///" + baseDir;
}
return result;
} else {
return uri.replaceAll(" ", "%20");
}
}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira