463462 - Switches to Gradle build
diff --git a/.gitignore b/.gitignore
index 86fc67f..3fbb103 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,13 @@
+*/src/main/resources/META-INF/MANIFEST.MF
 */src/test/resources/META-INF/TEST.MF
 target
 integration-repo
 ivy-cache
-derby.log
-*/work
+.ant-targets-build.xml
 user-ivy.properties
-*/bin/*
+bin/
+build/
+.settings/
+.project
+.classpath
+
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..637ca9c
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,296 @@
+project(':web:org.eclipse.virgo.web.core') {
+    dependencies {
+        testCompile group: 'org.easymock', name: 'easymock', version: easymockVersion
+        testCompile group: "org.apache.commons", name: "com.springsource.org.apache.commons.logging", version: commonsLoggingVersion, configuration: "compile", ext: "jar"
+        testCompile group: "org.springframework", name: "org.springframework.test", version: springframeworkVersion, configuration: "compile", ext: "jar"
+        testCompile project(':test:org.eclipse.virgo.test.stubs')
+        testCompile project(':kernel:org.eclipse.virgo.kernel.stubs')
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.slf4j.api", version: slf4jVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi.services", version: osgiServicesVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.core", version: geminiWebVersion, configuration: "compile", ext: "jar"
+
+        compile project(':util:org.eclipse.virgo.util.common')
+        compile project(':util:org.eclipse.virgo.util.osgi.manifest')
+        compile project(':medic:org.eclipse.virgo.medic')
+        compile project(':nano:org.eclipse.virgo.nano.core')
+        compile project(':nano:org.eclipse.virgo.nano.deployer.api')
+        compile project(':repository:org.eclipse.virgo.repository')
+        compile project(':kernel:org.eclipse.virgo.kernel.artifact')
+        compile project(':kernel:org.eclipse.virgo.kernel.deployer')
+        compile project(':kernel:org.eclipse.virgo.kernel.equinox.extensions')
+
+        if (System.properties['weaving.enabled'] == 'true') {
+            aspectpath project(':medic:org.eclipse.virgo.medic')
+            aspectpath project(':nano:org.eclipse.virgo.nano.core')
+        }
+    }
+}
+
+project(':web:org.eclipse.virgo.web.dm') {
+    dependencies {
+        testCompile group: 'org.easymock', name: 'easymock', version: easymockVersion
+        testCompile group: "org.apache.commons", name: "com.springsource.org.apache.commons.logging", version: commonsLoggingVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.slf4j.api", version: slf4jVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.springframework", name: "org.springframework.aop", version: springframeworkVersion, configuration: "compile", ext: "jar"
+        compile group: "org.springframework", name: "org.springframework.core", version: springframeworkVersion, configuration: "compile", ext: "jar"
+        compile group: "org.springframework", name: "org.springframework.beans", version: springframeworkVersion, configuration: "compile", ext: "jar"
+        compile group: "org.springframework", name: "org.springframework.context", version: springframeworkVersion, configuration: "compile", ext: "jar"
+        compile group: "org.springframework", name: "org.springframework.web", version: springframeworkVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.gemini", name: "org.eclipse.gemini.blueprint.io", version: geminiBlueprintVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.gemini", name: "org.eclipse.gemini.blueprint.core", version: geminiBlueprintVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.gemini", name: "org.eclipse.gemini.blueprint.extender", version: geminiBlueprintVersion, configuration: "compile", ext: "jar"
+
+        compile project(':medic:org.eclipse.virgo.medic')
+        compile project(':nano:org.eclipse.virgo.nano.core')
+
+        if (System.properties['weaving.enabled'] == 'true') {
+            aspectpath project(':medic:org.eclipse.virgo.medic')
+            aspectpath project(':nano:org.eclipse.virgo.nano.core')
+        }
+    }
+}
+
+project(':web:org.eclipse.virgo.web.tomcat.support') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.tomcat", version: geminiWebVersion, configuration: "compile", ext: "jar"
+
+        compile project(':kernel:org.eclipse.virgo.kernel.osgi')
+        compile project(':medic:org.eclipse.virgo.medic')
+        compile project(':nano:org.eclipse.virgo.nano.core')
+        compile project(':util:org.eclipse.virgo.util.io')
+        compile project(':util:org.eclipse.virgo.util.math')
+        compile project(':web:org.eclipse.virgo.web.core')
+
+        if (System.properties['weaving.enabled'] == 'true') {
+            aspectpath project(':medic:org.eclipse.virgo.medic')
+            aspectpath project(':nano:org.eclipse.virgo.nano.core')
+        }
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.openejb.jpa.integration') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.transaction", version: javaxTransactionVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.persistence.core", version: eclipsePersistenceCoreVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.core", version: apacheOpenejbCoreVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.loader", version: apacheOpenejbVersion, configuration: "compile", ext: "jar"
+        compile group: "org.hibernate", name: "com.springsource.org.hibernate", version: hibernateVersion, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.appdeployer') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "org.slf4j.api", version: slf4jVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.ejb", version: javaxEjbVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.validation", version: javaxValidationVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.core", version: apacheOpenejbCoreVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.jee", version: apacheOpenejbVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.loader", version: apacheOpenejbVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.xbean.finder", version: apacheXBeanFinderVersion, configuration: "compile", ext: "jar"
+
+        compile project(':medic:org.eclipse.virgo.medic')
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.applistener') {
+    dependencies {
+        compile project(':medic:org.eclipse.virgo.medic')
+        compile project(':web:org.eclipse.virgo.web.enterprise.appdeployer')
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.javax.persistence.extension') {
+    dependencies {
+        testCompile group: 'org.easymock', name: 'easymock', version: easymockVersion
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.persistence", version: javaxPersistenceVersion, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.javax.persistence.provider.initializer') {
+    dependencies {
+        testCompile group: 'org.easymock', name: 'easymock', version: easymockVersion
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.slf4j.api", version: slf4jVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.persistence", version: javaxPersistenceVersion, configuration: "compile", ext: "jar"
+
+        compile project(':web:org.eclipse.virgo.web.enterprise.javax.persistence.extension')
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.jsf.support') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "org.slf4j.api", version: slf4jVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.ejb", version: javaxEjbVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.persistence", version: javaxPersistenceVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "cdi.api", version: cdiApiVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.glassfish.com.sun.faces", version: glassfishComSunFacesVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.impl", version: apacheOpenwebbeansVersion, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.bval') { dependencies { // <dependency org="org.eclipse.virgo.mirrored" name="org.apache.bval" rev="${org.apache.bval}" conf="compile->runtime"/>
+    } }
+
+project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.jotm') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.transaction", version: javaxTransactionVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.ow2.jotm.jotm-core", version: jotmVersion, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.jpa') { dependencies { } }
+
+// TODO - check oev.web.enterprise.openejb.fragment.webbeans
+project(':web:org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans') { dependencies { } }
+
+project(':web:org.eclipse.virgo.web.enterprise.openejb.initialiser') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.transaction", version: javaxTransactionVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.core", version: apacheOpenejbCoreVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.loader", version: apacheOpenejbVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.openejb.tomcat.factory') {
+    dependencies {
+        testCompile group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "compile", ext: "jar"
+        testCompile group: "org.eclipse.virgo.mirrored", name: "org.apache.juli.extras", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        testCompile group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.util", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        testCompile group: "org.eclipse.virgo.mirrored", name: "org.apache.coyote", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        testCompile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.loader", version: apacheOpenejbVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.core", version: apacheOpenejbCoreVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.api", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.openwebbeans.initialiser') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "org.slf4j.api", version: slf4jVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.api", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openwebbeans.tomcat7", version: apacheOpenwebbeansTomcat7Version, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.persistence.openejb.classloading.hook') {
+    dependencies {
+        testCompile group: 'org.easymock', name: 'easymock', version: easymockVersion
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.security') {
+    dependencies {
+        testCompile group: 'org.easymock', name: 'easymock', version: easymockVersion
+        testCompile group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "compile", ext: "jar"
+
+        testRuntime group: "org.apache.commons", name: "com.springsource.org.apache.commons.fileupload", version: commonsFileuploadVersion, configuration: "compile", ext: "jar"
+
+        testCompile group: "org.eclipse.virgo.mirrored", name: "org.apache.juli.extras", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+
+        testCompile group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.util", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        testCompile group: "org.eclipse.virgo.mirrored", name: "org.apache.coyote", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        testCompile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.loader", version: apacheOpenejbVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.security.jacc", version: javaxSecurityJaccVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.core", version: apacheOpenejbCoreVersion, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.security.valve') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.openejb.loader", version: apacheOpenejbVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.catalina", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.coyote", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+
+        compile project(':web:org.eclipse.virgo.web.enterprise.security')
+    }
+}
+
+project(':web:org.eclipse.virgo.web.enterprise.services.accessor') {
+    dependencies {
+        testCompile group: 'org.easymock', name: 'easymock', version: easymockVersion
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.slf4j.api", version: slf4jVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "javax.servlet", version: javaxServletVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi.services", version: osgiServicesVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.tomcat", version: geminiWebVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.tomcat.api", version: apacheCatalinaVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.apache.felix.gogo.runtime", version: gogoRuntimeVersion, configuration: "compile", ext: "jar"
+
+        compile project(':util:org.eclipse.virgo.util.osgi.manifest')
+        compile project(':kernel:org.eclipse.virgo.kernel.equinox.extensions')
+
+        /*
+         <dependency org="org.eclipse.virgo.mirrored" name="org.apache.openejb.core" rev="${org.apache.openejb.core}" conf="compile->runtime"/>
+         <dependency org="org.eclipse.virgo.mirrored" name="org.apache.openejb.loader" rev="${org.apache.openejb.loader}" conf="compile->runtime"/>
+         <dependency org="org.eclipse.virgo.mirrored" name="org.apache.catalina" rev="${org.apache.catalina}" conf="compile->runtime"/>
+         */
+    }
+}
+
+project(':web:org.eclipse.virgo.web.war.deployer') {
+    dependencies {
+        compile group: "org.eclipse.virgo.mirrored", name: "org.slf4j.api", version: slf4jVersion, configuration: "compile", ext: "jar"
+
+        compile group: "org.eclipse.virgo.mirrored", name: "org.eclipse.osgi", version: equinoxVersion, configuration: "compile", ext: "jar"
+        compile group: "org.eclipse.gemini", name: "org.eclipse.gemini.web.core", version: geminiWebVersion, configuration: "compile", ext: "jar"
+
+        compile project(':medic:org.eclipse.virgo.medic')
+        compile project(':nano:org.eclipse.virgo.nano.deployer')
+        compile project(':nano:org.eclipse.virgo.nano.deployer.api')
+        compile project(':util:org.eclipse.virgo.util.io')
+        compile project(':util:org.eclipse.virgo.util.osgi.manifest')
+    }
+}
diff --git a/org.eclipse.virgo.web.core/template.mf b/org.eclipse.virgo.web.core/template.mf
index 796d4c3..472f656 100644
--- a/org.eclipse.virgo.web.core/template.mf
+++ b/org.eclipse.virgo.web.core/template.mf
@@ -4,20 +4,20 @@
 Bundle-SymbolicName: org.eclipse.virgo.web.core
 Bundle-Version: ${version}
 Import-Template: 
- org.eclipse.virgo.kernel.*;version="${org.eclipse.virgo.kernel:[=.=.=, +1)}",
- org.eclipse.virgo.nano.*;version="${org.eclipse.virgo.nano:[=.=.=, +1)}",
- org.eclipse.gemini.web.*;version="${org.eclipse.gemini.web:[=.=.=, +1)}",
- org.eclipse.virgo.repository.*;version="${org.eclipse.virgo.repository:[=.=.=, +1)}",
- org.eclipse.virgo.util.*;version="${org.eclipse.virgo.util:[=.=.=, +1)}",
- org.eclipse.virgo.medic.*;version="${org.eclipse.virgo.medic:[=.=.=, +1)}",
- org.eclipse.virgo.kernel.equinox.*;version="${org.eclipse.virgo.kernel:[=.=.=, +1)}",
- javax.servlet.*;version="${javax.servlet:[-1.6.=, +1)}",
- org.aspectj.*;version="${org.aspectj:[=.=.=, +1)}",
+ org.eclipse.virgo.kernel.*;version="${version:[=.=.=, +1)}",
+ org.eclipse.virgo.nano.*;version="${version:[=.=.=, +1)}",
+ org.eclipse.gemini.web.*;version="${geminiWebVersion:[=.=.=, +1)}",
+ org.eclipse.virgo.repository.*;version="${version:[=.=.=, +1)}",
+ org.eclipse.virgo.util.*;version="${version:[=.=.=, +1)}",
+ org.eclipse.virgo.medic.*;version="${version:[=.=.=, +1)}",
+ org.eclipse.virgo.kernel.equinox.*;version="${version:[=.=.=, +1)}",
+ javax.servlet.*;version="${javaxServletVersion:[-1.6.=, +1)}",
+ org.aspectj.*;version="${orgAspectjVersion:[=.=.=, +1)}",
  org.eclipse.osgi.*;version="0",
  org.osgi.framework.*;version="0",
  org.osgi.util.*;version="0",
  org.osgi.service.*;version="0",
- org.slf4j.*;version="${org.slf4j.api:[=.=.=, +1)}"
+ org.slf4j.*;version="${slf4jVersion:[=.=.=, +1)}"
 Excluded-Exports: 
  org.eclipse.virgo.web.core.internal.*
 Excluded-Imports: 
diff --git a/org.eclipse.virgo.web.dm/template.mf b/org.eclipse.virgo.web.dm/template.mf
index 6e10201..c52d898 100644
--- a/org.eclipse.virgo.web.dm/template.mf
+++ b/org.eclipse.virgo.web.dm/template.mf
@@ -4,12 +4,12 @@
 Bundle-SymbolicName: org.eclipse.virgo.web.dm
 Bundle-Version: ${version}
 Import-Template: 
- org.eclipse.virgo.kernel.*;version="${org.eclipse.virgo.kernel:[=.=.=, +1)}",
- javax.servlet.*;version="${javax.servlet:[-1.5.=, +1)}",
- org.apache.commons.logging.*;version="${org.apache.commons.logging:[=.=.=, +1)}",
- org.aspectj.*;version="${org.aspectj:[=.=.=, +1)}",
+ org.eclipse.virgo.kernel.*;version="${version:[=.=.=, +1)}",
+ javax.servlet.*;version="${javaxServletVersion:[-1.5.=, +1)}",
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.aspectj.*;version="${orgAspectjVersion:[=.=.=, +1)}",
  org.osgi.framework.*;version="0",
- org.springframework.*;version="${org.springframework:[3.1, +1)}",
- org.eclipse.gemini.blueprint.*;version="${org.eclipse.gemini.blueprint:[=.=.=, +1)}",
- org.eclipse.virgo.medic.*;version="${org.eclipse.virgo.medic:[=.=.=, +1)}",
- org.slf4j.*;version="${org.slf4j.api:[=.=.=, +1)}"
+ org.springframework.*;version="${springframeworkVersion:[3.1, +1)}",
+ org.eclipse.gemini.blueprint.*;version="${geminiBlueprintVersion:[=.=.=, +1)}",
+ org.eclipse.virgo.medic.*;version="${version:[=.=.=, +1)}",
+ org.slf4j.*;version="${slf4jVersion:[=.=.=, +1)}"
diff --git a/org.eclipse.virgo.web.enterprise.appdeployer/template.mf b/org.eclipse.virgo.web.enterprise.appdeployer/template.mf
index fc4b020..f6f2c55 100644
--- a/org.eclipse.virgo.web.enterprise.appdeployer/template.mf
+++ b/org.eclipse.virgo.web.enterprise.appdeployer/template.mf
@@ -10,13 +10,13 @@
  javax.naming;version="0",
  javax.servlet;version="0",
  javax.validation;version="0",
- org.apache.catalina.*;version="${org.apache.catalina:[=.=.=, +1)}",
- org.apache.naming.*;version="${org.apache.catalina:[=.=.=, +1)}",
+ org.apache.catalina.*;version="${apacheCatalinaVersion:[=.=.=, =.+1)}",
+ org.apache.naming.*;version="${apacheCatalinaVersion:[=.=.=, +1)}",
  org.apache.openejb.*;version="0",
  org.apache.webbeans.*;version="0",
  org.apache.xbean.finder.*;version="0",
  org.osgi.framework;version="0",
- org.eclipse.virgo.medic.*;version="${org.eclipse.virgo.medic:[=.=.=, +1)}",
- org.slf4j;version="0" 
+ org.eclipse.virgo.medic.*;version="${version:[=.=.=, +1)}",
+ org.slf4j;version="${slf4jVersion:[=.=.=,+1)}"
 Excluded-Exports:
  *.internal.*
diff --git a/org.eclipse.virgo.web.enterprise.applistener/template.mf b/org.eclipse.virgo.web.enterprise.applistener/template.mf
index bba18f0..ba275f5 100644
--- a/org.eclipse.virgo.web.enterprise.applistener/template.mf
+++ b/org.eclipse.virgo.web.enterprise.applistener/template.mf
@@ -7,9 +7,9 @@
 Fragment-Host: org.eclipse.gemini.web.tomcat
 Import-Template: javax.servlet;version="0",
  org.eclipse.virgo.web.enterprise.openejb.deployer;version="0",
- org.eclipse.virgo.medic.*;version="${org.eclipse.virgo.medic:[=.=.=, +1)}",
- org.apache.catalina.*;version="${org.apache.catalina:[=.=.=, +1)}",
+ org.eclipse.virgo.medic.*;version="${version:[=.=.=, +1)}",
+ org.apache.catalina.*;version="${apacheCatalinaVersion:[=.=.=, +1)}",
  org.apache.openejb.*;version="0",
- org.slf4j.*;version="0"
+ org.slf4j;version="${slf4jVersion:[=.=.=,+1)}"
 Excluded-Exports:
  *
diff --git a/org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans/src/main/resources/META-INF/MANIFEST.MF b/org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans/template.mf
old mode 100755
new mode 100644
similarity index 84%
rename from org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans/src/main/resources/META-INF/MANIFEST.MF
rename to org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans/template.mf
index 876c54e..84fe5a0
--- a/org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans/src/main/resources/META-INF/MANIFEST.MF
+++ b/org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans/template.mf
@@ -1,9 +1,8 @@
-Manifest-Version: 1.0

-Fragment-host: org.apache.catalina

-Bundle-Version: 3.6.0.enterprise

-Bundle-Name: Catalina Integration With OpenWebBeans

-Bundle-ManifestVersion: 2

-Import-Package: org.apache.webbeans.web.tomcat,org.apache.webbeans.servlet

-Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans

-Bundle-RequiredExecutionEnvironment: JavaSE-1.6

-

+Bundle-ManifestVersion: 2
+Bundle-Name: Catalina Integration With OpenWebBeans
+Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.catalina.fragment.webbeans
+Bundle-Version: ${version}
+Fragment-host: org.apache.catalina
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.apache.webbeans.web.tomcat,org.apache.webbeans.servlet
+ 
\ No newline at end of file
diff --git a/org.eclipse.virgo.web.enterprise.javax.persistence.extension/src/test/java/org/eclipse/virgo/web/enterprise/javax/persistence/extension/CompositePersistenceProviderResolverTest.java b/org.eclipse.virgo.web.enterprise.javax.persistence.extension/src/test/java/org/eclipse/virgo/web/enterprise/javax/persistence/extension/CompositePersistenceProviderResolverTest.java
index b2c40a7..4b9fcde 100755
--- a/org.eclipse.virgo.web.enterprise.javax.persistence.extension/src/test/java/org/eclipse/virgo/web/enterprise/javax/persistence/extension/CompositePersistenceProviderResolverTest.java
+++ b/org.eclipse.virgo.web.enterprise.javax.persistence.extension/src/test/java/org/eclipse/virgo/web/enterprise/javax/persistence/extension/CompositePersistenceProviderResolverTest.java
@@ -56,11 +56,11 @@
 	}

 	

 	private void prepareServicesFile() throws Exception {

-		new File("./target/test-classes/META-INF").mkdir();

-		File servicesDir = new File("./target/test-classes/META-INF/services");

+		new File("./build/classes/test/META-INF").mkdir();

+		File servicesDir = new File("./build/classes/test/META-INF/services");

 		servicesDir.mkdir();

 		

-		File persistenceProviderFile = new File("./target/test-classes/META-INF/services/javax.persistence.spi.PersistenceProvider");

+		File persistenceProviderFile = new File("./build/classes/test/META-INF/services/javax.persistence.spi.PersistenceProvider");

 		

 		PrintWriter writer = null; 

 		try {

@@ -81,17 +81,17 @@
 	

 	@After

 	public void clean() {

-		File persistenceProviderFile = new File("./target/test-classes/META-INF/services/javax.persistence.spi.PersistenceProvider");

+		File persistenceProviderFile = new File("./build/classes/test/META-INF/services/javax.persistence.spi.PersistenceProvider");

 		if (persistenceProviderFile.exists()) {

 			persistenceProviderFile.delete();

 		}

 		

-		File servicesDir = new File("./target/test-classes/META-INF/services");

+		File servicesDir = new File("./build/classes/test/META-INF/services");

 		if (servicesDir.exists()) {

 			servicesDir.delete();

 		}

 		

-		File metaInfDir = new File("./target/test-classes/META-INF");

+		File metaInfDir = new File("./build/classes/test/META-INF");

 		if (metaInfDir.exists()) {

 			metaInfDir.delete();

 		}

diff --git a/org.eclipse.virgo.web.enterprise.javax.persistence.extension/src/test/java/org/eclipse/virgo/web/enterprise/javax/persistence/extension/DefaultPersistenceProviderResolverTest.java b/org.eclipse.virgo.web.enterprise.javax.persistence.extension/src/test/java/org/eclipse/virgo/web/enterprise/javax/persistence/extension/DefaultPersistenceProviderResolverTest.java
index a0ddc8c..5213a7c 100755
--- a/org.eclipse.virgo.web.enterprise.javax.persistence.extension/src/test/java/org/eclipse/virgo/web/enterprise/javax/persistence/extension/DefaultPersistenceProviderResolverTest.java
+++ b/org.eclipse.virgo.web.enterprise.javax.persistence.extension/src/test/java/org/eclipse/virgo/web/enterprise/javax/persistence/extension/DefaultPersistenceProviderResolverTest.java
@@ -54,11 +54,11 @@
 	}

 	

 	private void prepareServicesFile(String[] persistenceProviderNames) throws Exception {

-		new File("./target/test-classes/META-INF").mkdir();

-		File servicesDir = new File("./target/test-classes/META-INF/services");

+		new File("./build/classes/test/META-INF").mkdir();

+		File servicesDir = new File("./build/classes/test/META-INF/services");

 		servicesDir.mkdir();

 		

-		File persistenceProviderFile = new File("./target/test-classes/META-INF/services/javax.persistence.spi.PersistenceProvider");

+		File persistenceProviderFile = new File("./build/classes/test//META-INF/services/javax.persistence.spi.PersistenceProvider");

 		

 		PrintWriter writer = null; 

 		try {

@@ -81,17 +81,17 @@
 	

 	@After

 	public void clean() {

-		File persistenceProviderFile = new File("./target/test-classes/META-INF/services/javax.persistence.spi.PersistenceProvider");

+		File persistenceProviderFile = new File("./build/classes/test/META-INF/services/javax.persistence.spi.PersistenceProvider");

 		if (persistenceProviderFile.exists()) {

 			persistenceProviderFile.delete();

 		}

 		

-		File servicesDir = new File("./target/test-classes/META-INF/services");

+		File servicesDir = new File("./build/classes/test/META-INF/services");

 		if (servicesDir.exists()) {

 			servicesDir.delete();

 		}

 		

-		File metaInfDir = new File("./target/test-classes/META-INF");

+		File metaInfDir = new File("./build/classes/test/META-INF");

 		if (metaInfDir.exists()) {

 			metaInfDir.delete();

 		}

diff --git a/org.eclipse.virgo.web.enterprise.javax.persistence.extension/template.mf b/org.eclipse.virgo.web.enterprise.javax.persistence.extension/template.mf
index 72db06f..bee04ff 100755
--- a/org.eclipse.virgo.web.enterprise.javax.persistence.extension/template.mf
+++ b/org.eclipse.virgo.web.enterprise.javax.persistence.extension/template.mf
@@ -4,7 +4,7 @@
 Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.javax.persistence.extension
 Bundle-Version: ${version}
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Fragment-Host: javax.persistence;bundle-version="[2.0.4, 2.1.0)"
+Fragment-Host: javax.persistence;bundle-version="${javaxPersistenceVersion:[=.=.=, =.+1)}"
 Import-Template: org.osgi.framework;version="0"
 Export-Template: org.eclipse.virgo.web.enterprise.javax.persistence.extension
 Excluded-Imports:
diff --git a/org.eclipse.virgo.web.enterprise.jsf.support/template.mf b/org.eclipse.virgo.web.enterprise.jsf.support/template.mf
index a377f49..73dd1b1 100644
--- a/org.eclipse.virgo.web.enterprise.jsf.support/template.mf
+++ b/org.eclipse.virgo.web.enterprise.jsf.support/template.mf
@@ -9,7 +9,7 @@
  javax.ejb;version="0",
  javax.persistence;version="0",
  com.sun.faces.spi;version="0",
- org.apache.naming;version="${org.apache.catalina:[=.=.=, +1)}",
+ org.apache.naming;version="${apacheCatalinaVersion:[=.=.=, +1)}",
  javax.naming;version="0",
  org.slf4j.*;version="0",
  org.apache.webbeans.*;version="0",
diff --git a/org.eclipse.virgo.web.enterprise.openejb.fragment.bval/src/main/resources/META-INF/MANIFEST.MF b/org.eclipse.virgo.web.enterprise.openejb.fragment.bval/template.mf
old mode 100755
new mode 100644
similarity index 89%
rename from org.eclipse.virgo.web.enterprise.openejb.fragment.bval/src/main/resources/META-INF/MANIFEST.MF
rename to org.eclipse.virgo.web.enterprise.openejb.fragment.bval/template.mf
index 2b54a98..c64a9b8
--- a/org.eclipse.virgo.web.enterprise.openejb.fragment.bval/src/main/resources/META-INF/MANIFEST.MF
+++ b/org.eclipse.virgo.web.enterprise.openejb.fragment.bval/template.mf
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Virgo Web Enterprise OpenEjb BVal Fragment
 Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.openejb.fragment.bval
-Bundle-Version: 3.6.0.enterprise
+Bundle-Version: ${version}
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Fragment-Host: org.apache.openejb.core
 Import-Package: org.apache.bval.constraints
diff --git a/org.eclipse.virgo.web.enterprise.openejb.fragment.jotm/src/main/resources/META-INF/MANIFEST.MF b/org.eclipse.virgo.web.enterprise.openejb.fragment.jotm/template.mf
old mode 100755
new mode 100644
similarity index 90%
rename from org.eclipse.virgo.web.enterprise.openejb.fragment.jotm/src/main/resources/META-INF/MANIFEST.MF
rename to org.eclipse.virgo.web.enterprise.openejb.fragment.jotm/template.mf
index 03b3fae..44533b9
--- a/org.eclipse.virgo.web.enterprise.openejb.fragment.jotm/src/main/resources/META-INF/MANIFEST.MF
+++ b/org.eclipse.virgo.web.enterprise.openejb.fragment.jotm/template.mf
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Virgo Web Enterprise OpenEjb Transaction Integration
 Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.openejb.fragment.jotm
-Bundle-Version: 3.6.0.enterprise
+Bundle-Version: ${version}
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Import-Package: javax.transaction, org.objectweb.jotm
 Fragment-Host: org.apache.openejb.core
+Import-Package: javax.transaction, org.objectweb.jotm
diff --git a/org.eclipse.virgo.web.enterprise.openejb.fragment.jpa/src/main/resources/META-INF/MANIFEST.MF b/org.eclipse.virgo.web.enterprise.openejb.fragment.jpa/template.mf
old mode 100755
new mode 100644
similarity index 90%
rename from org.eclipse.virgo.web.enterprise.openejb.fragment.jpa/src/main/resources/META-INF/MANIFEST.MF
rename to org.eclipse.virgo.web.enterprise.openejb.fragment.jpa/template.mf
index 276ba66..5c5494c
--- a/org.eclipse.virgo.web.enterprise.openejb.fragment.jpa/src/main/resources/META-INF/MANIFEST.MF
+++ b/org.eclipse.virgo.web.enterprise.openejb.fragment.jpa/template.mf
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Virgo Web Enterprise OpenEjb JPA Fragment
 Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.openejb.fragment.jpa
-Bundle-Version: 3.6.0.enterprise
+Bundle-Version: ${version}
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Fragment-Host: org.apache.openejb.core
 Import-Package: org.apache.derby.jdbc;resolution:=optional
diff --git a/org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans/src/main/resources/META-INF/MANIFEST.MF b/org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans/template.mf
old mode 100755
new mode 100644
similarity index 87%
rename from org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans/src/main/resources/META-INF/MANIFEST.MF
rename to org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans/template.mf
index 47bc2fa..c76c1f2
--- a/org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans/src/main/resources/META-INF/MANIFEST.MF
+++ b/org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans/template.mf
@@ -1,14 +1,12 @@
-Manifest-Version: 1.0

-Fragment-Host: org.apache.openejb.core

-Bundle-Version: 3.6.0.enterprise

-Bundle-Name: OpenEjb integration with OpenWebBeans

-Bundle-ManifestVersion: 2

-Import-Package: org.apache.webbeans.ee.beans,

- org.apache.webbeans.ee.common.beans,

- org.apache.webbeans.jsf,

- org.apache.webbeans.jsf.plugin,

- org.apache.webbeans.web.tomcat,

- org.slf4j.spi

-Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans

-Bundle-RequiredExecutionEnvironment: JavaSE-1.6

-

+Bundle-ManifestVersion: 2
+Bundle-Name: OpenEjb integration with OpenWebBeans
+Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.openejb.fragment.webbeans
+Bundle-Version: ${version}
+Fragment-Host: org.apache.openejb.core
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.apache.webbeans.ee.beans,
+ org.apache.webbeans.ee.common.beans,
+ org.apache.webbeans.jsf,
+ org.apache.webbeans.jsf.plugin,
+ org.apache.webbeans.web.tomcat,
+ org.slf4j.spi
diff --git a/org.eclipse.virgo.web.enterprise.openejb.initialiser/template.mf b/org.eclipse.virgo.web.enterprise.openejb.initialiser/template.mf
index f190c80..e2e5c51 100644
--- a/org.eclipse.virgo.web.enterprise.openejb.initialiser/template.mf
+++ b/org.eclipse.virgo.web.enterprise.openejb.initialiser/template.mf
@@ -6,13 +6,13 @@
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.apache.openejb.core
 Import-Template: org.osgi.framework;version="0",
- org.apache.openejb.assembler.classic;version="${org.apache.openejb.core:[=.=.=, +1)}",
- org.apache.openejb.spi;version="${org.apache.openejb.core:[=.=.=, +1)}",
- org.apache.openejb.core;version="${org.apache.openejb.core:[=.=.=, +1)}",
- org.apache.openejb.util;version="${org.apache.openejb.core:[=.=.=, +1)}",
- org.apache.openejb.loader;version="${org.apache.openejb.loader:[=.=.=, +1)}",
+ org.apache.openejb.assembler.classic;version="${apacheOpenejbCoreVersion:[=.=.=, +1)}",
+ org.apache.openejb.spi;version="${apacheOpenejbCoreVersion:[=.=.=, +1)}",
+ org.apache.openejb.core;version="${apacheOpenejbCoreVersion:[=.=.=, +1)}",
+ org.apache.openejb.util;version="${apacheOpenejbCoreVersion:[=.=.=, +1)}",
+ org.apache.openejb.loader;version="${apacheOpenejbVersion:[=.=.=, +1)}",
  org.apache.openejb;version="0",
- org.apache.naming;version="${org.apache.catalina:[=.=.=, +1)}",
+ org.apache.naming;version="${apacheCatalinaVersion:[=.=.=, +1)}",
  javax.naming;version="0"
 Excluded-Exports:
  *
diff --git a/org.eclipse.virgo.web.enterprise.openejb.jpa.integration/template.mf b/org.eclipse.virgo.web.enterprise.openejb.jpa.integration/template.mf
new file mode 100644
index 0000000..78f46be
--- /dev/null
+++ b/org.eclipse.virgo.web.enterprise.openejb.jpa.integration/template.mf
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Virgo Web Enterprise OpenEjb JPA Integration
+Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.openejb.jpa.integration
+Bundle-Version: ${version}
diff --git a/org.eclipse.virgo.web.enterprise.openejb.tomcat.factory/template.mf b/org.eclipse.virgo.web.enterprise.openejb.tomcat.factory/template.mf
index c96066b..8fe0e34 100755
--- a/org.eclipse.virgo.web.enterprise.openejb.tomcat.factory/template.mf
+++ b/org.eclipse.virgo.web.enterprise.openejb.tomcat.factory/template.mf
@@ -5,8 +5,8 @@
 Bundle-Version: ${version}
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Import-Template: javax.naming;version="0",
- org.apache.catalina;version="0",
- org.apache.catalina.core;version="0"
+ org.apache.catalina;version="${apacheCatalinaVersion:[=.=.=,+1)}",
+ org.apache.catalina.core;version="${apacheCatalinaVersion:[=.=.=,+1)}"
 Excluded-Imports: 
  org.apache.openejb.util;version="0",
  org.apache.naming;version="0"                  
diff --git a/org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook/src/main/resources/META-INF/MANIFEST.MF b/org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook/template.mf
similarity index 78%
rename from org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook/src/main/resources/META-INF/MANIFEST.MF
rename to org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook/template.mf
index 4e2d216..93d39c7 100644
--- a/org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook/src/main/resources/META-INF/MANIFEST.MF
+++ b/org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook/template.mf
@@ -1,10 +1,7 @@
-Manifest-Version: 1.0

-Fragment-Host: system.bundle;extension:="framework"

-Bundle-Version: 3.6.0.enterprise

-Bundle-Name: Virgo Web Enterprise Security Integration Classloading Ho

- ok

-Bundle-ManifestVersion: 2

-Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.security.openejb

- .classloading.hook

-Bundle-RequiredExecutionEnvironment: JavaSE-1.6

-

+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Virgo Web Enterprise Security Integration Classloading Hook
+Bundle-SymbolicName: org.eclipse.virgo.web.enterprise.security.openejb.classloading.hook
+Bundle-Version: ${version}
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Fragment-Host: system.bundle;extension:="framework"
diff --git a/org.eclipse.virgo.web.servlet.adapter/src/main/resources/META-INF/MANIFEST.MF b/org.eclipse.virgo.web.servlet.adapter/template.mf
similarity index 92%
rename from org.eclipse.virgo.web.servlet.adapter/src/main/resources/META-INF/MANIFEST.MF
rename to org.eclipse.virgo.web.servlet.adapter/template.mf
index 5f56478..a76d10a 100644
--- a/org.eclipse.virgo.web.servlet.adapter/src/main/resources/META-INF/MANIFEST.MF
+++ b/org.eclipse.virgo.web.servlet.adapter/template.mf
@@ -1,13 +1,11 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Version: 3.6.0
 Bundle-Name: Virgo Web Servlet Adapter
 Bundle-SymbolicName: org.eclipse.virgo.web.servlet.adapter
+Bundle-Version: ${version}
 Require-Bundle: javax.servlet
 Export-Package: javax.servlet;version="3.0.0",
  javax.servlet.http;version="3.0.0",
  javax.servlet.annotation;version="3.0.0",
  javax.servlet.descriptor;version="3.0.0",
  javax.servlet.resources;version="3.0.0"
- 
-
diff --git a/org.eclipse.virgo.web.spring.integration/src/main/resources/META-INF/MANIFEST.MF b/org.eclipse.virgo.web.spring.integration/template.mf
similarity index 88%
rename from org.eclipse.virgo.web.spring.integration/src/main/resources/META-INF/MANIFEST.MF
rename to org.eclipse.virgo.web.spring.integration/template.mf
index 11e9e3a..e4e0ec4 100644
--- a/org.eclipse.virgo.web.spring.integration/src/main/resources/META-INF/MANIFEST.MF
+++ b/org.eclipse.virgo.web.spring.integration/template.mf
@@ -1,10 +1,7 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Version: 3.6.0
 Bundle-Name: Virgo Web Spring Integration
 Bundle-SymbolicName: org.eclipse.virgo.web.spring.integration
+Bundle-Version: ${version}
 Fragment-host: org.apache.catalina
 Import-Package: org.springframework.web
-
-
-
diff --git a/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractWebIntegrationTests.java b/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractWebIntegrationTests.java
index 5d6177e..51971de 100644
--- a/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractWebIntegrationTests.java
+++ b/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/AbstractWebIntegrationTests.java
@@ -380,7 +380,7 @@
     }
 
     protected PathReference hotDeploy(PathReference toDeploy, String name, String version) throws InterruptedException {
-        PathReference deployed = toDeploy.copy(new PathReference("target/pickup"), true);
+        PathReference deployed = toDeploy.copy(new PathReference("build/pickup"), true);
 
         awaitDeployment(toDeploy, deployed);
         awaitWebAppStart(name, version);
diff --git a/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/PerAppTraceRoutingTests.java b/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/PerAppTraceRoutingTests.java
index 4428782..bffed31 100644
--- a/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/PerAppTraceRoutingTests.java
+++ b/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/PerAppTraceRoutingTests.java
@@ -34,14 +34,14 @@
 
     @Before
     public void deleteTraceFiles() {
-        FileSystemUtils.deleteRecursively("target/per-app-logging.war-0");
+        FileSystemUtils.deleteRecursively("build/per-app-logging.war-0");
     }
 
     @Test
     public void perAppTraceRouting() throws Exception {
         assertDeployAndUndeployBehavior("per-app-logging", new File("src/test/apps-static/per-app-logging.war"), "");
 
-        File traceFile = new File("target/per-app-logging.war-0/trace.log");
+        File traceFile = new File("build/per-app-logging.war-0/trace.log");
         assertTrue(traceFile.exists());
         List<String> expectedText = new ArrayList<String>();
 
diff --git a/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarDirectoryDeploymentTests.java b/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarDirectoryDeploymentTests.java
index 969fc0d..3ad2eda 100644
--- a/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarDirectoryDeploymentTests.java
+++ b/org.eclipse.virgo.web.test/src/test/java/org/eclipse/virgo/web/test/WarDirectoryDeploymentTests.java
@@ -29,7 +29,7 @@
 
     @Before
     public void clean() {
-        PathReference pickup = new PathReference("target/pickup");
+        PathReference pickup = new PathReference("build/pickup");
         pickup.delete(true);
         pickup.createDirectory();
     }
diff --git a/org.eclipse.virgo.web.test/template.mf b/org.eclipse.virgo.web.test/template.mf
index 3966e50..ae076cd 100644
--- a/org.eclipse.virgo.web.test/template.mf
+++ b/org.eclipse.virgo.web.test/template.mf
@@ -5,16 +5,16 @@
 Bundle-Version: ${version}
 Import-Template: 
  org.eclipse.virgo.kernel.*;version="${org.eclipse.virgo.kernel:[=.=.=, +1)}",
- org.eclipse.virgo.util.*;version="${org.eclipse.virgo.util:[=.=.=, +1)}",
+ org.eclipse.virgo.util.*;version="${version:[=.=.=, +1)}",
  org.eclipse.virgo.kernel.equinox.*;version="${org.eclipse.virgo.kernel:[=.=.=, +1)}",
  javax.management.*;version="0",
  org.junit.*;version="${org.junit:[=.=.=, +1)}",
  javax.servlet.*;version="${javax.servlet:[-1.6.=, +1)}",
  org.apache.commons.logging.*;version="${org.apache.commons.logging:[=.=.=, +1)}",
  org.apache.commons.httpclient.*;version="${org.apache.commons.httpclient:[=.=.=, +1)}",
- org.aspectj.*;version="${org.aspectj:[=.=.=, +1)}",
+ org.aspectj.*;version="${orgAspectjVersion:[=.=.=, +1)}",
  org.osgi.framework.*;version="0",
- org.springframework.*;version="${org.springframework:[2.5.6, +1)}",
+ org.springframework.*;version="${springframeworkVersion:[2.5.6, +1)}",
  org.osgi.service.cm.*;version="0",
  org.osgi.service.component.*;version="0",
  org.osgi.service.log.*;version="0",
@@ -24,7 +24,7 @@
  org.eclipse.osgi.service.environment.*;version="0",
  org.eclipse.osgi.util.*;version="0",
  org.osgi.util.tracker.*;version="0",
- org.eclipse.gemini.blueprint.*;version="${org.eclipse.gemini.blueprint:[=.=.=, +1)}"
+ org.eclipse.gemini.blueprint.*;version="${geminiBlueprintVersion:[=.=.=, +1)}"
 Excluded-Imports: 
  org.eclipse.virgo,
  org.eclipse.virgo.test.*,
diff --git a/org.eclipse.virgo.web.tomcat.support/template.mf b/org.eclipse.virgo.web.tomcat.support/template.mf
index c28b6b0..816c643 100644
--- a/org.eclipse.virgo.web.tomcat.support/template.mf
+++ b/org.eclipse.virgo.web.tomcat.support/template.mf
@@ -5,28 +5,28 @@
 Fragment-Host: org.eclipse.gemini.web.tomcat
 Bundle-Version: ${version}
 Import-Template: 
- org.eclipse.virgo.kernel.*;version="${org.eclipse.virgo.kernel:[=.=.=, +1)}",
- org.eclipse.virgo.nano.*;version="${org.eclipse.virgo.nano:[=.=.=, +1)}",
- org.eclipse.gemini.web.*;version="${org.eclipse.gemini.web:[=.=.=, +1)}",
- org.eclipse.virgo.medic.*;version="${org.eclipse.virgo.medic:[=.=.=, +1)}",
+ org.eclipse.virgo.kernel.*;version="${version:[=.=.=, +1)}",
+ org.eclipse.virgo.nano.*;version="${version:[=.=.=, +1)}",
+ org.eclipse.gemini.web.*;version="${geminiWebVersion:[=.=.=, +1)}",
+ org.eclipse.virgo.medic.*;version="${version:[=.=.=, +1)}",
  org.eclipse.virgo.web.*;version="${version:[=.=.=, =.+1)}",
- org.eclipse.virgo.util.*;version="${org.eclipse.virgo.util:[=.=.=, +1)}",
- org.apache.catalina.*;version="${org.apache.catalina:[=.=.=, =.+1)}",
- javax.servlet.*;version="${javax.servlet:[-1.6.=, +1)}",
- org.aspectj.*;version="${org.aspectj:[=.=.=, +1)}",
+ org.eclipse.virgo.util.*;version="${version:[=.=.=, +1)}",
+ org.apache.catalina.*;version="${apacheCatalinaVersion:[=.=.=, =.+1)}",
+ javax.servlet.*;version="${javaxServletVersion:[-1.6.=, +1)}",
+ org.aspectj.*;version="${orgAspectjVersion:[=.=.=, +1)}",
  org.osgi.framework.*;version="0"
 Import-Package: 
- org.apache.catalina.ha;version="${org.apache.catalina.ha:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.ha.tcp;version="${org.apache.catalina.ha:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.ha.session;version="${org.apache.catalina.ha:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.ha.deploy;version="${org.apache.catalina.ha:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.tribes;version="${org.apache.catalina.tribes:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.tribes.io;version="${org.apache.catalina.tribes:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.tribes.group;version="${org.apache.catalina.tribes:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.tribes.membership;version="${org.apache.catalina.tribes:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.tribes.transport.nio;version="${org.apache.catalina.tribes:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.tribes.transport;version="${org.apache.catalina.tribes:[=.=.=, =.+1)}";resolution:=optional,
- org.apache.catalina.tribes.group.interceptors;version="${org.apache.catalina.tribes:[=.=.=, =.+1)}";resolution:=optional,
- javax.websocket;version="${javax.websocket:[=.=.=, =.+1)}";resolution:=optional
+ org.apache.catalina.ha;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.ha.tcp;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.ha.session;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.ha.deploy;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.tribes;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.tribes.io;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.tribes.group;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.tribes.membership;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.tribes.transport.nio;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.tribes.transport;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ org.apache.catalina.tribes.group.interceptors;version="${apacheCatalinaVersion:[=.=.=, =.+1)}";resolution:=optional,
+ javax.websocket;version="${javaxWebsocketVersion:[=.=.=, =.+1)}";resolution:=optional
 Excluded-Exports: 
  *
diff --git a/org.eclipse.virgo.web.war.deployer/template.mf b/org.eclipse.virgo.web.war.deployer/template.mf
index 085b688..ff39a71 100644
--- a/org.eclipse.virgo.web.war.deployer/template.mf
+++ b/org.eclipse.virgo.web.war.deployer/template.mf
@@ -6,8 +6,8 @@
 Service-Component: OSGI-INF/virgo.web.war.deployer.component.xml
 Import-Template: 
  org.eclipse.virgo.nano.*;version="${version:[=.=.=, =.+1)}",
- org.eclipse.virgo.util.*;version="${org.eclipse.virgo.util:[=.=.=, =.+1)}",
- org.eclipse.virgo.medic.*;version="${org.eclipse.virgo.medic:[=.=.=, =.+1)}",
+ org.eclipse.virgo.util.*;version="${version:[=.=.=, =.+1)}",
+ org.eclipse.virgo.medic.*;version="${version:[=.=.=, =.+1)}",
  org.eclipse.gemini.web.core;version="0",
  org.eclipse.osgi.*;version="0",
  org.osgi.framework.*;version="0",