The following patch fix this issue (at least, it's the same behavior as Karaf
2.4, i don't know however if it's the philosophy of Karaf4).


diff --git
a/features/core/src/main/java/org/apache/karaf/features/internal/region/Subsystem.java
b/features/core/src/main/java/org/apache/karaf/features/internal/region/Subsystem.java
index a449e16..bd351af 100644
---
a/features/core/src/main/java/org/apache/karaf/features/internal/region/Subsystem.java
+++
b/features/core/src/main/java/org/apache/karaf/features/internal/region/Subsystem.java
@@ -434,10 +434,13 @@
                 final String loc = bi.getLocation();
                 final Conditional cond = entry.getValue();
                 ResourceImpl res = bundles.get(loc);
+                
+                int sl = bi.getStartLevel() <= 0 ? feature.getStartLevel()
: bi.getStartLevel();
+                
                 if (bi.isDependency()) {
-                    addDependency(res, false, bi.isStart(),
bi.getStartLevel());
+                    addDependency(res, false, bi.isStart(), sl);
                 } else {
-                    doAddDependency(res, cond == null, bi.isStart(),
bi.getStartLevel());
+                    doAddDependency(res, cond == null, bi.isStart(), sl);
                 }
                 if (cond != null) {
                     addIdentityRequirement(res, resConds.get(cond), true);




--
View this message in context: 
http://karaf.922171.n3.nabble.com/Karaf-4-0-3-Features-Start-Level-tp4043865p4043914.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Reply via email to