This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/master by this push:
     new b214260  [KARAF-5203] Includes conditional bundles and configuration 
files when creating a KAR
b214260 is described below

commit b2142603c5b6f8b8bc97b9c4d62d8396bd167b6a
Author: Jean-Baptiste Onofré <[email protected]>
AuthorDate: Wed Dec 13 14:58:04 2017 +0100

    [KARAF-5203] Includes conditional bundles and configuration files when 
creating a KAR
---
 .../apache/karaf/kar/internal/KarServiceImpl.java    | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git 
a/kar/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java 
b/kar/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
index ec7e21d..f7b6758 100644
--- a/kar/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
+++ b/kar/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
@@ -45,12 +45,7 @@ import java.util.jar.JarEntry;
 import java.util.jar.JarOutputStream;
 import java.util.jar.Manifest;
 
-import org.apache.karaf.features.BundleInfo;
-import org.apache.karaf.features.ConfigFileInfo;
-import org.apache.karaf.features.Dependency;
-import org.apache.karaf.features.Feature;
-import org.apache.karaf.features.FeaturesService;
-import org.apache.karaf.features.Repository;
+import org.apache.karaf.features.*;
 import org.apache.karaf.kar.KarService;
 import org.apache.karaf.util.StreamUtils;
 import org.apache.karaf.util.maven.Parser;
@@ -404,14 +399,27 @@ public class KarServiceImpl implements KarService {
 
     private void copyFeatureToJar(JarOutputStream jos, Feature feature, 
Map<URI, Integer> locationMap)
         throws URISyntaxException {
+        // add bundles
         for (BundleInfo bundleInfo : feature.getBundles()) {
             URI location = new URI(bundleInfo.getLocation());
             copyResourceToJar(jos, location, locationMap);
         }
+        // add config files
         for (ConfigFileInfo configFileInfo : feature.getConfigurationFiles()) {
             URI location = new URI(configFileInfo.getLocation());
             copyResourceToJar(jos, location, locationMap);
         }
+        // add bundles and config files in conditionals
+        for (Conditional conditional : feature.getConditional()) {
+            for (BundleInfo bundleInfo : conditional.getBundles()) {
+                URI location = new URI(bundleInfo.getLocation());
+                copyResourceToJar(jos, location, locationMap);
+            }
+            for (ConfigFileInfo configFileInfo : 
conditional.getConfigurationFiles()) {
+                URI location = new URI(configFileInfo.getLocation());
+                copyResourceToJar(jos, location, locationMap);
+            }
+        }
     }
 
     private void copyResourceToJar(JarOutputStream jos, URI location, Map<URI, 
Integer> locationMap) {

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to