Applied patch (FELIX-185) to add support for explicitly specifying a
set of imports to be appended to the generated set of imports.


git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@489196 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tools/maven2/maven-osgi-plugin/src/main/java/org/apache/felix/tools/maven/plugin/OsgiJarMojo.java b/tools/maven2/maven-osgi-plugin/src/main/java/org/apache/felix/tools/maven/plugin/OsgiJarMojo.java
index e3b83f9..f959dcf 100644
--- a/tools/maven2/maven-osgi-plugin/src/main/java/org/apache/felix/tools/maven/plugin/OsgiJarMojo.java
+++ b/tools/maven2/maven-osgi-plugin/src/main/java/org/apache/felix/tools/maven/plugin/OsgiJarMojo.java
@@ -233,6 +233,7 @@
 
 		Map exports = parseHeader(osgiManifest.getExportPackage());
 		Map imports = parseHeader(osgiManifest.getImportPackage());
+		Map explicitImports = parseHeader(osgiManifest.getExplicitImportPackage());
 		Map dynamicImports = parseHeader(osgiManifest.getDynamicImportPackage());
 
 		if (dynamicImports != null) {
@@ -250,6 +251,10 @@
         Set ignorePackageSet = parseIgnorePackage();
         referred.removeAll(ignorePackageSet);
 
+        if (explicitImports != null) {
+        	referred.addAll(explicitImports.keySet());
+        }
+        
 		// If the POM file contains an import declaration,
 		// we verify its validity. Otherwise, we generate the
 		// import package header from the referred. Exports
diff --git a/tools/maven2/maven-osgi-plugin/src/main/java/org/apache/felix/tools/maven/plugin/OsgiManifest.java b/tools/maven2/maven-osgi-plugin/src/main/java/org/apache/felix/tools/maven/plugin/OsgiManifest.java
index 7864eac..7148312 100644
--- a/tools/maven2/maven-osgi-plugin/src/main/java/org/apache/felix/tools/maven/plugin/OsgiManifest.java
+++ b/tools/maven2/maven-osgi-plugin/src/main/java/org/apache/felix/tools/maven/plugin/OsgiManifest.java
@@ -86,6 +86,7 @@
     private String requireBundle;
     private String fragmentHost;
     private String bundleManifestVersion;
+    private String explicitImportPackage;
 
     /**
      * Instance variables supporting non-framework manifest headers
@@ -222,6 +223,16 @@
         this.importPackage = trim(importPackage);
     }
 
+    public String getExplicitImportPackage()
+    {
+		return explicitImportPackage;
+	}
+    
+    public void setExplicitImportPackage(String explicitImportPackage)
+    {
+		this.explicitImportPackage = trim(explicitImportPackage);
+	}
+    
     public String getDynamicImportPackage()
     {
         return dynamicImportPackage;