532222 - Prepare OSGi bundles of Spring Framework 5.0.x

Those bundles are required for the Gemini Blueprint 3 upgrade.
diff --git a/ebr/README.md b/ebr/README.md
index 6391bdb..08608db 100644
--- a/ebr/README.md
+++ b/ebr/README.md
@@ -1,6 +1,8 @@
 ## Publishing 3rd party bundles
 
-### Building 
+We publish 3rd party OSGi bundles via Jenkins job [virgo-mirrored-master](https://ci.eclipse.org/virgo/view/Virgo/job/virgo-mirrored-master/)
+
+### Building
 
 Gradle default tasks:
  1. `clean` - Cleans old build output
@@ -11,13 +13,12 @@
  
 Building locally:
 
-```bash
-$ ./gradlew clean bundlor publishToMavenLocal test
-```
+    `./gradlew clean bundlor publishToMavenLocal test`
 
-### Add new Version of Spring
+### Update Spring Framework
 
-TBD
+The Spring Framework BOM (Bill of Material) is a good point to start
+[spring-framework-bom : 5.0.4.RELEASE](http://search.maven.org/#artifactdetails%7Corg.springframework%7Cspring-framework-bom%7C5.0.4.RELEASE%7Cpom)
 
 ### Writing PaxExam test for 3rd party bundle
 
diff --git a/ebr/com.squareup.okhttp3-3.8.1/build.gradle b/ebr/com.squareup.okhttp3-3.9.1/build.gradle
similarity index 100%
rename from ebr/com.squareup.okhttp3-3.8.1/build.gradle
rename to ebr/com.squareup.okhttp3-3.9.1/build.gradle
diff --git a/ebr/com.squareup.okhttp3-3.8.1/com.squareup.okhttp3.mf b/ebr/com.squareup.okhttp3-3.9.1/com.squareup.okhttp3.mf
similarity index 70%
rename from ebr/com.squareup.okhttp3-3.8.1/com.squareup.okhttp3.mf
rename to ebr/com.squareup.okhttp3-3.9.1/com.squareup.okhttp3.mf
index c539dad..0d222f9 100644
--- a/ebr/com.squareup.okhttp3-3.8.1/com.squareup.okhttp3.mf
+++ b/ebr/com.squareup.okhttp3-3.9.1/com.squareup.okhttp3.mf
@@ -2,13 +2,16 @@
 Bundle-Name: OkHttp
 Bundle-Vendor: Eclipse Virgo
 Bundle-ManifestVersion: 2
-Bundle-Version: 3.8.0
+Bundle-Version: ${okhttp3Version}
 Import-Template:
- okio;version="[1.13.0,2)",
+ okio;version="${okioVersion:[=.=.=, +1)}",
+ android.os;version="0";resolution:="optional",
  android.util;version="0";resolution:="optional",
  javax.annotation;version="0";resolution:=optional,
  javax.net.*;version="0";resolution:=optional,
  javax.security.auth.x500;version="0";resolution:=optional
+Export-Template:
+ okhttp3.*;version="${okhttp3Version}"
 Ignored-Existing-Headers:
  Bnd-LastModified,
  Import-Package,
diff --git a/ebr/com.squareup.okio-1.13.0/build.gradle b/ebr/com.squareup.okio-1.14.0/build.gradle
similarity index 100%
rename from ebr/com.squareup.okio-1.13.0/build.gradle
rename to ebr/com.squareup.okio-1.14.0/build.gradle
diff --git a/ebr/com.squareup.okio-1.13.0/com.squareup.okio.mf b/ebr/com.squareup.okio-1.14.0/com.squareup.okio.mf
similarity index 82%
rename from ebr/com.squareup.okio-1.13.0/com.squareup.okio.mf
rename to ebr/com.squareup.okio-1.14.0/com.squareup.okio.mf
index 96eb69a..b680615 100644
--- a/ebr/com.squareup.okio-1.13.0/com.squareup.okio.mf
+++ b/ebr/com.squareup.okio-1.14.0/com.squareup.okio.mf
@@ -2,11 +2,13 @@
 Bundle-Name: Okio
 Bundle-Vendor: Eclipse Virgo
 Bundle-ManifestVersion: 2
-Bundle-Version: 1.13.0
+Bundle-Version: ${okioVersion}
 Import-Template:
  javax.annotation;version="0";resolution:=optional,
  javax.crypto.*;version="0";resolution:=optional,
  org.codehaus.mojo.animal_sniffer;version="[1.15,2)";resolution:=optional
+Export-Template:
+ okio.*;version="${okioVersion}"
 Ignored-Existing-Headers:
  Bnd-LastModified,
  Import-Package,
diff --git a/ebr/gradle.properties b/ebr/gradle.properties
index 2d3eddd..4df7db2 100644
--- a/ebr/gradle.properties
+++ b/ebr/gradle.properties
@@ -26,7 +26,7 @@
 # CQ 12464 SLF4J log4j-over-slf4j Version: 1.7.22
 # CQ 12462 SLF4J slf4j-api Version: 1.7.22
 # CQ 12540 SLF4J slf4j-nop version 1.7.22 and Later
-slf4jVersion = 1.7.22
+slf4jVersion = 1.7.25
 # CQ 12508 - Logback Classic Version 1.1.8
 # CQ 12507 - Logback Core Version: 1.1.8
 logbackVersion = 1.1.8
@@ -111,7 +111,7 @@
 orgAopAllianceVersion = 1.0.0
 
 geminiBlueprintVersion = 2.0.0.RELEASE
-// TODO update CQs
+// TODO update CQs for 5.0.8
 #CQ 13690 org.springframework.aop
 #CQ 13691 org.springframework.aspects
 #CQ 13692 org.springframework.beans
@@ -120,16 +120,17 @@
 #CQ 13695 org.springframework.core
 #CQ 13696 org.springframework.expression
 #CQ 13697 org.springframework.jdbc
+#CQ ?! org.springframework.jcl
 #CQ 13698 org.springframework.jms
 #CQ 13699 org.springframework.messaging
 #CQ 13700 org.springframework.orm
 #CQ 13701 org.springframework.oxm
 #CQ 13702 org.springframework.transaction
 #CQ 13703 org.springframework.web
+#CQ ?! org.springframework.webflux
 #CQ 13704 org.springframework.webmvc
-#CQ 13705 org.springframework.webmvc.portlet
 #CQ 13706 org.springframework.websocket
-springframeworkVersion = 4.3.18.RELEASE
+springframeworkVersion = 5.0.8.RELEASE
 
 geminiManagementVersion = 1.0.5.RELEASE
 geminiWebVersion = 3.0.0.RC3
@@ -195,7 +196,7 @@
 javaxAnnotationVersion= 1.2.0.v201401042248
 # CQ6093 ejb-api Version: 3.1.1
 javaxEjbVersion=3.1.1.v201204261316
-javaxElVersion=3.0.0.20150414
+javaxElVersion=3.0.0.20180121
 # CQ6090 (PB Orbit CQ3578)
 javaxInjectVersion = 1.0.0.v20091030
 javaxJmsVersion=1.1.0.v201205091237
@@ -298,8 +299,11 @@
 javaxCacheVersion = 1.0.0
 
 # spring-beans
-groovyVersion = 2.4.15
-snakeYamlVersion = 1.17
+# https://github.com/spring-projects/spring-framework/blob/v5.0.4.RELEASE/spring-beans/spring-beans.gradle
+groovyVersion = 2.4.13
+snakeYamlVersion = 1.19
+kotlinVersion = 1.2.21
+orgJetbrainsAnnotations = 13.0
 
 # spring-context
 # bundlor fails with 2.0b4
@@ -316,9 +320,15 @@
 benmanesCaffeineVersion = 2.3.5
 
 # spring-core
-joptSimpleVersion = 4.9
 # CQ4833 log4j Version: 1.2.15 (Subset - see all comments) (PB Orbit CQ3560)
 apacheLog4jVersion = 1.2.17
+joptSimpleVersion = 5.0.4
+nettyVersion = 4.1.21.Final
+reactorCoreVersion = 3.1.5.RELEASE
+reactiveStreamsVersion = 1.0.2
+rxJava2Version = 2.1.9
+rxJavaVersion = 1.3.6
+rxJavaReactiveStreamsVersion = 1.2.1
 
 # spring-jdbc
 h2Version = 1.4.193
@@ -328,8 +338,6 @@
 apacheDerbyVersion = 10.13.1.1
 
 # spring-messaging
-nettyVersion = 4.1.25.Final
-reactorVersion = 2.0.8.RELEASE
 
 # spring-orm
 jdoApiVersion = 3.1
@@ -347,9 +355,8 @@
 protobufJavaVersion = 2.6.1
 protobufJavaFormatVersion = 1.4
 romeVersion = 1.7.4
-okhttpVersion = 2.7.5
-okhttp3Version = 3.8.1
-okioVersion = 1.13.0
+okhttp3Version = 3.9.1
+okioVersion = 1.14.0
 
 # spring-webmvc
 jxlVersion = 2.6.12
diff --git a/ebr/org.springframework.aop-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.aop-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..d6f2c81
--- /dev/null
+++ b/ebr/org.springframework.aop-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,16 @@
+configurations {
+    origin
+}
+
+dependencies {
+    origin group: 'org.springframework', name: 'spring-aop', version: "${springframeworkVersion}"
+    sourceBundle fileTree("$buildDir/libs")
+}
+
+task removeAopallianceFromJar(type: Jar) {
+    baseName = 'spring-aop'
+    from zipTree(configurations.origin[0])
+    exclude 'org/aopalliance/**'
+}
+
+bundlor.dependsOn removeAopallianceFromJar
diff --git a/ebr/org.springframework.aop-5.0.8.RELEASE/org.springframework.aop.mf b/ebr/org.springframework.aop-5.0.8.RELEASE/org.springframework.aop.mf
new file mode 100644
index 0000000..d05ddc6
--- /dev/null
+++ b/ebr/org.springframework.aop-5.0.8.RELEASE/org.springframework.aop.mf
@@ -0,0 +1,27 @@
+Bundle-SymbolicName: org.springframework.aop
+Bundle-Name: Spring AOP
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.aopalliance.*;version="${orgAopAllianceVersion:[=.=.=, +1)}",
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.objenesis.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ com.jamonapi.*;version="${jamonVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.pool.*;version="${commonsPoolVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.pool2.*;version="${commonsPool2Version:[=.=.=, +1)}";resolution:=optional,
+ org.aspectj.*;version="${aspectjVersion:[=.=.=, +1)}";resolution:=optional,
+ org.springframework.cglib.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.w3c.dom.*;version="0";resolution:=optional
+Export-Template:
+ org.springframework.aop.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Export-Package,
+ Import-Package,
+ Tool
+
diff --git a/ebr/org.springframework.aspects-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.aspects-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..5520b71
--- /dev/null
+++ b/ebr/org.springframework.aspects-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-aspects', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.aspects-5.0.8.RELEASE/org.springframework.aspects.mf b/ebr/org.springframework.aspects-5.0.8.RELEASE/org.springframework.aspects.mf
new file mode 100644
index 0000000..132f4bb
--- /dev/null
+++ b/ebr/org.springframework.aspects-5.0.8.RELEASE/org.springframework.aspects.mf
@@ -0,0 +1,30 @@
+Bundle-SymbolicName: org.springframework.aspects
+Bundle-Name: Spring Aspects
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ javax.cache;version="${javaxCacheVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.persistence;version="${javaxPersistenceVersion:[=.=, +1)}";resolution:=optional,
+ javax.transaction;version="${javaxTransactionVersion:[=.=, +1)}";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.aspectj.*;version="${aspectjVersion:[=.=.=, +1)}";resolution:=optional,
+ org.springframework.aop.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.cache.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.cglib.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.dao.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.orm.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.scheduling.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.transaction.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional
+Export-Template:
+ org.springframework.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Tool
+Excluded-Imports:
+ org.springframework.context.*
diff --git a/ebr/org.springframework.beans-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.beans-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..cd78444
--- /dev/null
+++ b/ebr/org.springframework.beans-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-beans', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.beans-5.0.8.RELEASE/org.springframework.beans.mf b/ebr/org.springframework.beans-5.0.8.RELEASE/org.springframework.beans.mf
new file mode 100644
index 0000000..a2a3c14
--- /dev/null
+++ b/ebr/org.springframework.beans-5.0.8.RELEASE/org.springframework.beans.mf
@@ -0,0 +1,28 @@
+Bundle-SymbolicName: org.springframework.beans
+Bundle-Name: Spring Beans
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.cglib.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ javax.el.*;version="${javaxElVersion:[=.=.0, +1)}";resolution:=optional,
+ javax.inject.*;version="[1, 2)";resolution:=optional,
+ javax.xml.*;version="0";resolution:=optional,
+ groovy.*;version="${groovyVersion:[=.=.=, +1)}";resolution:="optional",
+ org.yaml.snakeyaml.*;version="${snakeYamlVersion:[=.=.=, +1)}";resolution:="optional",
+ org.codehaus.groovy.*;version="${groovyVersion:[=.=.=, +1)}";resolution:="optional",
+ org.xml.sax.*;version="0";resolution:=optional,
+ org.w3c.dom.*;version="0";resolution:=optional,
+ kotlin.*;version="${kotlinVersion:[=.=.=, +1)}";resolution:="optional",
+ org.jetbrains.annotations.*;version="${orgJetbrainsAnnotations:[=.=.=, +1)}";resolution:="optional"
+Export-Template:
+ org.springframework.beans.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.context-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.context-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..652c1a5
--- /dev/null
+++ b/ebr/org.springframework.context-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-context', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.context-5.0.8.RELEASE/org.springframework.context.mf b/ebr/org.springframework.context-5.0.8.RELEASE/org.springframework.context.mf
new file mode 100644
index 0000000..574413d
--- /dev/null
+++ b/ebr/org.springframework.context-5.0.8.RELEASE/org.springframework.context.mf
@@ -0,0 +1,60 @@
+Bundle-SymbolicName: org.springframework.context
+Bundle-Name: Spring Context
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Package:
+ org.springframework.cglib.reflect;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.orm.jpa.support;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ javax.inject;version="[1, 2)";resolution:=optional,
+ javax.persistence;version="${javaxPersistenceVersion:[=.=, +1)}";resolution:=optional,
+ com.ibm.websphere.management;version="0";resolution:=optional
+Import-Template:
+ org.aopalliance.*;version="${orgAopAllianceVersion:[=.=.=, +1)}",
+ bsh.*;version="${beanShellVersion:[=.=.=, +1)}";resolution:=optional,
+ com.sun.net.*;version="0";resolution:=optional,
+ edu.emory.mathcs.backport.*;version="[3.0.0, 4.0.0)";resolution:=optional,
+ groovy.*;version="${groovyVersion:[=.=.=, +1)}";resolution:="optional",
+ javax.annotation.*;version="0";resolution:=optional,
+ javax.cache.*;version="${javaxCacheVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.ejb.*;version="[3, 4)";resolution:=optional,
+ javax.enterprise.concurrent;version="[1, 2)";resolution:=optional,
+ javax.interceptor.*;version="[3.0.0, 4.0.0)";resolution:=optional,
+ javax.jms.*;version="[1.1.0, 2.0.0)";resolution:=optional,
+ javax.management.*;version="0";resolution:=optional,
+ javax.money.*;version="[1, 2)";resolution:=optional,
+ javax.naming.*;version="0";resolution:=optional,
+ javax.persistence.*;version="${javaxPersistenceVersion:[=.=, +1)}";resolution:=optional,
+ javax.rmi.*;version="0";resolution:=optional,
+ javax.script;version="0";resotion:=optional,
+ javax.validation.*;version="[1, 2)";resolution:=optional,
+ javax.xml.*;version="0";resolution:=optional,
+ net.sf.ehcache.*;version="${ehcacheVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.aspectj.*;version="${aspectjVersion:[=.=.=, +1)}";resolution:=optional,
+ org.codehaus.groovy.*;version="${groovyVersion:[=.=.=, +1)}";resolution:="optional",
+ org.hibernate.validator.*;version="${hibernateVersion:[=.=.=, +1)}";resolution:=optional,
+ org.joda.*;version="${jodaTimeVersion:[=.=.=, +1)}";resolution:=optional,
+ org.jruby.*;version="${jrubyVersion:[=.=.=, +1)}";resolution:=optional,
+ org.omg.CORBA.*;version="0";resolution:=optional,
+ org.springframework.aop.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.asm.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.cglib.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.expression.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.instrument.*;version="0";resolution:=optional,
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.objenesis.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.xml.sax.*;version="0";resolution:=optional,
+ org.w3c.dom.*;version="0";resolution:=optional,
+ kotlin.*;version="${kotlinVersion:[=.=.=, +1)}";resolution:="optional",
+ org.jetbrains.annotations.*;version="${orgJetbrainsAnnotations:[=.=.=, +1)}";resolution:="optional"
+Export-Template:
+ org.springframework.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.context.support-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.context.support-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..a6af036
--- /dev/null
+++ b/ebr/org.springframework.context.support-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-context-support', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.context.support-5.0.8.RELEASE/org.springframework.context.support.mf b/ebr/org.springframework.context.support-5.0.8.RELEASE/org.springframework.context.support.mf
new file mode 100644
index 0000000..b7f4b55
--- /dev/null
+++ b/ebr/org.springframework.context.support-5.0.8.RELEASE/org.springframework.context.support.mf
@@ -0,0 +1,42 @@
+Bundle-SymbolicName: org.springframework.context.support
+Bundle-Name: Spring Context Support
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ org.aopalliance.*;version="${orgAopAllianceVersion:[=.=.=, +1)}",
+ com.github.benmanes.caffeine.cache;version="${benmanesCaffeineVersion:[=.=.=, +1)}";resolution:=optional,
+ com.google.common.*;version="[20,100)";resolution:=optional,
+ commonj.*;version="${commonjVersion:[=.=.=, +1)}";resolution:=optional,
+ freemarker.*;version="${freemarkerVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.activation.*;version="0";resolution:=optional,
+ javax.cache.*;version="${javaxCacheVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.mail.*;version="${javaxMailVersion:[=.=.0, +1)}";resolution:=optional,
+ javax.naming.*;version="0";resolution:=optional,
+ javax.sql.*;version="0";resolution:=optional,
+ net.sf.ehcache.*;version="${ehcacheVersion:[=.=.=, +1)}";resolution:=optional,
+ net.sf.jasperreports.*;version="${jasperreportsVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.collections.*;version="${commonsCollectionsVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.apache.velocity.*;version="${velocityVersion:[=.=.=, +1)}";resolution:=optional,
+ org.quartz.*;version="${quartzVersion:[=.=.=, +1)}";resolution:=optional,
+ org.springframework.aop.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.lang;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.expression.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.jdbc.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.jndi.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.scheduling.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.transaction.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.cache.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.w3c.dom.*;version="0";resolution:=optional
+Export-Template:
+ org.springframework.context.support.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.core-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.core-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..fc6f651
--- /dev/null
+++ b/ebr/org.springframework.core-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-core', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.core-5.0.8.RELEASE/org.springframework.core.mf b/ebr/org.springframework.core-5.0.8.RELEASE/org.springframework.core.mf
new file mode 100644
index 0000000..ad57b62
--- /dev/null
+++ b/ebr/org.springframework.core-5.0.8.RELEASE/org.springframework.core.mf
@@ -0,0 +1,38 @@
+Bundle-SymbolicName: org.springframework.core
+Bundle-Name: Spring Core
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ javax.net;version="0",
+ javax.xml.*;version="0",
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ joptsimple.*;version="${joptSimpleVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.tools.ant.*;version="0";resolution:=optional,
+ org.apache.commons.codec.*;version="${commonsCodecVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.log4j.*;version="${apacheLog4jVersion:[=.=.=, +1)}";resolution:=optional,
+ org.aspectj.*;version="${aspectjVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.annotation;version="0";resolution:=optional,
+ javax.annotation.meta;version="0";resolution:=optional,
+ org.xml.sax.*;version="0";resolution:=optional,
+ org.w3c.dom.*;version="0";resolution:=optional,
+ io.netty.*;version="${nettyVersion:[=.=.=, +1)}";resolution:=optional,
+ reactor.core.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ reactor.adapter.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ org.reactivestreams.*;version="${reactiveStreamsVersion:[=.=.=, +1)}";resolution:=optional,
+ io.reactivex.*;version="${rxJava2Version:[=.=.=, +1)}";resolution:=optional,
+ rx.*;version="${rxJavaVersion:[=.=.=, +1)}";resolution:=optional,
+ kotlin.*;version="${kotlinVersion:[=.=.=, +1)}";resolution:="optional",
+ org.jetbrains.annotations.*;version="${orgJetbrainsAnnotations:[=.=.=, +1)}";resolution:="optional"
+Export-Template:
+ org.springframework.asm.*;version="${springframeworkVersion}",
+ org.springframework.cglib.*;version="${springframeworkVersion}",
+ org.springframework.core.*;version="${springframeworkVersion}",
+ org.springframework.lang.*;version="${springframeworkVersion}",
+ org.springframework.objenesis.*;version="${springframeworkVersion}",
+ org.springframework.util.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.expression-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.expression-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..cd029da
--- /dev/null
+++ b/ebr/org.springframework.expression-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-expression', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.expression-5.0.8.RELEASE/org.springframework.expression.mf b/ebr/org.springframework.expression-5.0.8.RELEASE/org.springframework.expression.mf
new file mode 100644
index 0000000..1bd694d
--- /dev/null
+++ b/ebr/org.springframework.expression-5.0.8.RELEASE/org.springframework.expression.mf
@@ -0,0 +1,13 @@
+Bundle-SymbolicName: org.springframework.expression
+Bundle-Name: Spring Expression Language
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.springframework.asm.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}"
+Export-Template:
+ org.springframework.expression.*;version="${springframeworkVersion}"
diff --git a/ebr/org.springframework.jcl-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.jcl-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..e27f172
--- /dev/null
+++ b/ebr/org.springframework.jcl-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-jcl', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.jcl-5.0.8.RELEASE/org.springframework.jcl.mf b/ebr/org.springframework.jcl-5.0.8.RELEASE/org.springframework.jcl.mf
new file mode 100644
index 0000000..957d676
--- /dev/null
+++ b/ebr/org.springframework.jcl-5.0.8.RELEASE/org.springframework.jcl.mf
@@ -0,0 +1,16 @@
+Bundle-SymbolicName: org.springframework.jcl
+Bundle-Name: Spring JCL
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ org.apache.logging.log4j.*;version="${apacheLog4jVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.log4j.*;version="${apacheLog4jVersion:[=.=.=, +1)}";resolution:=optional,
+ org.slf4j.*;version="${slf4jVersion:[=.=.=, +1)}";resolution:=optional
+Export-Template:
+ org.apache.commons.logging.*;version="1.2"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.jdbc-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.jdbc-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..f4e86ff
--- /dev/null
+++ b/ebr/org.springframework.jdbc-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-jdbc', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.jdbc-5.0.8.RELEASE/org.springframework.jdbc.mf b/ebr/org.springframework.jdbc-5.0.8.RELEASE/org.springframework.jdbc.mf
new file mode 100644
index 0000000..91e2477
--- /dev/null
+++ b/ebr/org.springframework.jdbc-5.0.8.RELEASE/org.springframework.jdbc.mf
@@ -0,0 +1,41 @@
+Bundle-SymbolicName: org.springframework.jdbc
+Bundle-Name: Spring JDBC
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Package:
+ com.ibm.websphere.rsadapter;version="0";resolution:=optional,
+ com.ibm.ws.rsadapter.jdbc;version="0";resolution:=optional,
+ oracle.jdbc;version="0";resolution:=optional,
+ oracle.sql;version="0";resolution:=optional,
+ org.jboss.resource.adapter.jdbc;version="0";resolution:=optional,
+ weblogic.jdbc.extensions;version="0";resolution:=optional
+Import-Template:
+ com.mchange.v2.c3p0.*;version="${c3p0Version:[=.=.=, +1)}";resolution:=optional,
+ com.sun.rowset.*;version="[1.0.1, 2.0.0)";resolution:=optional,
+ javax.naming.*;version="0";resolution:=optional,
+ javax.sql.*;version="0",
+ javax.transaction.*;version="${javaxTransactionVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.xml.*;version="0";resolution:=optional,
+ org.h2.*;version="${h2Version:[=.=.=, +1)}";resolution:=optional,
+ org.hsqldb.*;version="${hsqldbVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.derby.*;version="${apacheDerbyVersion:[=.=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.dao.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.jndi.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.transaction.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.w3c.dom.*;version="0";resolution:=optional,
+ kotlin.*;version="${kotlinVersion:[=.=.=, +1)}";resolution:="optional",
+ org.jetbrains.annotations.*;version="${orgJetbrainsAnnotations:[=.=.=, +1)}";resolution:="optional"
+Export-Template:
+ org.springframework.jdbc.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.jms-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.jms-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..2e8586f
--- /dev/null
+++ b/ebr/org.springframework.jms-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-jms', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.jms-5.0.8.RELEASE/org.springframework.jms.mf b/ebr/org.springframework.jms-5.0.8.RELEASE/org.springframework.jms.mf
new file mode 100644
index 0000000..519c804
--- /dev/null
+++ b/ebr/org.springframework.jms-5.0.8.RELEASE/org.springframework.jms.mf
@@ -0,0 +1,36 @@
+Bundle-SymbolicName: org.springframework.jms
+Bundle-Name: Spring JMS
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ org.aopalliance.*;version="${orgAopAllianceVersion:[=.=.=, +1)}",
+ javax.jms.*;version="[1.1, 2)",
+ javax.naming.*;version="0";resolution:=optional,
+ javax.resource.*;version="[1.5, 2)";resolution:=optional,
+ javax.transaction.*;version="[1.0.1, 2.0.0)";resolution:=optional,
+ javax.xml.*;version="0";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.codehaus.jackson.*;version="[1.4.2, 2.0.0)";resolution:=optional,
+ com.fasterxml.jackson.*;version="${jacksonVersion:[=.=.=, +1)}";resolution:=optional,
+ org.springframework.aop.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.jca.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.jndi.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.messaging.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.oxm.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.remoting.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.scheduling.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.transaction.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.w3c.dom.*;version="0";resolution:=optional
+Export-Template:
+ org.springframework.jms.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.messaging-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.messaging-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..fc5a4cf
--- /dev/null
+++ b/ebr/org.springframework.messaging-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-messaging', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.messaging-5.0.8.RELEASE/org.springframework.messaging.mf b/ebr/org.springframework.messaging-5.0.8.RELEASE/org.springframework.messaging.mf
new file mode 100644
index 0000000..1f39b38
--- /dev/null
+++ b/ebr/org.springframework.messaging-5.0.8.RELEASE/org.springframework.messaging.mf
@@ -0,0 +1,30 @@
+Bundle-SymbolicName: org.springframework.messaging
+Bundle-Name: Spring Messaging
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ com.fasterxml.jackson.*;version="${jacksonVersion:[=.=.=, +1)}";resolution:=optional,
+ io.netty.*;version="${nettyVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.xml.transform.*;version="0",
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.reactivestreams.*;version="${reactiveStreamsVersion:[=.=.=, +1)}";resolution:=optional,
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.expression.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.format.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.oxm.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.scheduling.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.stereotype.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.validation.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ reactor.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional
+Export-Template:
+ org.springframework.messaging.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.orm-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.orm-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..f790231
--- /dev/null
+++ b/ebr/org.springframework.orm-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-orm', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.orm-5.0.8.RELEASE/org.springframework.orm.mf b/ebr/org.springframework.orm-5.0.8.RELEASE/org.springframework.orm.mf
new file mode 100644
index 0000000..81f9c4b
--- /dev/null
+++ b/ebr/org.springframework.orm-5.0.8.RELEASE/org.springframework.orm.mf
@@ -0,0 +1,51 @@
+Bundle-SymbolicName: org.springframework.orm
+Bundle-Name: Spring ORM
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Package:
+ com.ibatis.sqlmap.engine.transaction.external;version="[2.3.4, 3)";resolution:=optional,
+ oracle.toplink.essentials.expressions;version="[2, 3)";resolution:=optional,
+ javax.persistence.criteria;version="${javaxPersistenceVersion:[=.=, +1)}";resolution:=optional,
+ javax.persistence.metamodel;version="${javaxPersistenceVersion:[=.=, +1)}";resolution:=optional,
+ org.eclipse.persistence.expressions;version="[1, 3)";resolution:=optional
+Import-Template:
+ org.aopalliance.*;version="${orgAopAllianceVersion:[=.=.=, +1)}",
+ com.ibatis.*;version="[2.3.4, 3)";resolution:=optional,
+ javax.jdo.*;version="${jdoApiVersion:[=.=, +1)}";resolution:=optional,
+ javax.naming.*;version="0";resolution:=optional,
+ javax.persistence.*;version="${javaxPersistenceVersion:[=.=, +1)}";resolution:=optional,
+ javax.servlet.*;version="[3.0.1, 4)";resolution:=optional,
+ javax.sql.*;version="0";resolution:=optional,
+ javax.transaction.*;version="[1.0.1, 2)";resolution:=optional,
+ javax.xml.*;version="0";resolution:=optional,
+ oracle.toplink.essentials.*;version="[2, 3)";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.apache.openjpa.persistence.*;version="${openjpaVersion:[=.=.=, +1)}";resolution:=optional,
+ org.eclipse.persistence.core.*;version="${eclipsePersistenceCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ org.eclipse.persistence.jpa.*;version="${eclipsePersistenceJpaVersion:[=.=.=, +1)}";resolution:=optional,
+ org.eclipse.persistence.sessions.*;version="${eclipsePersistenceCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ org.hibernate.*;version="${hibernateVersion:[=.=.=, +1)}";resolution:=optional,
+ org.springframework.aop.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.dao.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.instrument.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.jdbc.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.jndi.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.transaction.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.web.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.ui.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.xml.sax.*;version="0";resolution:=optional,
+ org.w3c.dom.*;version="0";resolution:=optional
+Export-Template:
+ org.springframework.orm.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ DynamicImport-Package,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.oxm-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.oxm-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..8e714fc
--- /dev/null
+++ b/ebr/org.springframework.oxm-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-oxm', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.oxm-5.0.8.RELEASE/org.springframework.oxm.mf b/ebr/org.springframework.oxm-5.0.8.RELEASE/org.springframework.oxm.mf
new file mode 100644
index 0000000..36b2f00
--- /dev/null
+++ b/ebr/org.springframework.oxm-5.0.8.RELEASE/org.springframework.oxm.mf
@@ -0,0 +1,29 @@
+Bundle-SymbolicName: org.springframework.oxm
+Bundle-Name: Spring Object/XML Mapping
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ javax.activation.*;version="0";resolution:=optional,
+ javax.xml.*;version="0",
+ javax.xml.bind.*;version="0";resolution:=optional,
+ com.thoughtworks.xstream.*;version="${xstreamVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.apache.xmlbeans.*;version="${xmlBeans:[=.=.=, +1)}";resolution:=optional,
+ org.exolab.castor.*;version="${castorVersion:[=.=.=, +1)}";resolution:=optional,
+ org.jibx.runtime.*;version="${jibxVersion:[=.=.=, +1)}";resolution:=optional,
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.w3c.dom.*;version="0",
+ org.xml.sax.*;version="0"
+Export-Template:
+ org.springframework.oxm.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ DynamicImport-Package,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.test-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.test-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..b8eb387
--- /dev/null
+++ b/ebr/org.springframework.test-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,64 @@
+import java.util.jar.JarEntry
+import java.util.jar.JarOutputStream
+import java.util.zip.ZipEntry
+import java.util.zip.ZipFile
+import java.util.zip.ZipOutputStream
+
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-test', version: "${springframeworkVersion}"
+}
+
+task rewriteJar(dependsOn: 'bundlor') {
+    String jarFileName = file(buildDir.path + "/org.springframework.test-${springframeworkVersion}.jar").path
+    doLast() {
+        ZipFile jarFile = new ZipFile(jarFileName)
+        println "------------"
+        println "Cloning content of jar file ${jarFileName}:"
+        println "------------"
+        new ZipFile(jarFileName).entries().findAll{ !it.directory }.each { println it.name }
+        println "------------"
+        String cloneFileName = new File(jarFileName).path + "-clone"
+        FileOutputStream fos = new FileOutputStream(cloneFileName)
+
+        String manifest
+        jarFile.entries().findAll { it.name == "META-INF/MANIFEST.MF" }.each {
+            manifest = jarFile.getInputStream(it).text
+        }
+        println "------------"
+        println manifest
+        println "------------"
+
+        JarOutputStream jarOutputStream = new JarOutputStream(fos,
+                new java.util.jar.Manifest(new ByteArrayInputStream(manifest.getBytes(java.nio.charset.Charset.forName("UTF-8")))))
+
+        println "------------"
+        byte[] readBuffer = new byte[2156]
+        jarFile.entries().findAll { !it.directory && !(it.name == "META-INF/MANIFEST.MF") && !(it.name.contains("TransactionalTestExecutionListener")) }.each {
+            println "adding ${it.name} to ${cloneFileName}"
+            jarOutputStream.putNextEntry(new JarEntry(it.name))
+            jarOutputStream << jarFile.getInputStream(it)
+        }
+        jarOutputStream.finish()
+        println "finished writing ${cloneFileName}"
+        println "------------"
+
+        println "from ${cloneFileName} to ${jarFileName}"
+        println "within ${file(cloneFileName).parentFile.path} is ${file(cloneFileName).name}"
+        println "rename ${file(cloneFileName).name} -> ${file(jarFileName).name}"
+
+        delete file(jarFileName)
+        copy {
+            from file(file(cloneFileName).parentFile.path)
+            into file(file(cloneFileName).parentFile.path)
+            rename { String fileName ->
+                fileName.replace(file(cloneFileName).name, file(jarFileName).name)
+            }
+        }
+        delete file(cloneFileName)
+        println "------------"
+        println "Removed 'TransactionalTestExecutionListener' from content of jar file ${jarFileName}:"
+        println "------------"
+        new ZipFile(jarFileName).entries().findAll{ !it.directory }.each { println it.name }
+        println "------------"
+    }
+}
diff --git a/ebr/org.springframework.test-5.0.8.RELEASE/org.springframework.test.mf b/ebr/org.springframework.test-5.0.8.RELEASE/org.springframework.test.mf
new file mode 100644
index 0000000..fde642a
--- /dev/null
+++ b/ebr/org.springframework.test-5.0.8.RELEASE/org.springframework.test.mf
@@ -0,0 +1,47 @@
+Bundle-SymbolicName: org.springframework.test
+Bundle-Name: Spring Test
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Import-Template:
+ javax.activation.*;version="0";resolution:=optional,
+ javax.el.*;version="[2.2.5, 4)";resolution:=optional,
+ javax.naming.*;version="0";resolution:=optional,
+ javax.persistence.*;version="${javaxPersistenceVersion:[=.=, +1)}";resolution:=optional,
+ javax.portlet.*;version="[2.0.0, 3.0.0)";resolution:=optional,
+ javax.servlet;version="[2.5.0, 4.0.0)";resolution:=optional,
+ javax.servlet.http;version="[2.5.0, 4.0.0)";resolution:=optional,
+ javax.servlet.descriptor;version="[2.5.0, 4.0.0)";resolution:=optional,
+ javax.servlet.jsp.*;version="[2.1.0, 3.0.0)";resolution:=optional,
+ javax.sql.*;version="0";resolution:=optional,
+ javax.xml.*;version="0";resolution:=optional,
+ junit.framework.*;version="[4.11.0, 5.0.0)";resolution:=optional,
+ org.apache.commons.logging.*;version="[1.1.1, 2.0.0)",
+ org.apache.taglibs.standard.*;version="[1.1.0, 2.0.0)";resolution:=optional,
+ org.aspectj.weaver.*;version="[1.7.1, 2.0.0)";resolution:=optional,
+ org.junit.*;version="[4.11.0, 5.0.0)";resolution:=optional,
+ org.springframework.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.mock.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.test.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.testng.*;version="[6.5.2, 7.0.0)";resolution:=optional,
+ org.hamcrest.*;version="[1.3.0, 2.0.0)";resolution:=optional,
+ com.jayway.jsonpath.*;version="[0.8.1, 1.0.0)";resolution:=optional,
+ org.custommonkey.xmlunit.*;version="[1.2.0, 2.0.0)";resolution:=optional,
+ org.w3c.dom.*;version="0";resolution:=optional,
+ com.gargoylesoftware.htmlunit.*;version="0";resolution:=optional,
+ javax.websocket.*;version="0";resolution:=optional,
+ org.apache.http.*;version="0";resolution:=optional,
+ org.openqa.selenium.*;version="0";resolution:=optional,
+ org.skyscreamer.jsonassert;version="0";resolution:=optional,
+ org.xml.sax;version="0";resolution:=optional,
+ reactor.core.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ org.reactivestreams.*;version="${reactiveStreamsVersion:[=.=.=, +1)}";resolution:=optional,
+ kotlin.*;version="${kotlinVersion:[=.=.=, +1)}";resolution:="optional",
+ org.jetbrains.annotations.*;version="${orgJetbrainsAnnotations:[=.=.=, +1)}";resolution:="optional",
+ org.xmlunit.*;version="0";resolution:="optional"
+Export-Template:
+ org.springframework.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.transaction-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.transaction-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..8e17c12
--- /dev/null
+++ b/ebr/org.springframework.transaction-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-tx', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.transaction-5.0.8.RELEASE/org.springframework.transaction.mf b/ebr/org.springframework.transaction-5.0.8.RELEASE/org.springframework.transaction.mf
new file mode 100644
index 0000000..304db4c
--- /dev/null
+++ b/ebr/org.springframework.transaction-5.0.8.RELEASE/org.springframework.transaction.mf
@@ -0,0 +1,38 @@
+Bundle-SymbolicName: org.springframework.transaction
+Bundle-Name: Spring Transaction
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Package:
+ com.ibm.websphere.uow;version="[6.0.2.17, 7)";resolution:=optional,
+ com.ibm.wsspi.uow;version="[6.0.2.17, 7)";resolution:=optional,
+ oracle.j2ee.transaction;version="0";resolution:=optional,
+ org.jboss.resource.work;version="0";resolution:=optional,
+ weblogic.transaction;version="0";resolution:=optional
+Import-Template:
+ org.aopalliance.*;version="${orgAopAllianceVersion:[=.=.=, +1)}",
+ javax.ejb.*;version="[3, 4)";resolution:=optional,
+ javax.management.*;version="0";resolution:=optional,
+ javax.naming.*;version="0";resolution:=optional,
+ javax.resource.*;version="[1.5, 2)";resolution:=optional,
+ javax.transaction.*;version="${javaxTransactionVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.springframework.aop.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.jndi.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.scheduling.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.stereotype;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.w3c.dom.*;version="0";resolution:=optional
+Export-Template:
+ org.springframework.dao.*;version="${springframeworkVersion}",
+ org.springframework.jca.*;version="${springframeworkVersion}",
+ org.springframework.transaction.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.web-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.web-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..71a51f6
--- /dev/null
+++ b/ebr/org.springframework.web-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-web', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.web-5.0.8.RELEASE/org.springframework.web.mf b/ebr/org.springframework.web-5.0.8.RELEASE/org.springframework.web.mf
new file mode 100644
index 0000000..2e9aa19
--- /dev/null
+++ b/ebr/org.springframework.web-5.0.8.RELEASE/org.springframework.web.mf
@@ -0,0 +1,74 @@
+Bundle-SymbolicName: org.springframework.web
+Bundle-Name: Spring Web
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ org.aopalliance.*;version="${orgAopAllianceVersion:[=.=.=, +1)}",
+ com.caucho.*;version="${hessianVersion:[=.=.=, +1)}";resolution:=optional,
+ com.fasterxml.aalto.*;version="${jacksonVersion:[=.=.=, +1)}";resolution:=optional,
+ com.fasterxml.jackson.*;version="${jacksonVersion:[=.=.=, +1)}";resolution:=optional,
+ com.google.gson.*;version="${gsonVersion:[=.=.=, +1)}";resolution:=optional,
+ com.google.protobuf.*;version="${protobufJavaVersion:[=.=.=, +1)}";resolution:=optional,
+ com.googlecode.protobuf.format;version="${protobufJavaFormatVersion:[=.=.=, +1)}";resolution:=optional,
+ com.rometools.rome.*;version="${romeVersion:[=.=.=, +1)}";resolution:=optional,
+ com.squareup.okhttp3.*;version="${okhttp3Version:[=.=.=, +1)}";resolution:=optional,
+ okhttp3.*;version="${okhttp3Version:[=.=.=, +1)}";resolution:=optional,
+ com.sun.net.*;version="0";resolution:=optional,
+ groovy.*;version="${groovyVersion:[=.=.=, +1)}";resolution:="optional",
+ io.netty.*;version="${nettyVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.activation.*;version="0";resolution:=optional,
+ javax.el.*;version="${javaxElVersion:[=.=.=.=, +1)}";resolution:=optional,
+ javax.faces.*;version="[2.2, 3)";resolution:=optional,
+ javax.imageio.*;version="0";resolution:=optional,
+ javax.jws.*;version="0";resolution:=optional,
+ javax.mail.*;version="${javaxMailVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.portlet.*;version="[2, 3)";resolution:=optional,
+ javax.servlet.*;version="[3.1, 4)";resolution:=optional,
+ javax.servlet.annotation;version="[3, 4)";resolution:=optional,
+ javax.servlet.jsp.*;version="[2.2.1, 3)";resolution:=optional,
+ javax.validation.*;version="[1, 2)";resolution:=optional,
+ javax.xml.*;version="0";resolution:=optional,
+ javax.net.ssl;version="0";resolution:=optional,
+ org.apache.commons.fileupload.*;version="${commonsFileuploadVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.httpclient.*;version="[3.1.0, 4.0.0)";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.apache.http.*;version="[4.1.0, 5.0.0)";resolution:=optional,
+ org.apache.log4j.*;version="${apacheLog4jVersion:[=.=.=, +1)}";resolution:=optional,
+ org.codehaus.jackson.*;version="[1.3.0, 2.0.0)";resolution:=optional,
+ org.springframework.aop.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.format.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.jndi.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.oxm.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.remoting.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.stereotype.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.ui.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.validation.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.xml.sax.*;version="0";resolution:=optional,
+ org.w3c.dom.*;version="0";resolution:=optional,
+ io.undertow.*;version="${undertowVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.catalina.*;version="${apacheCatalinaVersion:[=.=.=, +1)}";resolution:=optional,
+ org.eclipse.jetty.*;version="${jettyVersion:[=.=.=, +1)}";resolution:=optional,
+ reactor.core.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ reactor.ipc.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ reactor.util.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.json.bind;version="0";resolution:=optional,
+ org.synchronoss.cloud.nio.*;version="0";resolution:=optional,
+ org.xnio.*;version="0";resolution:=optional,
+ org.reactivestreams.*;version="${reactiveStreamsVersion:[=.=.=, +1)}";resolution:=optional,
+ kotlin.*;version="${kotlinVersion:[=.=.=, +1)}";resolution:="optional",
+ org.jetbrains.annotations.*;version="${orgJetbrainsAnnotations:[=.=.=, +1)}";resolution:="optional"
+Export-Template:
+ org.springframework.http.*;version="${springframeworkVersion}",
+ org.springframework.remoting.*;version="${springframeworkVersion}",
+ org.springframework.web.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.webflux-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.webflux-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..de2312b
--- /dev/null
+++ b/ebr/org.springframework.webflux-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-webflux', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.webflux-5.0.8.RELEASE/org.springframework.webflux.mf b/ebr/org.springframework.webflux-5.0.8.RELEASE/org.springframework.webflux.mf
new file mode 100644
index 0000000..3ec226b
--- /dev/null
+++ b/ebr/org.springframework.webflux-5.0.8.RELEASE/org.springframework.webflux.mf
@@ -0,0 +1,44 @@
+Bundle-SymbolicName: org.springframework.webflux
+Bundle-Name: Spring Webflux
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ javax.script;version="0";resotion:=optional,
+ javax.servlet.*;version="[3.1, 4)";resolution:=optional,
+ javax.websocket.*;version="[1, 2)";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.webjars;version="0";resolution:=optional,
+ org.xnio.*;version="0";resolution:=optional,
+ freemarker.*;version="${freemarkerVersion:[=.=.=, +1)}";resolution:=optional,
+ io.netty.*;version="${nettyVersion:[=.=.=, +1)}";resolution:=optional,
+ io.undertow.*;version="${undertowVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.tomcat.*;version="${apacheCatalinaVersion:[=.=.=, +1)}";resolution:=optional,
+ org.eclipse.jetty.*;version="${jettyVersion:[=.=.=, +1)}";resolution:=optional,
+ org.springframework.aop.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.cache.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.format.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.http.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.scripting.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.stereotype.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.ui.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.validation.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.web.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ reactor.core.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ reactor.ipc.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ reactor.util.*;version="${reactorCoreVersion:[=.=.=, +1)}";resolution:=optional,
+ org.reactivestreams.*;version="${reactiveStreamsVersion:[=.=.=, +1)}";resolution:=optional,
+ kotlin.*;version="${kotlinVersion:[=.=.=, +1)}";resolution:="optional",
+ org.jetbrains.annotations.*;version="${orgJetbrainsAnnotations:[=.=.=, +1)}";resolution:="optional"
+Export-Template:
+ org.springframework.webflux.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.webmvc-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.webmvc-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..ac18802
--- /dev/null
+++ b/ebr/org.springframework.webmvc-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-webmvc', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.webmvc-5.0.8.RELEASE/org.springframework.webmvc.mf b/ebr/org.springframework.webmvc-5.0.8.RELEASE/org.springframework.webmvc.mf
new file mode 100644
index 0000000..d46a09e
--- /dev/null
+++ b/ebr/org.springframework.webmvc-5.0.8.RELEASE/org.springframework.webmvc.mf
@@ -0,0 +1,63 @@
+Bundle-SymbolicName: org.springframework.webmvc
+Bundle-Name: Spring Web MVC
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Package:
+ org.springframework.cglib.reflect;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}"
+Import-Template:
+ org.aopalliance.*;version="${orgAopAllianceVersion:[=.=.=, +1)}",
+ com.fasterxml.jackson.*;version="${jacksonVersion:[=.=.=, +1)}";resolution:=optional,
+ com.lowagie.text.*;version="[2.0.8, 3)";resolution:=optional,
+ com.rometools.rome.*;version="${romeVersion:[=.=.=, +1)}";resolution:=optional,
+ com.sun.syndication.*;version="[1, 2)";resolution:=optional,
+ freemarker.*;version="${freemarkerVersion:[=.=.=, +1)}";resolution:=optional,
+ groovy.*;version="${groovyVersion:[=.=.=, +1)}";resolution:="optional",
+ javax.activation.*;version="0";resolution:=optional,
+ javax.el.*;version="[2.2.5, 4)";resolution:=optional,
+ javax.script;version="0";resotion:=optional,
+ javax.sql.*;version="0";resolution:=optional,
+ javax.servlet.*;version="[3.1, 4)";resolution:=optional,
+ javax.servlet.jsp.*;version="[2.2.1, 3)";resolution:=optional,
+ javax.servlet.jsp.jstl.*;version="[1.2.1, 2)";resolution:=optional,
+ javax.validation.*;version="[1, 2)";resolution:=optional,
+ javax.xml.*;version="0";resolution:=optional,
+ javax.xml.bind.*;version="0";resolution:=optional,
+ jxl.*;version="${jxlVersion:[=.=.=, +1)}";resolution:=optional,
+ net.sf.jasperreports.*;version="${jasperreportsVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.apache.poi.*;version="${poiVersion:[=.=.=, +1)}";resolution:=optional,
+ org.apache.tiles.*;version="[2.2.2, 4)";resolution:=optional,
+ org.apache.tiles.request.*;version="[1, 2)";resolution:=optional,
+ org.apache.velocity.*;version="${velocityVersion:[=.=.=, +1)}";resolution:=optional,
+ org.codehaus.jackson.*;version="[1.3.0, 2)";resolution:=optional,
+ org.springframework.aop.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.cache.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.cglib.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.expression.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.format.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.http.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.objenesis.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.oxm.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.scripting.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.stereotype;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.ui.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.validation.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.web.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.xml.sax.*;version="0";resolution:=optional,
+ org.webjars.*;version="${webjarsVersion:[=.=.=, +1)}";resolution:=optional,
+ org.w3c.dom.*;version="0";resolution:=optional,
+ edu.emory.mathcs.backport.*;version="[3, 4)";resolution:=optional,
+ org.reactivestreams.*;version="${reactiveStreamsVersion:[=.=.=, +1)}";resolution:=optional
+Export-Template:
+ org.springframework.web.servlet.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/org.springframework.websocket-5.0.8.RELEASE/build.gradle b/ebr/org.springframework.websocket-5.0.8.RELEASE/build.gradle
new file mode 100644
index 0000000..a86cf8e
--- /dev/null
+++ b/ebr/org.springframework.websocket-5.0.8.RELEASE/build.gradle
@@ -0,0 +1,3 @@
+dependencies {
+    sourceBundle group: 'org.springframework', name: 'spring-websocket', version: "${springframeworkVersion}"
+}
diff --git a/ebr/org.springframework.websocket-5.0.8.RELEASE/org.springframework.websocket.mf b/ebr/org.springframework.websocket-5.0.8.RELEASE/org.springframework.websocket.mf
new file mode 100644
index 0000000..96f225e
--- /dev/null
+++ b/ebr/org.springframework.websocket-5.0.8.RELEASE/org.springframework.websocket.mf
@@ -0,0 +1,33 @@
+Bundle-SymbolicName: org.springframework.websocket
+Bundle-Name: Spring Websocket
+Bundle-Vendor: Eclipse Virgo
+Bundle-ManifestVersion: 2
+Bundle-Version: ${springframeworkVersion}
+Import-Template:
+ com.fasterxml.jackson.*;version="${jacksonVersion:[=.=.=, +1)}";resolution:=optional,
+ io.undertow.*;version="${undertowVersion:[=.=.=, +1)}";resolution:=optional,
+ javax.servlet.*;version="[3.1, 4)";resolution:=optional,
+ javax.websocket.*;version="[1, 2)";resolution:=optional,
+ org.apache.commons.logging.*;version="${commonsLoggingVersion:[=.=.=, +1)}",
+ org.apache.tomcat.websocket.server;version="[8.5.31, 9)";resolution:=optional,
+ org.eclipse.jetty.*;version="[9.4.6.v20170531, 10)";resolution:=optional,
+ org.glassfish.tyrus.*;version="[1.3.5, 2)";resolution:=optional,
+ org.springframework.beans.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.context.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.core.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.http.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.lang.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.messaging.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}";resolution:=optional,
+ org.springframework.scheduling.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.stereotype;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.util.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.springframework.web.*;version="${springframeworkVersion:[=.=.=.=, =.=.=.=]}",
+ org.w3c.dom.*;version="0";resolution:=optional,
+ org.xnio.*;version="0";resolution:=optional
+Export-Template:
+ org.springframework.web.socket.*;version="${springframeworkVersion}"
+Ignored-Existing-Headers:
+ Bnd-LastModified,
+ Import-Package,
+ Export-Package,
+ Tool
diff --git a/ebr/settings.gradle b/ebr/settings.gradle
index 76a421c..affd544 100644
--- a/ebr/settings.gradle
+++ b/ebr/settings.gradle
@@ -6,14 +6,15 @@
 include "org.springframework.core-${springframeworkVersion}"
 include "org.springframework.expression-${springframeworkVersion}"
 include "org.springframework.jdbc-${springframeworkVersion}"
+include "org.springframework.jcl-${springframeworkVersion}"
 include "org.springframework.jms-${springframeworkVersion}"
 include "org.springframework.messaging-${springframeworkVersion}"
 include "org.springframework.orm-${springframeworkVersion}"
 include "org.springframework.oxm-${springframeworkVersion}"
 include "org.springframework.transaction-${springframeworkVersion}"
 include "org.springframework.web-${springframeworkVersion}"
+include "org.springframework.webflux-${springframeworkVersion}"
 include "org.springframework.webmvc-${springframeworkVersion}"
-include "org.springframework.webmvc.portlet-${springframeworkVersion}"
 include "org.springframework.websocket-${springframeworkVersion}"
 include "org.springframework.test-${springframeworkVersion}"
 include "org.aspectj.weaver-${aspectjVersion}"
diff --git a/ebr/src/test/java/org/eclipse/virgo/ebr/GeminiBlueprint3Test.java b/ebr/src/test/java/org/eclipse/virgo/ebr/GeminiBlueprint3Test.java
new file mode 100644
index 0000000..8cead01
--- /dev/null
+++ b/ebr/src/test/java/org/eclipse/virgo/ebr/GeminiBlueprint3Test.java
@@ -0,0 +1,90 @@
+package org.eclipse.virgo.ebr;
+
+import org.junit.Test;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.Option;
+
+import static org.ops4j.pax.exam.CoreOptions.*;
+
+public class GeminiBlueprint3Test extends AbstractBaseTest {
+
+    private static final String ASPECTJ_WEAVER = "org.aspectj.weaver";
+    private static final String ASPECTJ_WEAVER_VERSION = "1.8.10";
+
+    private static final String GEMINI_BLUEPRINT_VERSION = "3.0.0.M01";
+    private static final String SF_VERSION = "5.0.8.RELEASE";
+
+    private static final String SF_PREFIX = "org.springframework.";
+    private static final String SF_CORE = SF_PREFIX + "core";
+    private static final String SF_BEANS = SF_PREFIX + "beans";
+    private static final String SF_AOP = SF_PREFIX + "aop";
+    private static final String SF_ASPECTS = SF_PREFIX + "aspects";
+    private static final String SF_EXPRESSION = SF_PREFIX + "expression";
+    private static final String SF_CONTEXT = SF_PREFIX + "context";
+    private static final String SF_CONTEXT_SUPPORT = SF_PREFIX + "context.support";
+    private static final String SF_TRANSACTION = SF_PREFIX + "transaction";
+    private static final String SF_JCL = SF_PREFIX + "jcl";
+    private static final String SF_JDBC = SF_PREFIX + "jdbc";
+    private static final String SF_MESSAGING = SF_PREFIX + "messaging";
+    private static final String SF_JMS = SF_PREFIX + "jms";
+    private static final String SF_ORM = SF_PREFIX + "orm";
+    private static final String SF_OXM = SF_PREFIX + "oxm";
+    private static final String SF_WEB = SF_PREFIX + "web";
+    private static final String SF_WEBFLUX = SF_PREFIX + "webflux";
+    private static final String SF_WEBMVC = SF_PREFIX + "webmvc";
+    private static final String SF_WEBSOCKET = SF_PREFIX + "websocket";
+
+    @Configuration
+    @Override
+    public Option[] config() {
+        return options(
+                // spring framework dependencies
+                mavenBundle("javax.servlet", "javax.servlet-api", "3.1.0"),
+                mavenBundle("javax.portlet", "portlet-api", "2.0"),
+                bundle("http://build.eclipse.org/rt/virgo/ivy/bundles/release/org.eclipse.virgo.mirrored/oevm.org.aopalliance/1.0.0/oevm.org.aopalliance-1.0.0.jar"),
+                bundle("http://build.eclipse.org/rt/virgo/ivy/bundles/release/org.eclipse.virgo.mirrored/javax.jms/1.1.0.v201205091237/javax.jms-1.1.0.v201205091237.jar"),
+                // maven local
+                mavenBundle(MIRROR_GROUP, ASPECTJ_WEAVER, ASPECTJ_WEAVER_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_CORE, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_BEANS, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_AOP, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_ASPECTS, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_EXPRESSION, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_CONTEXT, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_CONTEXT_SUPPORT, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_TRANSACTION, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_JCL, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_JDBC, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_MESSAGING, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_JMS, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_ORM, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_OXM, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_WEB, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_WEBFLUX, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_WEBMVC, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_WEBSOCKET, SF_VERSION),
+
+                mavenBundle("org.eclipse.gemini.blueprint", "gemini-blueprint-io", GEMINI_BLUEPRINT_VERSION),
+                mavenBundle("org.eclipse.gemini.blueprint", "gemini-blueprint-core", GEMINI_BLUEPRINT_VERSION),
+                mavenBundle("org.eclipse.gemini.blueprint", "gemini-blueprint-extender", GEMINI_BLUEPRINT_VERSION),
+
+                // specify junit bundles
+                junitBundles()
+        );
+    }
+
+    @Test
+    public void testGeminiBlueprintIo() throws Exception {
+        assertBundleActive("org.eclipse.gemini.blueprint.io");
+    }
+
+    @Test
+    public void testGeminiBlueprintCore() throws Exception {
+        assertBundleActive("org.eclipse.gemini.blueprint.core");
+    }
+
+    @Test
+    public void testGeminiBlueprintExtender() throws Exception {
+        assertBundleActive("org.eclipse.gemini.blueprint.extender");
+    }
+}
diff --git a/ebr/src/test/java/org/eclipse/virgo/ebr/OkHttp3Test.java b/ebr/src/test/java/org/eclipse/virgo/ebr/OkHttp3Test.java
index 81e0abf..8ed0557 100644
--- a/ebr/src/test/java/org/eclipse/virgo/ebr/OkHttp3Test.java
+++ b/ebr/src/test/java/org/eclipse/virgo/ebr/OkHttp3Test.java
@@ -14,10 +14,10 @@
 public class OkHttp3Test extends AbstractBaseTest {
 
     private static final String OKIO = "com.squareup.okio";
-    private static final String OKIO_VERSION = "1.13.0";
+    private static final String OKIO_VERSION = "1.14.0";
 
     private static final String OKHTTP3 = "com.squareup.okhttp3";
-    private static final String OKHTTP3_VERSION = "3.8.0";
+    private static final String OKHTTP3_VERSION = "3.9.1";
 
     @Configuration
     @Override
diff --git a/ebr/src/test/java/org/eclipse/virgo/ebr/SpringFrameworkTest.java b/ebr/src/test/java/org/eclipse/virgo/ebr/SpringFrameworkTest.java
index a8846b9..57bf48a 100644
--- a/ebr/src/test/java/org/eclipse/virgo/ebr/SpringFrameworkTest.java
+++ b/ebr/src/test/java/org/eclipse/virgo/ebr/SpringFrameworkTest.java
@@ -16,7 +16,8 @@
     private static final String ASPECTJ_WEAVER = "org.aspectj.weaver";
     private static final String ASPECTJ_WEAVER_VERSION = "1.8.10";
 
-    private static final String SF_VERSION = "4.3.18.RELEASE";
+    private static final String SF_VERSION = "5.0.8.RELEASE";
+
     private static final String SF_PREFIX = "org.springframework.";
     private static final String SF_CORE = SF_PREFIX + "core";
     private static final String SF_BEANS = SF_PREFIX + "beans";
@@ -26,14 +27,15 @@
     private static final String SF_CONTEXT = SF_PREFIX + "context";
     private static final String SF_CONTEXT_SUPPORT = SF_PREFIX + "context.support";
     private static final String SF_TRANSACTION = SF_PREFIX + "transaction";
+    private static final String SF_JCL = SF_PREFIX + "jcl";
     private static final String SF_JDBC = SF_PREFIX + "jdbc";
     private static final String SF_MESSAGING = SF_PREFIX + "messaging";
     private static final String SF_JMS = SF_PREFIX + "jms";
     private static final String SF_ORM = SF_PREFIX + "orm";
     private static final String SF_OXM = SF_PREFIX + "oxm";
     private static final String SF_WEB = SF_PREFIX + "web";
+    private static final String SF_WEBFLUX = SF_PREFIX + "webflux";
     private static final String SF_WEBMVC = SF_PREFIX + "webmvc";
-    private static final String SF_WEBMVC_PORTLET = SF_PREFIX + "webmvc.portlet";
     private static final String SF_WEBSOCKET = SF_PREFIX + "websocket";
 
     @Configuration
@@ -41,7 +43,6 @@
     public Option[] config() {
         return options(
                 // spring framework dependencies
-                mavenBundle("commons-logging", "commons-logging", "1.2"),
                 mavenBundle("javax.servlet", "javax.servlet-api", "3.1.0"),
                 mavenBundle("javax.portlet", "portlet-api", "2.0"),
                 bundle("http://build.eclipse.org/rt/virgo/ivy/bundles/release/org.eclipse.virgo.mirrored/oevm.org.aopalliance/1.0.0/oevm.org.aopalliance-1.0.0.jar"),
@@ -56,14 +57,15 @@
                 mavenBundle(MIRROR_GROUP, SF_CONTEXT, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_CONTEXT_SUPPORT, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_TRANSACTION, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_JCL, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_JDBC, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_MESSAGING, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_JMS, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_ORM, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_OXM, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_WEB, SF_VERSION),
+                mavenBundle(MIRROR_GROUP, SF_WEBFLUX, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_WEBMVC, SF_VERSION),
-                mavenBundle(MIRROR_GROUP, SF_WEBMVC_PORTLET, SF_VERSION),
                 mavenBundle(MIRROR_GROUP, SF_WEBSOCKET, SF_VERSION),
                 // specify junit bundles
                 junitBundles()
@@ -116,6 +118,11 @@
     }
 
     @Test
+    public void testSpringJcl() throws Exception {
+        assertBundleActive(SF_JCL);
+    }
+
+    @Test
     public void testSpringJdbc() throws Exception {
         assertBundleActive(SF_JDBC);
     }
@@ -151,8 +158,8 @@
     }
 
     @Test
-    public void testSpringWebMvcPortlet() throws Exception {
-        assertBundleActive(SF_WEBMVC_PORTLET);
+    public void testSpringWebflux() throws Exception {
+        assertBundleActive(SF_WEBFLUX);
     }
 
     @Test