493185: Introduce Maven 3.3+ support for gemini blueprint builds

 - Removed the deprecated virgo bundlor plugin in favor of the bnd-maven-plugin
 - Migrated the manifest templates to their respective bnd configuration equivalents

Signed-off-by: Olaf Otto <olaf@x100.de>
diff --git a/core/bnd.bnd b/core/bnd.bnd
new file mode 100644
index 0000000..6b7b846
--- /dev/null
+++ b/core/bnd.bnd
@@ -0,0 +1,41 @@
+Export-Package: !*.internal.*, \
+ org.osgi.service.blueprint.container;version="1.0.0", \
+ org.osgi.service.blueprint.reflect;version="1.0.0", \
+ org.eclipse.gemini.blueprint.blueprint.*;version=${project.version}, \
+ org.eclipse.gemini.blueprint.bundle.*;version=${project.version}, \
+ org.eclipse.gemini.blueprint.compendium.*;version=${project.version}, \
+ org.eclipse.gemini.blueprint.config.*;version=${project.version}, \
+ org.eclipse.gemini.blueprint.context.*;version=${project.version}, \
+ org.eclipse.gemini.blueprint.service.*;version=${project.version}, \
+ org.eclipse.gemini.blueprint.util.*;version=${project.version}, \
+ org.eclipse.gemini.blueprint;version=${project.version}
+
+Import-Package: \
+ org.springframework.aop;version="${spring.version.range.nq}", \
+ org.springframework.beans.propertyeditors;version="${spring.version.range.nq}", \
+ org.osgi.framework;version=1.3, \
+ org.aopalliance.*;version="0.0.0", \
+ org.osgi.service.cm;version=1.2;resolution:=optional, \
+ org.osgi.service.startlevel;version=1.0;resolution:=optional, \
+ org.apache.commons.logging.*;version=${logging.version.range}, \
+ org.springframework.*;version=${spring.version.range}, \
+ *;resolution:="optional"
+
+
+Bundle-Name: ${project.artifactId}
+Bundle-Version: ${project.version}
+Bundle-SymbolicName: ${spring.osgi.symbolic.name}
+Bundle-Vendor: Eclipse Foundation
+Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/
+Bundle-Description: ${bundle.description}
+Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php
+Implementation-Title: Eclipse Gemini Blueprint
+Implementation-Version: ${project.version}
+Implementation-Vendor: Eclipse Foundation
+Implementation-Vendor-Id: org.eclipse.gemini.blueprint
+Gemini-Blueprint-Version: ${project.version}
+Spring-Version: ${spring.maven.artifact.version}
+Build-Jdk: ${java.version}
+Build-Plan: ${env.buildPlan}
+Build-Number: ${env.buildNumber}
+Git-Revision: ${git.commit.id.describe}
\ No newline at end of file
diff --git a/core/pom.xml b/core/pom.xml
index 3d88781..ae12b73 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -94,6 +94,10 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <configuration>
diff --git a/core/template.mf b/core/template.mf
deleted file mode 100644
index 50d1675..0000000
--- a/core/template.mf
+++ /dev/null
@@ -1,50 +0,0 @@
-Export-Package:

- org.osgi.service.blueprint.container;version="1.0.0",

- org.osgi.service.blueprint.reflect;version="1.0.0"

-Excluded-Exports: 

- *.internal*

-Import-Package: 

- org.osgi.service.blueprint.container;version="[1.0.0,1.1)",

- org.osgi.service.blueprint.reflect;version="[1.0.0,1.1)",

- org.springframework.aop;version="${spring.version.range.nq}",

- org.springframework.beans.propertyeditors;version="${spring.version.range.nq}"

-Import-Template: 

- org.osgi.framework;version=1.3,

- org.osgi.service.blueprint;version="1.0.0",

- org.aopalliance.*;version="0.0.0",

- org.osgi.service.cm;version=1.2;resolution:=optional,

- org.osgi.service.startlevel;version=1.0;resolution:=optional,

- org.apache.commons.logging.*;version=${logging.version.range},

- org.eclipse.gemini.blueprint.*;version=${gemini.blueprint.version.range},

- org.springframework.*;version=${spring.version.range},

- *;resolution:=optional

-Bundle-Name: ${project.artifactId}

-Bundle-Version: ${project.version}

-Bundle-SymbolicName: ${spring.osgi.symbolic.name}

-Bundle-Vendor: Eclipse Foundation

-Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/

-Bundle-Description: ${bundle.description}

-Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php

-Bundle-ManifestVersion: 2

-Implementation-Title: Eclipse Gemini Blueprint

-Implementation-Version: ${project.version}

-Implementation-Vendor: Eclipse Foundation

-Implementation-Vendor-Id: org.eclipse.gemini.blueprint

-Gemini-Blueprint-Version: ${project.version}

-Spring-Version: ${spring.maven.artifact.version}

-Build-Jdk: ${java.version}

-Build-Plan: ${env.buildPlan}

-Build-Number: ${env.buildNumber}

-Git-Revision: ${git.commit.id.describe}

-Excluded-Imports: com_cenqua_clover*

-Ignored-Existing-Headers:

- Ant-Version,

- Archiver-Version,

- Unversioned-Imports,

- Tool,

- Ignore-Package,

- Private-Package,

- Created-By,

- Bnd-LastModified,

- Import-Package,

- Export-Package
\ No newline at end of file
diff --git a/extender/bnd.bnd b/extender/bnd.bnd
new file mode 100644
index 0000000..8fd1a6a
--- /dev/null
+++ b/extender/bnd.bnd
@@ -0,0 +1,36 @@
+Export-Package: !*.internal*, \
+ org.eclipse.gemini.blueprint.extender.*;version=${project.version}, \
+ org.osgi.service.blueprint;version=1;uses:="org.osgi.service.blueprint.container,org.osgi.service.blueprint.reflect"
+
+Import-Package: org.eclipse.gemini.blueprint.extensions.annotation;resolution:=optional;version="${gemini.blueprint.version.range.nq}", \
+ org.osgi.service.blueprint.container;version="1.0.0";resolution:=optional, \
+ org.osgi.service.blueprint.reflect;version="1.0.0";resolution:=optional, \
+ org.osgi.framework;version=1.3, \
+ org.aopalliance.*;version="0.0.0", \
+ org.osgi.service.cm;version=1.2;resolution:=optional, \
+ org.osgi.service.event;version=1.1;resolution:=optional, \
+ org.osgi.util.tracker;version=1.3, \
+ org.apache.commons.logging.*;version=${logging.version.range}, \
+ org.eclipse.gemini.blueprint.blueprint.*;version=${gemini.blueprint.version.range}, \
+ org.eclipse.gemini.blueprint.*;version=${gemini.blueprint.version.range}, \
+ org.springframework.*;version=${spring.version.range}, \
+ *;resolution:=optional
+
+Bundle-Activator: org.eclipse.gemini.blueprint.extender.internal.boot.ChainActivator
+Bundle-Name: ${project.artifactId}
+Bundle-Version: ${project.version}
+Bundle-SymbolicName: ${spring.osgi.symbolic.name}
+Bundle-Vendor: Eclipse Foundation
+Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/
+Bundle-Description: ${bundle.description}
+Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php
+Implementation-Title: Eclipse Gemini Blueprint
+Implementation-Version: ${project.version}
+Implementation-Vendor: Eclipse Foundation
+Implementation-Vendor-Id: org.eclipse.gemini.blueprint
+Gemini-Blueprint-Version: ${project.version}
+Spring-Version: ${spring.maven.artifact.version}
+Build-Jdk: ${java.version}
+Build-Plan: ${env.buildPlan}
+Build-Number: ${env.buildNumber}
+Git-Revision: ${git.commit.id.describe}
\ No newline at end of file
diff --git a/extender/pom.xml b/extender/pom.xml
index 2971e9c..519eb40 100644
--- a/extender/pom.xml
+++ b/extender/pom.xml
@@ -75,6 +75,10 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <configuration>
diff --git a/extender/template.mf b/extender/template.mf
deleted file mode 100644
index 24aa388..0000000
--- a/extender/template.mf
+++ /dev/null
@@ -1,50 +0,0 @@
-Excluded-Exports: 

- *.internal*

-Import-Package: 

- org.eclipse.gemini.blueprint.extensions.annotation;resolution:=optional;version="${gemini.blueprint.version.range.nq}",

- org.osgi.service.blueprint.container;version="1.0.0";resolution:=optional,

- org.osgi.service.blueprint.reflect;version="1.0.0";resolution:=optional

-Import-Template: 

- org.osgi.framework;version=1.3,

- org.aopalliance.*;version="0.0.0",

- org.osgi.service.cm;version=1.2;resolution:=optional,

- org.osgi.service.event;version=1.1;resolution:=optional,

- org.osgi.util.tracker;version=1.3,

- org.apache.commons.logging.*;version=${logging.version.range},

- org.eclipse.gemini.blueprint.blueprint.*;version=${gemini.blueprint.version.range},

- org.eclipse.gemini.blueprint.*;version=${gemini.blueprint.version.range},

- org.springframework.*;version=${spring.version.range},

- *;resolution:=optional

-Bundle-Activator: org.eclipse.gemini.blueprint.extender.internal.boot.ChainActivator

-Export-Package:

- org.osgi.service.blueprint;version=1;uses:="org.osgi.service.blueprint.container,org.osgi.service.blueprint.reflect"

-Bundle-Name: ${project.artifactId}

-Bundle-Version: ${project.version}

-Bundle-SymbolicName: ${spring.osgi.symbolic.name}

-Bundle-Vendor: Eclipse Foundation

-Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/

-Bundle-Description: ${bundle.description}

-Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php

-Bundle-ManifestVersion: 2

-Implementation-Title: Eclipse Gemini Blueprint

-Implementation-Version: ${project.version}

-Implementation-Vendor: Eclipse Foundation

-Implementation-Vendor-Id: org.eclipse.gemini.blueprint

-Gemini-Blueprint-Version: ${project.version}

-Spring-Version: ${spring.maven.artifact.version}

-Build-Jdk: ${java.version}

-Build-Plan: ${env.buildPlan}

-Build-Number: ${env.buildNumber}

-Git-Revision: ${git.commit.id.describe}

-Excluded-Imports: com_cenqua_clover*

-Ignored-Existing-Headers:

- Ant-Version,

- Archiver-Version,

- Unversioned-Imports,

- Tool,

- Ignore-Package,

- Private-Package,

- Created-By,

- Bnd-LastModified,

- Import-Package,

- Export-Package
\ No newline at end of file
diff --git a/integration-tests/bundles/pom.xml b/integration-tests/bundles/pom.xml
index 5cfe387..89cf56d 100644
--- a/integration-tests/bundles/pom.xml
+++ b/integration-tests/bundles/pom.xml
@@ -22,7 +22,6 @@
         <spring.osgi.import.pkg>!org.eclipse.gemini.blueprint.iandt, *</spring.osgi.import.pkg>
         <spring.osgi.export.pkg>${project.artifactId}*</spring.osgi.export.pkg>
         <clover.skip>true</clover.skip>
-        <bundlor.enabled>false</bundlor.enabled>
     </properties>
 
     <!-- shared dependencies -->
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index a96ee3b..6e4a495 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -19,7 +19,6 @@
 
     <properties>
         <clover.skip>true</clover.skip>
-        <bundlor.enabled>false</bundlor.enabled>
     </properties>
 
     <modules>
diff --git a/mock/template.mf b/io/bnd.bnd
similarity index 60%
rename from mock/template.mf
rename to io/bnd.bnd
index 20a99e3..327ae04 100644
--- a/mock/template.mf
+++ b/io/bnd.bnd
@@ -1,38 +1,28 @@
-Excluded-Exports: 

- org.springframework.osgi.*.internal.*

-Import-Template: 

- org.osgi.framework;version=1.3,

- org.springframework.*;version=${spring.version.range},

- org.apache.commons.logging.*;version=${logging.version.range},

- *;resolution:=optional

-Bundle-Name: ${project.artifactId}

-Bundle-Version: ${project.version}

-Bundle-SymbolicName: ${spring.osgi.symbolic.name}

-Bundle-Vendor: Eclipse Foundation

-Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/

-Bundle-Description: ${bundle.description}

-Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php

-Bundle-ManifestVersion: 2

-Implementation-Title: Eclipse Gemini Blueprint

-Implementation-Version: ${project.version}

-Implementation-Vendor: Eclipse Foundation

-Implementation-Vendor-Id: org.eclipse.gemini.blueprint

-Gemini-Blueprint-Version: ${project.version}

-Spring-Version: ${spring.maven.artifact.version}

-Build-Jdk: ${java.version}

-Build-Plan: ${env.buildPlan}

-Build-Number: ${env.buildNumber}

-Git-Revision: ${git.commit.id.describe}

-Unversioned-Imports: *

-Excluded-Imports: com_cenqua_clover*

-Ignored-Existing-Headers:

- Ant-Version,

- Archiver-Version,

- Unversioned-Imports,

- Tool,

- Ignore-Package,

- Private-Package,

- Created-By,

- Bnd-LastModified,

- Import-Package,

- Export-Package

+Export-Package: \
+ !*.internal.*, \
+ org.eclipse.gemini.blueprint.io.*;version=${project.version}
+
+Import-Package: \
+ org.osgi.framework;version=1.3, \
+ org.osgi.service.packageadmin;version=1.2, \
+ org.springframework.*;version=${spring.version.range}, \
+ org.apache.commons.logging.*;version=${logging.version.range}, \
+ *;resolution:=optional
+
+Bundle-Name: ${project.artifactId}
+Bundle-Version: ${project.version}
+Bundle-SymbolicName: ${spring.osgi.symbolic.name}
+Bundle-Vendor: Eclipse Foundation
+Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/
+Bundle-Description: ${bundle.description}
+Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php
+Implementation-Title: Eclipse Gemini Blueprint
+Implementation-Version: ${project.version}
+Implementation-Vendor: Eclipse Foundation
+Implementation-Vendor-Id: org.eclipse.gemini.blueprint
+Gemini-Blueprint-Version: ${project.version}
+Spring-Version: ${spring.maven.artifact.version}
+Build-Jdk: ${java.version}
+Build-Plan: ${env.buildPlan}
+Build-Number: ${env.buildNumber}
+Git-Revision: ${git.commit.id.describe}
\ No newline at end of file
diff --git a/io/pom.xml b/io/pom.xml
index 9f62f92..a5958f5 100644
--- a/io/pom.xml
+++ b/io/pom.xml
@@ -24,7 +24,6 @@
     <properties>
         <javadoc.loc>${basedir}/../docs/src/javadoc</javadoc.loc>
         <spring.osgi.symbolic.name>${symName.prefix}.io</spring.osgi.symbolic.name>
-        <bundlor.enabled>true</bundlor.enabled>
         <bundle.description>${project.description}</bundle.description>
     </properties>
 
@@ -49,6 +48,10 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <configuration>
diff --git a/io/template.mf b/io/template.mf
deleted file mode 100644
index 1ace687..0000000
--- a/io/template.mf
+++ /dev/null
@@ -1,38 +0,0 @@
-Excluded-Exports: 

- org.eclipse.gemini.blueprint.*.internal.*

-Import-Template: 

- org.osgi.framework;version=1.3,

- org.osgi.service.packageadmin;version=1.2,

- org.springframework.*;version=${spring.version.range},

- org.apache.commons.logging.*;version=${logging.version.range},

- *;resolution:=optional

-Excluded-Imports: com_cenqua_clover*

-Bundle-Name: ${project.artifactId}

-Bundle-Version: ${project.version}

-Bundle-SymbolicName: ${spring.osgi.symbolic.name}

-Bundle-Vendor: Eclipse Foundation

-Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/

-Bundle-Description: ${bundle.description}

-Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php

-Bundle-ManifestVersion: 2

-Implementation-Title: Eclipse Gemini Blueprint

-Implementation-Version: ${project.version}

-Implementation-Vendor: Eclipse Foundation

-Implementation-Vendor-Id: org.eclipse.gemini.blueprint

-Gemini-Blueprint-Version: ${project.version}

-Spring-Version: ${spring.maven.artifact.version}

-Build-Jdk: ${java.version}

-Build-Plan: ${env.buildPlan}

-Build-Number: ${env.buildNumber}

-Git-Revision: ${git.commit.id.describe}

-Ignored-Existing-Headers:

- Ant-Version,

- Archiver-Version,

- Unversioned-Imports,

- Tool,

- Ignore-Package,

- Private-Package,

- Created-By,

- Bnd-LastModified,

- Import-Package,

- Export-Package
\ No newline at end of file
diff --git a/mock/bnd.bnd b/mock/bnd.bnd
new file mode 100644
index 0000000..1784a70
--- /dev/null
+++ b/mock/bnd.bnd
@@ -0,0 +1,18 @@
+Export-Package: org.eclipse.gemini.blueprint.mock.*;version=${project.version}
+
+Bundle-Name: ${project.artifactId}
+Bundle-SymbolicName: ${spring.osgi.symbolic.name}
+Bundle-Vendor: Eclipse Foundation
+Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/
+Bundle-Description: ${bundle.description}
+Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php
+Implementation-Title: Eclipse Gemini Blueprint
+Implementation-Version: ${project.version}
+Implementation-Vendor: Eclipse Foundation
+Implementation-Vendor-Id: org.eclipse.gemini.blueprint
+Gemini-Blueprint-Version: ${project.version}
+Spring-Version: ${spring.maven.artifact.version}
+Build-Jdk: ${java.version}
+Build-Plan: ${env.buildPlan}
+Build-Number: ${env.buildNumber}
+Git-Revision: ${git.commit.id.describe}
\ No newline at end of file
diff --git a/mock/pom.xml b/mock/pom.xml
index 0514779..43c0421 100644
--- a/mock/pom.xml
+++ b/mock/pom.xml
@@ -20,7 +20,6 @@
     <properties>
         <javadoc.loc>${basedir}/../docs/src/javadoc</javadoc.loc>
         <spring.osgi.symbolic.name>${symName.prefix}.mock</spring.osgi.symbolic.name>
-        <bundlor.enabled>true</bundlor.enabled>
         <bundle.description>${project.description}</bundle.description>
     </properties>
 
@@ -34,6 +33,10 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <configuration>
diff --git a/pom.xml b/pom.xml
index 3f1786b..6e610e6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,10 +4,6 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-    <prerequisites>
-        <maven>3.0.3</maven>
-    </prerequisites>
-
     <groupId>org.eclipse.gemini.blueprint</groupId>
     <artifactId>gemini-blueprint</artifactId>
     <!-- Note: When updating the version, ensure it is a valid OSGi version -->
@@ -66,8 +62,6 @@
         <security.argLine></security.argLine>
         <policy.url>..${file.separator}policy.all</policy.url>
 
-        <!-- bundlor settings -->
-        <bundlor.enabled>true</bundlor.enabled>
         <!-- common version ranges -->
         <spring.version.range.nq>[${spring.base.version},4.3)</spring.version.range.nq>
         <spring.version.range>"${spring.version.range.nq}"</spring.version.range>
@@ -382,6 +376,18 @@
         <pluginManagement>
             <plugins>
                 <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-maven-plugin</artifactId>
+                    <version>3.3.0</version>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>bnd-process</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
                     <groupId>pl.project13.maven</groupId>
                     <artifactId>git-commit-id-plugin</artifactId>
                     <version>2.1.5</version>
@@ -532,11 +538,6 @@
                     <version>${clover.ver}</version>
                 </plugin>
                 <plugin>
-                    <groupId>org.eclipse.virgo.bundlor</groupId>
-                    <artifactId>org.eclipse.virgo.bundlor.maven</artifactId>
-                    <version>1.1.2.RELEASE</version>
-                </plugin>
-                <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-pmd-plugin</artifactId>
                     <version>3.0.1</version>
@@ -556,38 +557,6 @@
 
         <plugins>
             <plugin>
-                <groupId>org.eclipse.virgo.bundlor</groupId>
-                <artifactId>org.eclipse.virgo.bundlor.maven</artifactId>
-                <executions>
-                    <execution>
-                        <id>bundlor</id>
-                        <goals>
-                            <goal>bundlor</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <properties>
-                        <bundle.description>${project.description}</bundle.description>
-                    </properties>
-                    <manifestTemplatePath>${basedir}/template.mf</manifestTemplatePath>
-                    <enabled>${bundlor.enabled}</enabled>
-                    <failOnWarnings>false</failOnWarnings>
-                </configuration>
-                <dependencies>
-                    <dependency>
-                      <groupId>org.eclipse.virgo.bundlor</groupId>
-                      <artifactId>org.eclipse.virgo.bundlor</artifactId>
-                      <version>1.1.2.RELEASE</version>
-                    </dependency>
-                    <dependency>
-                      <groupId>org.eclipse.virgo.bundlor</groupId>
-                      <artifactId>org.eclipse.virgo.bundlor.blint</artifactId>
-                      <version>1.1.2.RELEASE</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
diff --git a/test-support/bnd.bnd b/test-support/bnd.bnd
new file mode 100644
index 0000000..d1a6186
--- /dev/null
+++ b/test-support/bnd.bnd
@@ -0,0 +1,37 @@
+Export-Package: \
+ !*.internal.*, \
+ org.eclipse.gemini.blueprint.test.*;version=${project.version}
+
+Import-Package: \
+ !org.eclipse.gemini.blueprint.extender.internal.*, \
+ !org.eclipse.gemini.blueprint.extender.support.internal.*, \
+ org.osgi.framework;version=1.3, \
+ org.osgi.service.cm;version=1.2;resolution:=optional, \
+ org.apache.commons.logging.*;version=${logging.version.range}, \
+ org.eclipse.gemini.blueprint.*;version=${gemini.blueprint.version.range}, \
+ org.springframework.*;version=${spring.version.range}, \
+ org.objectweb.*;version="[2,3)";resolution:=optional, \
+ org.eclipse.*;resolution:=optional, \
+ org.knopflerfish.*;resolution:=optional, \
+ org.apache.felix.*;resolution:=optional, \
+ junit.*;version=3.8, \
+ *;resolution:=optional
+
+Bundle-Activator: org.eclipse.gemini.blueprint.test.internal.support.Activator
+Bundle-Name: ${project.artifactId}
+Bundle-Version: ${project.version}
+Bundle-SymbolicName: ${spring.osgi.symbolic.name}
+Bundle-Vendor: Eclipse Foundation
+Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/
+Bundle-Description: ${bundle.description}
+Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php
+Implementation-Title: Eclipse Gemini Blueprint
+Implementation-Version: ${project.version}
+Implementation-Vendor: Eclipse Foundation
+Implementation-Vendor-Id: org.eclipse.gemini.blueprint
+Gemini-Blueprint-Version: ${project.version}
+Spring-Version: ${spring.maven.artifact.version}
+Build-Jdk: ${java.version}
+Build-Plan: ${env.buildPlan}
+Build-Number: ${env.buildNumber}
+Git-Revision: ${git.commit.id.describe}
\ No newline at end of file
diff --git a/test-support/pom.xml b/test-support/pom.xml
index abc8410..9168d0e 100644
--- a/test-support/pom.xml
+++ b/test-support/pom.xml
@@ -123,6 +123,10 @@
 
         <plugins>
             <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <configuration>
diff --git a/test-support/template.mf b/test-support/template.mf
deleted file mode 100644
index 391d025..0000000
--- a/test-support/template.mf
+++ /dev/null
@@ -1,47 +0,0 @@
-Excluded-Exports: 

- *.internal*

-Import-Template: 

- org.osgi.framework;version=1.3,

- org.osgi.service.cm;version=1.2;resolution:=optional,

- org.apache.commons.logging.*;version=${logging.version.range},

- org.eclipse.gemini.blueprint.*;version=${gemini.blueprint.version.range},

- org.springframework.*;version=${spring.version.range},

- org.objectweb.*;version="[2,3)";resolution:=optional,

- org.eclipse.*;resolution:=optional,

- org.knopflerfish.*;resolution:=optional,

- org.apache.felix.*;resolution:=optional,

- junit.*;version=3.8,

- *;resolution:=optional

-Excluded-Imports: com_cenqua_clover*,

- org.eclipse.gemini.blueprint.extender.internal*,

- org.eclipse.gemini.blueprint.extender.support.internal*

-Bundle-Activator: org.eclipse.gemini.blueprint.test.internal.support.Activator

-Bundle-Name: ${project.artifactId}

-Bundle-Version: ${project.version}

-Bundle-SymbolicName: ${spring.osgi.symbolic.name}

-Bundle-Vendor: Eclipse Foundation

-Bundle-DocURL: http://www.eclipse.org/gemini/blueprint/

-Bundle-Description: ${bundle.description}

-Bundle-License: http://www.opensource.org/licenses/eclipse-1.0.php, http://www.opensource.org/licenses/apache2.0.php

-Bundle-ManifestVersion: 2

-Implementation-Title: Eclipse Gemini Blueprint

-Implementation-Version: ${project.version}

-Implementation-Vendor: Eclipse Foundation

-Implementation-Vendor-Id: org.eclipse.gemini.blueprint

-Gemini-Blueprint-Version: ${project.version}

-Spring-Version: ${spring.maven.artifact.version}

-Build-Jdk: ${java.version}

-Build-Plan: ${env.buildPlan}

-Build-Number: ${env.buildNumber}

-Git-Revision: ${git.commit.id.describe}

-Ignored-Existing-Headers:

- Ant-Version,

- Archiver-Version,

- Unversioned-Imports,

- Tool,

- Ignore-Package,

- Private-Package,

- Created-By,

- Bnd-LastModified,

- Import-Package,

- Export-Package
\ No newline at end of file