FELIX-308: support embedding of artifacts with non-jar extension names
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@569771 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/DependencyEmbedder.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/DependencyEmbedder.java
index f062ec4..e3e6297 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/DependencyEmbedder.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/DependencyEmbedder.java
@@ -270,9 +270,9 @@
public static void embedDependency(Properties properties, Artifact dependency)
{
- File jarFile = dependency.getFile();
+ File sourceFile = dependency.getFile();
- if (null != jarFile && jarFile.exists())
+ if (null != sourceFile && sourceFile.exists())
{
String bundleClassPath = properties.getProperty(Analyzer.BUNDLE_CLASSPATH);
String includeResource = properties.getProperty(Analyzer.INCLUDE_RESOURCE);
@@ -312,15 +312,23 @@
File targetFile;
if (Boolean.valueOf(embedStripVersion).booleanValue())
{
- targetFile = new File(embedDirectory, dependency.getArtifactId() + ".jar");
+ String extension = dependency.getArtifactHandler().getExtension();
+ if (extension != null)
+ {
+ targetFile = new File(embedDirectory, dependency.getArtifactId() + "." + extension);
+ }
+ else
+ {
+ targetFile = new File(embedDirectory, dependency.getArtifactId());
+ }
}
else
{
- targetFile = new File(embedDirectory, jarFile.getName());
+ targetFile = new File(embedDirectory, sourceFile.getName());
}
bundleClassPath += targetFile;
- includeResource += targetFile + "=" + jarFile;
+ includeResource += targetFile + "=" + sourceFile;
properties.setProperty(Analyzer.BUNDLE_CLASSPATH, bundleClassPath);
properties.setProperty(Analyzer.INCLUDE_RESOURCE, includeResource);
@@ -329,9 +337,9 @@
public static void inlineDependency(Properties properties, Artifact dependency)
{
- File jarFile = dependency.getFile();
+ File sourceFile = dependency.getFile();
- if (null != jarFile && jarFile.exists())
+ if (null != sourceFile && sourceFile.exists())
{
String includeResource = properties.getProperty(Analyzer.INCLUDE_RESOURCE);
@@ -344,7 +352,7 @@
includeResource += ",";
}
- includeResource += "@" + jarFile;
+ includeResource += "@" + sourceFile;
properties.setProperty(Analyzer.INCLUDE_RESOURCE, includeResource);
}