You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2014/04/29 09:50:36 UTC
git commit: KARAF-2946 Removing duplicate packages and adding an
itest for duplicates
Repository: karaf
Updated Branches:
refs/heads/karaf-3.0.x 8c0b6c7da -> 97af4bdb2
KARAF-2946 Removing duplicate packages and adding an itest for duplicates
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/97af4bdb
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/97af4bdb
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/97af4bdb
Branch: refs/heads/karaf-3.0.x
Commit: 97af4bdb2d8841281b1171e3413cd60632394961
Parents: 8c0b6c7
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Tue Apr 29 09:50:21 2014 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Apr 29 09:50:21 2014 +0200
----------------------------------------------------------------------
assemblies/features/framework/pom.xml | 7 ++++
features/command/pom.xml | 2 +-
itests/pom.xml | 5 ++-
.../org/apache/karaf/itests/PackageTest.java | 34 ++++++++++++++++++--
package/core/pom.xml | 1 +
.../karaf/packages/core/PackageService.java | 2 +-
shell/console/pom.xml | 9 ++++--
shell/ssh/pom.xml | 6 ++++
8 files changed, 57 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/97af4bdb/assemblies/features/framework/pom.xml
----------------------------------------------------------------------
diff --git a/assemblies/features/framework/pom.xml b/assemblies/features/framework/pom.xml
index cf9cbf8..1622ac7 100644
--- a/assemblies/features/framework/pom.xml
+++ b/assemblies/features/framework/pom.xml
@@ -78,6 +78,13 @@
<dependency>
<groupId>org.jledit</groupId>
<artifactId>core</artifactId>
+ <exclusions>
+ <exclusion>
+ <!-- Excluding jansi as it is included in jline -->
+ <groupId>org.fusesource.jansi</groupId>
+ <artifactId>jansi</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- listed in source feature.xml with explicit startlevel -->
http://git-wip-us.apache.org/repos/asf/karaf/blob/97af4bdb/features/command/pom.xml
----------------------------------------------------------------------
diff --git a/features/command/pom.xml b/features/command/pom.xml
index 54b87ca..1936d8e 100644
--- a/features/command/pom.xml
+++ b/features/command/pom.xml
@@ -91,7 +91,7 @@
org.apache.aries.blueprint,
org.osgi.service.blueprint.container,
org.osgi.service.blueprint.reflect,
- org.apache.felix.service.command,
+ org.apache.felix.service.command;status=provisional,
org.apache.karaf.shell.commands,
org.apache.karaf.shell.console,
*
http://git-wip-us.apache.org/repos/asf/karaf/blob/97af4bdb/itests/pom.xml
----------------------------------------------------------------------
diff --git a/itests/pom.xml b/itests/pom.xml
index 94daa29..f0ff7e7 100644
--- a/itests/pom.xml
+++ b/itests/pom.xml
@@ -67,7 +67,10 @@
<artifactId>pax-exam-junit4</artifactId>
<scope>test</scope>
</dependency>
-
+ <dependency>
+ <groupId>org.apache.karaf.package</groupId>
+ <artifactId>org.apache.karaf.package.core</artifactId>
+ </dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/karaf/blob/97af4bdb/itests/src/test/java/org/apache/karaf/itests/PackageTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/PackageTest.java b/itests/src/test/java/org/apache/karaf/itests/PackageTest.java
index 198e863..f7a0577 100644
--- a/itests/src/test/java/org/apache/karaf/itests/PackageTest.java
+++ b/itests/src/test/java/org/apache/karaf/itests/PackageTest.java
@@ -16,11 +16,19 @@ package org.apache.karaf.itests;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.SortedMap;
+
+import javax.inject.Inject;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
import javax.management.remote.JMXConnector;
+import org.apache.karaf.packages.core.PackageService;
+import org.apache.karaf.packages.core.PackageVersion;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.junit.PaxExam;
@@ -30,6 +38,8 @@ import org.ops4j.pax.exam.spi.reactors.PerClass;
@RunWith(PaxExam.class)
@ExamReactorStrategy(PerClass.class)
public class PackageTest extends KarafTestSupport {
+ @Inject
+ PackageService packageService;
@Test
public void exportsCommand() throws Exception {
@@ -45,7 +55,7 @@ public class PackageTest extends KarafTestSupport {
connector = this.getJMXConnector();
MBeanServerConnection connection = connector.getMBeanServerConnection();
ObjectName name = new ObjectName("org.apache.karaf:type=package,name=root");
- TabularData exports = (TabularData) connection.getAttribute(name, "Exports");
+ TabularData exports = (TabularData)connection.getAttribute(name, "Exports");
assertTrue(exports.size() > 0);
} finally {
close(connector);
@@ -66,10 +76,28 @@ public class PackageTest extends KarafTestSupport {
connector = this.getJMXConnector();
MBeanServerConnection connection = connector.getMBeanServerConnection();
ObjectName name = new ObjectName("org.apache.karaf:type=package,name=root");
- TabularData imports = (TabularData) connection.getAttribute(name, "Imports");
+ TabularData imports = (TabularData)connection.getAttribute(name, "Imports");
assertTrue(imports.size() > 0);
} finally {
- close(connector);
+ close(connector);
+ }
+ }
+
+ @Test
+ public void duplicatePackageTest() throws Exception {
+ // Leaving out version to make test easier to manage
+ Map<String, Integer> expectedDups = new HashMap<String, Integer>();
+ expectedDups.put("org.apache.karaf.region.persist", 2);
+ expectedDups.put("org.osgi.resource", 2);
+ SortedMap<String, PackageVersion> packageVersionMap = packageService.getExports();
+
+ for (String packageNameVersion : packageVersionMap.keySet()) {
+ PackageVersion pVer = packageVersionMap.get(packageNameVersion);
+ if (pVer.getBundles().size() > 1) {
+ String packageName = packageNameVersion.split(":")[0];
+ int expectedNum = expectedDups.containsKey(packageName) ? expectedDups.get(packageName) : 0;
+ Assert.assertEquals("Expecting number of duplicates for package " + packageNameVersion, expectedNum, pVer.getBundles().size());
+ }
}
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/97af4bdb/package/core/pom.xml
----------------------------------------------------------------------
diff --git a/package/core/pom.xml b/package/core/pom.xml
index df49402..799b2f3 100644
--- a/package/core/pom.xml
+++ b/package/core/pom.xml
@@ -67,6 +67,7 @@
<artifactId>slf4j-jdk14</artifactId>
<scope>test</scope>
</dependency>
+
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/karaf/blob/97af4bdb/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java
----------------------------------------------------------------------
diff --git a/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java b/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java
index d6ccc65..28a065d 100644
--- a/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java
+++ b/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java
@@ -33,7 +33,7 @@ public interface PackageService {
List<String> getImports(long bundleId);
/**
- * Gets a map of all exported packages with their version and the bundles that exprot them
+ * Gets a map of all exported packages with their version and the bundles that export them
* The key is in the form packagename:version.
*
* @return
http://git-wip-us.apache.org/repos/asf/karaf/blob/97af4bdb/shell/console/pom.xml
----------------------------------------------------------------------
diff --git a/shell/console/pom.xml b/shell/console/pom.xml
index 11b9db0..b4f5a6a 100644
--- a/shell/console/pom.xml
+++ b/shell/console/pom.xml
@@ -64,6 +64,7 @@
<dependency>
<groupId>org.apache.karaf.jaas</groupId>
<artifactId>org.apache.karaf.jaas.boot</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
@@ -151,13 +152,15 @@
org.apache.karaf.shell.console.completer;version=2.3.0,
org.apache.karaf.shell.util;version=${project.version},
org.apache.karaf.shell.util;version=2.3.0,
- org.apache.felix.gogo*;version=${felix.gogo.version},
- org.apache.felix.service.command;version=${felix.gogo.version};status=provisional;mandatory:=status,
- org.apache.felix.service.threadio;version=${felix.gogo.version};status=provisional;mandatory:=status,
+ org.apache.felix.gogo.commands*;version=${felix.gogo.version}
</Export-Package>
<Private-Package>
org.apache.karaf.shell.console.impl*,
org.apache.karaf.shell.security.impl*,
+
+ <!-- We need to embed gogo runtime to be able to create
+ SecuredCommandProcessorImpl which needs CommandProcessorImpl -->
+ org.apache.felix.gogo.runtime
</Private-Package>
<Main-Class>
org.apache.karaf.shell.console.impl.Main
http://git-wip-us.apache.org/repos/asf/karaf/blob/97af4bdb/shell/ssh/pom.xml
----------------------------------------------------------------------
diff --git a/shell/ssh/pom.xml b/shell/ssh/pom.xml
index 1eeb31c..ace42e2 100644
--- a/shell/ssh/pom.xml
+++ b/shell/ssh/pom.xml
@@ -76,6 +76,12 @@
<groupId>org.apache.karaf</groupId>
<artifactId>org.apache.karaf.util</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.karaf.jaas</groupId>
+ <artifactId>org.apache.karaf.jaas.boot</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<build>