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;