upgrade to R5 complient releases of frameworks.
diff --git a/.gitignore b/.gitignore
index b17f10e..fd8c05d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
 # Maven
 target/
 integration-tests/tests/fwdir/
+.repo
 
 # Eclipse
 eclipse_config
@@ -20,4 +21,4 @@
 
 # etc
 dependency-reduced-pom.xml
-**/resources/git.properties
\ No newline at end of file
+**/resources/git.properties
diff --git a/lib/equinox/lib/org.eclipse.osgi-3.7.2.v20120110-1415-sources.jar b/lib/equinox/lib/org.eclipse.osgi-3.7.2.v20120110-1415-sources.jar
deleted file mode 100644
index b167e66..0000000
--- a/lib/equinox/lib/org.eclipse.osgi-3.7.2.v20120110-1415-sources.jar
+++ /dev/null
Binary files differ
diff --git a/lib/equinox/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar b/lib/equinox/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar
deleted file mode 100644
index 25f1180..0000000
--- a/lib/equinox/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar
+++ /dev/null
Binary files differ
diff --git a/lib/equinox/pom.xml b/lib/equinox/pom.xml
index 717068b..89cf9a9 100644
--- a/lib/equinox/pom.xml
+++ b/lib/equinox/pom.xml
@@ -13,10 +13,10 @@
 
     <groupId>org.eclipse.gemini.blueprint</groupId>
     <artifactId>org.eclipse.osgi</artifactId>
-    <version>3.7.2.v20120110-1415-SNAPSHOT</version>
+    <version>3.9.1.v20140110-1610-SNAPSHOT</version>
     <packaging>pom</packaging>
     <description>
-        3.7.2.v20120110-1415 Version of Eclipse Equinox. Repackaged to be available in maven repo.
+        3.9.1.v20140110-1610 Version of Eclipse Equinox. Repackaged to be available in local maven repo.
     </description>
 
     <properties>
@@ -33,11 +33,11 @@
                 <configuration>
                     <groupId>org.eclipse.osgi</groupId>
                     <artifactId>org.eclipse.osgi</artifactId>
-                    <version>3.7.2.v20120110-1415</version>
+                    <version>3.9.1.v20140110-1610</version>
                     <packaging>jar</packaging>
                     <updateReleaseInfo>true</updateReleaseInfo>
-                    <file>${project.basedir}/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar</file>
-                    <sources>${project.basedir}/lib/org.eclipse.osgi-3.7.2.v20120110-1415-sources.jar</sources>
+                    <file>${project.basedir}/lib/org.eclipse.osgi_3.9.1.v20140110-1610.jar</file>
+                    <sources>${project.basedir}/lib/org.eclipse.osgi.source_3.9.1.v20140110-1610.jar</sources>
                 </configuration>
                 <executions>
                     <execution>
diff --git a/pom.xml b/pom.xml
index 1bcd954..083b87f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,16 +44,14 @@
         <env.buildNumber></env.buildNumber>
 
         <!-- compiled against osgi Revision -->
-        <osgi.ver>4.3.1</osgi.ver>
+        <osgi.ver>5.0.0</osgi.ver>
         <!-- platform versions -->
-        <!-- equinox 3.7 is R4.3 impl -->
-        <!-- todo: would like to use this version - need ebr support -->
-        <!-- todo: currently doing an install-file in lib/equinox -->
-        <equinox.ver>3.7.2.v20120110-1415</equinox.ver>
-        <!-- Knopflerfish 4.0.1 -->
-        <kf.ver>6.0.2</kf.ver>
-        <!-- Felix 4.x supports OSGi R4.3 -->
-        <felix.ver>4.0.3</felix.ver>
+        <!-- equinox - repackaged in ${basedir}/lib/equinox -->
+        <equinox.ver>3.9.1.v20140110-1610</equinox.ver>
+        <!-- Knopflerfish -->
+        <kf.ver>7.1.2</kf.ver>
+        <!-- Felix 4.4.x supports OSGi R5 -->
+        <felix.ver>4.4.0</felix.ver>
 
         <!-- javadoc configuration -->
         <javadoc.loc>${basedir}/docs/src/javadoc</javadoc.loc>
@@ -177,7 +175,6 @@
 
     <!-- modules for Spring-OSGi -->
     <modules>
-        <!-- todo: temp till I can find correct version in public repo -->
         <module>lib/equinox</module>
         <module>mock</module>
         <module>io</module>
@@ -639,7 +636,7 @@
                     the previous unless a different folder is used for the root
                     <historyDir>${basedir}/clover/history</historyDir>
                     -->
-                    <jdk>1.6</jdk>
+                    <jdk>1.7</jdk>
                     <includesTestSourceRoots>false</includesTestSourceRoots>
                     <skip>${clover.skip}</skip>
 
@@ -767,7 +764,7 @@
                             <groupId>org.apache.maven.plugins</groupId>
                             <artifactId>maven-pmd-plugin</artifactId>
                             <configuration>
-                                <targetJdk>1.6</targetJdk>
+                                <targetJdk>1.7</targetJdk>
                             </configuration>
                         </plugin>
 
diff --git a/test-support/src/main/java/org/eclipse/gemini/blueprint/test/platform/FelixPlatform.java b/test-support/src/main/java/org/eclipse/gemini/blueprint/test/platform/FelixPlatform.java
index 2100b45..4eb219e 100644
--- a/test-support/src/main/java/org/eclipse/gemini/blueprint/test/platform/FelixPlatform.java
+++ b/test-support/src/main/java/org/eclipse/gemini/blueprint/test/platform/FelixPlatform.java
@@ -17,6 +17,7 @@
 import java.io.File;

 import java.lang.reflect.Constructor;

 import java.util.ArrayList;

+import java.util.HashMap;

 import java.util.List;

 import java.util.Map;

 import java.util.Properties;

@@ -58,7 +59,7 @@
 

 		public final BundleContext start() throws Exception {

 			// load properties

-			Map<Object, Object> configMap = getConfiguration();

+			Map<String, String> configMap = getConfiguration();

 

 			// pass the auto activator as a list

 			List<Object> list = new ArrayList<Object>(1);

@@ -73,35 +74,35 @@
 			felix.stop();

 		}

 

-		abstract Felix createFelix(Map<Object, Object> configMap, List<?> activators) throws Exception;

+		abstract Felix createFelix(Map<String, String> configMap, List<?> activators) throws Exception;

 	}

 

-	private static class Felix10XPlatform extends Felix1XPlatform {

+//	private static class Felix10XPlatform extends Felix1XPlatform {

+//

+//		private static final Constructor<Felix> CTOR;

+//		static {

+//			try {

+//				CTOR = Felix.class.getConstructor(Map.class, List.class);

+//			} catch (NoSuchMethodException ex) {

+//				throw new IllegalStateException("Cannot find Felix constructor", ex);

+//			}

+//		}

+//

+//		@Override

+//		Felix createFelix(Map<Object, Object> configMap, List<?> activators) throws Exception {

+//

+//			return CTOR.newInstance(configMap, activators);

+//		}

+//	}

 

-		private static final Constructor<Felix> CTOR;

-		static {

-			try {

-				CTOR = Felix.class.getConstructor(Map.class, List.class);

-			} catch (NoSuchMethodException ex) {

-				throw new IllegalStateException("Cannot find Felix constructor", ex);

-			}

-		}

-

-		@Override

-		Felix createFelix(Map<Object, Object> configMap, List<?> activators) throws Exception {

-

-			return CTOR.newInstance(configMap, activators);

-		}

-	}

-

-	private static class Felix14XPlatform extends Felix1XPlatform {

-

-		@Override

-		Felix createFelix(Map<Object, Object> configMap, List<?> activators) throws Exception {

-			configMap.put("felix.systembundle.activators", activators);

-			return new Felix(configMap);

-		}

-	}

+//	private static class Felix14XPlatform extends Felix1XPlatform {

+//

+//		@Override

+//		Felix createFelix(Map<Object, Object> configMap, List<?> activators) throws Exception {

+//			configMap.put("felix.systembundle.activators", activators);

+//			return new Felix(configMap);

+//		}

+//	}

 

 	private static class Felix20XPlatform implements Platform {

 		private FrameworkTemplate fwkTemplate;

@@ -112,7 +113,7 @@
 		}

 

 		public BundleContext start() throws Exception {

-			Map<Object, Object> configMap = getConfiguration();

+			Map<String, String> configMap = getConfiguration();

 			Felix fx = new Felix(configMap);

 			fwkTemplate = new DefaultFrameworkTemplate(fx, log);

 

@@ -128,11 +129,11 @@
 		}

 	}

 

-	private static enum FelixVersion {

-		V_10X, V_14X, V_20X

-	}

+//	private static enum FelixVersion {

+//		V_10X, V_14X, V_20X

+//	}

 

-	private static FelixVersion FELIX_VERSION;

+//	private static FelixVersion FELIX_VERSION;

 

 	private static final Log log = LogFactory.getLog(FelixPlatform.class);

 

@@ -140,18 +141,18 @@
 	/** new property in 1.4.0 replacing cache.profiledir */

 	private static final String OSGI_STORAGE_PROPERTY = "org.osgi.framework.storage";

 

-	static {

-		ClassLoader loader = Felix.class.getClassLoader();

+//	static {

+//		ClassLoader loader = Felix.class.getClassLoader();

 		// detect available Felix version

-		if (ClassUtils.isPresent("org.apache.felix.main.AutoProcessor", loader)) {

-			FELIX_VERSION = FelixVersion.V_20X;

-		} else {

-			if (ClassUtils.isPresent("org.apache.felix.main.RegularBundleInfo", loader)) {

-				FELIX_VERSION = FelixVersion.V_14X;

-			}

-			FELIX_VERSION = FelixVersion.V_10X;

-		}

-	}

+//		if (ClassUtils.isPresent("org.apache.felix.main.AutoProcessor", loader)) {

+//			FELIX_VERSION = FelixVersion.V_20X;

+//		} else {

+//			if (ClassUtils.isPresent("org.apache.felix.main.RegularBundleInfo", loader)) {

+//				FELIX_VERSION = FelixVersion.V_14X;

+//			}

+//			FELIX_VERSION = FelixVersion.V_10X;

+//		}

+//	}

 

 	private BundleContext context;

 	private File felixStorageDir;

@@ -203,18 +204,19 @@
 			Map<Object, Object> configProperties = getConfigurationProperties();

 			System.getProperties().putAll(configProperties);

 

-			switch (FELIX_VERSION) {

-			case V_20X:

-				platform = new Felix20XPlatform(null);

-				break;

-			case V_14X:

-				platform = new Felix14XPlatform();

-				break;

-			// fallback to 10-12 version

-			default:

-				platform = new Felix10XPlatform();

-				break;

-			}

+            platform = new Felix20XPlatform(LogFactory.getLog(Felix20XPlatform.class));

+//			switch (FELIX_VERSION) {

+//			case V_20X:

+//				platform = new Felix20XPlatform(null);

+//				break;

+//			case V_14X:

+//				platform = new Felix14XPlatform();

+//				break;

+//			// fallback to 10-12 version

+//			default:

+//				platform = new Felix10XPlatform();

+//				break;

+//			}

 

 			context = platform.start();

 		}

@@ -226,22 +228,23 @@
 	 * 

 	 * @return Felix configuration

 	 */

-	private static Map<Object, Object> getConfiguration() {

+	private static Map<String, String> getConfiguration() {

 		// Load system properties.

 		Main.loadSystemProperties();

 

 		// Read configuration properties.

-		Properties configProps = Main.loadConfigProperties();

+		Map<String, String> configProps = Main.loadConfigProperties();

 

 		if (configProps == null) {

-			configProps = new Properties();

+			configProps = new HashMap<String, String>();

 		}

 

 		// Copy framework properties from the system properties.

 		Main.copySystemProperties(configProps);

 

 		// Create a (Felix specific) case-insensitive property map

-		return new StringMap(configProps, false);

+//		return new StringMap(configProps, false);

+        return configProps;

 	}

 

 	public void stop() throws Exception {