You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by da...@apache.org on 2011/10/26 17:11:42 UTC

svn commit: r1189260 - in /aries/trunk/jmx/jmx-itests/src/test: java/org/apache/aries/jmx/framework/ java/org/ops4j/ java/org/ops4j/pax/ java/org/ops4j/pax/runner/ java/org/ops4j/pax/runner/platform/ java/org/ops4j/pax/runner/platform/equinox/ java/org...

Author: davidb
Date: Wed Oct 26 15:11:41 2011
New Revision: 1189260

URL: http://svn.apache.org/viewvc?rev=1189260&view=rev
Log:
Add configuration to Pax Exam to allow it to run under Equinox 3.7 (OSGi 4.3). Changed BundleStateMBeanTest to use it.

Added:
    aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/
    aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/
    aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/runner/
    aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/runner/platform/
    aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/runner/platform/equinox/
    aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/
    aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java
    aries/trunk/jmx/jmx-itests/src/test/resources/META-INF/
    aries/trunk/jmx/jmx-itests/src/test/resources/META-INF/platform-equinox/
    aries/trunk/jmx/jmx-itests/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml
    aries/trunk/jmx/jmx-itests/src/test/resources/ss-runner.properties
Modified:
    aries/trunk/jmx/jmx-itests/src/test/java/org/apache/aries/jmx/framework/BundleStateMBeanTest.java

Modified: aries/trunk/jmx/jmx-itests/src/test/java/org/apache/aries/jmx/framework/BundleStateMBeanTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/jmx/jmx-itests/src/test/java/org/apache/aries/jmx/framework/BundleStateMBeanTest.java?rev=1189260&r1=1189259&r2=1189260&view=diff
==============================================================================
--- aries/trunk/jmx/jmx-itests/src/test/java/org/apache/aries/jmx/framework/BundleStateMBeanTest.java (original)
+++ aries/trunk/jmx/jmx-itests/src/test/java/org/apache/aries/jmx/framework/BundleStateMBeanTest.java Wed Oct 26 15:11:41 2011
@@ -16,6 +16,9 @@
  */
 package org.apache.aries.jmx.framework;
 
+import static org.apache.aries.itest.ExtraOptions.mavenBundle;
+import static org.apache.aries.itest.ExtraOptions.paxLogging;
+import static org.apache.aries.itest.ExtraOptions.testOptions;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -25,8 +28,6 @@ import static org.ops4j.pax.swissbox.tin
 import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.withBnd;
 import static org.osgi.jmx.framework.BundleStateMBean.OBJECTNAME;
 
-import static org.apache.aries.itest.ExtraOptions.*;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -41,10 +42,15 @@ import org.apache.aries.jmx.codec.Bundle
 import org.junit.Test;
 import org.ops4j.pax.exam.CoreOptions;
 import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
 import org.ops4j.pax.exam.junit.Configuration;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.Version;
 import org.osgi.jmx.framework.BundleStateMBean;
+import org.osgi.service.packageadmin.ExportedPackage;
+import org.osgi.service.packageadmin.PackageAdmin;
 
 /**
  * @version $Rev$ $Date$
@@ -54,9 +60,13 @@ public class BundleStateMBeanTest extend
     @Configuration
     public static Option[] configuration() {
         return testOptions(
-                        CoreOptions.equinox(),
+                        // new VMOption( "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000" ),
+                        // new TimeoutOption( 0 ),
+
+                        PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+                        CoreOptions.equinox().version("3.7.0.v20110613"),
                         paxLogging("INFO"),
-                        
+
                         mavenBundle("org.apache.felix", "org.apache.felix.configadmin"),
                         mavenBundle("org.osgi", "org.osgi.compendium"),
                         mavenBundle("org.apache.aries.jmx", "org.apache.aries.jmx"),
@@ -102,7 +112,7 @@ public class BundleStateMBeanTest extend
                                 .build(withBnd()))
                         );
     }
-    
+
     @Override
     public void doSetUp() throws Exception {
         waitForMBean(new ObjectName(BundleStateMBean.OBJECTNAME));
@@ -110,39 +120,39 @@ public class BundleStateMBeanTest extend
 
     @Test
     public void testMBeanInterface() throws Exception {
-        
+
         BundleStateMBean mbean = getMBean(OBJECTNAME, BundleStateMBean.class);
         assertNotNull(mbean);
-        
+
         //get bundles
-        
+
         Bundle a = context().getBundleByName("org.apache.aries.jmx.test.bundlea");
         assertNotNull(a);
-        
+
         Bundle b = context().getBundleByName("org.apache.aries.jmx.test.bundleb");
         assertNotNull(b);
-        
+
         Bundle frag = context().getBundleByName("org.apache.aries.jmx.test.fragc");
         assertNotNull(frag);
 
         Bundle d = context().getBundleByName("org.apache.aries.jmx.test.bundled");
         assertNotNull(d);
-        
+
         // exportedPackages
-        
+
         String[] exports = mbean.getExportedPackages(a.getBundleId());
         assertEquals(2, exports.length);
-        
+
         List<String> packages = Arrays.asList(exports);
         assertTrue(packages.contains("org.apache.aries.jmx.test.bundlea.api;2.0.0"));
         assertTrue(packages.contains("org.apache.aries.jmx.test.fragmentc;0.0.0"));
-        
+
         //fragments
-        
+
         long[] fragments = mbean.getFragments(a.getBundleId());
         assertEquals(1, fragments.length);
         assertEquals(frag.getBundleId() , fragments[0]);
-       
+
         //headers
 
         TabularData headers = mbean.getHeaders(b.getBundleId());
@@ -150,109 +160,119 @@ public class BundleStateMBeanTest extend
         assertEquals(BundleStateMBean.HEADERS_TYPE, headers.getTabularType());
         assertTrue(headers.values().size() >= 4 );
         assertEquals("org.apache.aries.jmx.test.bundleb", Header.from(headers.get(new Object[] {Constants.BUNDLE_SYMBOLICNAME})).getValue());
-        
-        //hosts 
-        
+
+        //hosts
+
         long[] hosts = mbean.getHosts(frag.getBundleId());
         assertEquals(1, hosts.length);
         assertEquals(a.getBundleId() , hosts[0]);
-        
+
         //imported packages
-           
+
         String[] imports = mbean.getImportedPackages(a.getBundleId());
         assertTrue(imports.length >= 3);
         List<String> importedPackages = Arrays.asList(imports);
-        assertTrue(importedPackages.contains("org.osgi.framework;1.5.0"));
+
+        Version version = getPackageVersion("org.osgi.framework");
+        assertTrue(importedPackages.contains("org.osgi.framework;" + version.toString()));
         assertTrue(importedPackages.contains("org.apache.aries.jmx.test.bundleb.api;1.1.0"));
-        
+
         //last modified
-        
+
         assertTrue(mbean.getLastModified(b.getBundleId()) > 0);
-        
+
         //location
-        
+
         assertEquals(b.getLocation(), mbean.getLocation(b.getBundleId()));
-        
+
         //registered services
-        
+
         long[] serviceIds = mbean.getRegisteredServices(a.getBundleId());
         assertEquals(1, serviceIds.length);
-        
+
         //required bundles
-        
+
         long[] required = mbean.getRequiredBundles(d.getBundleId());
         assertEquals(1, required.length);
         assertEquals(a.getBundleId(), required[0]);
-        
+
         //requiring bundles
-        
+
         long[] requiring = mbean.getRequiringBundles(a.getBundleId());
         assertEquals(3, requiring.length);
         assertTrue(b.getSymbolicName(), arrayContains(b.getBundleId(), requiring));
         assertTrue(frag.getSymbolicName(), arrayContains(frag.getBundleId(), requiring));
         assertTrue(d.getSymbolicName(), arrayContains(d.getBundleId(), requiring));
-        
+
         //services in use
-        
+
         long[] servicesInUse = mbean.getServicesInUse(a.getBundleId());
         assertEquals(1, servicesInUse.length);
-        
+
         //start level
-        
+
         long startLevel = mbean.getStartLevel(b.getBundleId());
         assertTrue(startLevel >= 0);
-        
-        //state 
-        
+
+        //state
+
         assertEquals("ACTIVE", mbean.getState(b.getBundleId()));
-        
+
         //isFragment
-        
+
         assertFalse(mbean.isFragment(b.getBundleId()));
         assertTrue(mbean.isFragment(frag.getBundleId()));
-        
+
         //isRemovalPending
         assertFalse(mbean.isRemovalPending(b.getBundleId()));
-        
+
         // isRequired
-       
+
         assertTrue(mbean.isRequired(a.getBundleId()));
-        assertTrue(mbean.isRequired(b.getBundleId())); 
-        
+        assertTrue(mbean.isRequired(b.getBundleId()));
+
         // listBundles
-        
+
         TabularData bundlesTable = mbean.listBundles();
         assertNotNull(bundlesTable);
         assertEquals(BundleStateMBean.BUNDLES_TYPE, bundlesTable.getTabularType());
         assertEquals(bundleContext.getBundles().length, bundlesTable.values().size());
-        
-        
+
+
         // notifications
-        
+
         final List<Notification> received = new ArrayList<Notification>();
-      
+
         mbeanServer.addNotificationListener(new ObjectName(BundleStateMBean.OBJECTNAME), new NotificationListener() {
             public void handleNotification(Notification notification, Object handback) {
                received.add(notification);
             }
         }, null, null);
-        
+
         assertEquals(Bundle.ACTIVE, b.getState());
         b.stop();
         assertEquals(Bundle.RESOLVED, b.getState());
         b.start();
         assertEquals(Bundle.ACTIVE, b.getState());
-        
+
         int i = 0;
         while (received.size() < 2 && i < 3) {
             Thread.sleep(1000);
             i++;
         }
-        
+
         assertEquals(2, received.size());
-        
+
     }
-    
+
+    private Version getPackageVersion(String packageName) {
+        ServiceReference paRef = context().getServiceReference(PackageAdmin.class.getName());
+        PackageAdmin pa = (PackageAdmin) context().getService(paRef);
+        ExportedPackage pkg = pa.getExportedPackage(packageName);
+        Version version = pkg.getVersion();
+        return version;
+    }
+
     private static boolean arrayContains(long value, long[] values) {
         for (long i : values) {
             if (i == value) {

Added: aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java
URL: http://svn.apache.org/viewvc/aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java?rev=1189260&view=auto
==============================================================================
--- aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java (added)
+++ aries/trunk/jmx/jmx-itests/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java Wed Oct 26 15:11:41 2011
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.ops4j.pax.runner.platform.equinox.internal;
+
+import org.ops4j.pax.runner.platform.PlatformBuilder;
+import org.ops4j.pax.runner.platform.builder.AbstractPlatformBuilderActivator;
+import org.osgi.framework.BundleContext;
+
+public class SsActivator extends AbstractPlatformBuilderActivator
+{
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected PlatformBuilder[] createPlatformBuilders( final BundleContext bundleContext )
+    {
+        return new PlatformBuilder[]{
+            new EquinoxPlatformBuilder( bundleContext, "3.2.1" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.3.0" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.3.1" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.3.2" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.4.0" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.4.1" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.4.2" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.5.0" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.5.1" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.6.0" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.7.0.V20110613" ),
+            new EquinoxPlatformBuilderSnapshot( bundleContext )
+        };
+    }
+
+}

Added: aries/trunk/jmx/jmx-itests/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml
URL: http://svn.apache.org/viewvc/aries/trunk/jmx/jmx-itests/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml?rev=1189260&view=auto
==============================================================================
--- aries/trunk/jmx/jmx-itests/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml (added)
+++ aries/trunk/jmx/jmx-itests/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml Wed Oct 26 15:11:41 2011
@@ -0,0 +1,26 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<platform>
+
+  <name>Equinox 3.7.0</name>
+  <system>mvn:org.eclipse.tycho/org.eclipse.osgi/3.7.0.v20110613</system>
+
+  <profile name="minimal" default="true"/>
+
+</platform>

Added: aries/trunk/jmx/jmx-itests/src/test/resources/ss-runner.properties
URL: http://svn.apache.org/viewvc/aries/trunk/jmx/jmx-itests/src/test/resources/ss-runner.properties?rev=1189260&view=auto
==============================================================================
--- aries/trunk/jmx/jmx-itests/src/test/resources/ss-runner.properties (added)
+++ aries/trunk/jmx/jmx-itests/src/test/resources/ss-runner.properties Wed Oct 26 15:11:41 2011
@@ -0,0 +1,244 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# --------------------------------------------------------------------------------------------------------------------
+# The following bundles will always be instantiated
+# --------------------------------------------------------------------------------------------------------------------
+# handler service (extender for url stream handlers)
+handler.service=org.ops4j.pax.runner.handler.internal.Activator
+# provision service (extender for scanners)
+provision.service=org.ops4j.pax.scanner.internal.Activator
+# platform service (extender for platforms)
+platform.service=org.ops4j.pax.runner.platform.internal.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Known handlers
+# --------------------------------------------------------------------------------------------------------------------
+# assembly protocol handler
+handler.assembly=org.ops4j.pax.url.assembly.internal.Activator
+# cache protocol handler
+handler.cache=org.ops4j.pax.url.cache.internal.Activator
+# classpath protocol handler
+handler.classpath=org.ops4j.pax.url.classpath.internal.Activator
+# dir protocol handler
+handler.dir=org.ops4j.pax.url.dir.internal.Activator
+# mvn protocol handler
+handler.mvn=org.ops4j.pax.url.mvn.internal.Activator
+# link protocol handler
+handler.link=org.ops4j.pax.url.link.internal.Activator
+# obr protocol handler
+handler.obr=org.ops4j.pax.url.obr.internal.Activator
+# war protocol handler
+handler.war=org.ops4j.pax.url.war.internal.Activator
+# wrap protocol handler
+handler.wrap=org.ops4j.pax.url.wrap.internal.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Known scanners
+# --------------------------------------------------------------------------------------------------------------------
+# scan-bundle
+scanner.bundle=org.ops4j.pax.scanner.bundle.internal.Activator
+# scan-composite
+scanner.composite=org.ops4j.pax.scanner.composite.internal.Activator
+# scan-dir
+scanner.dir=org.ops4j.pax.scanner.dir.internal.Activator
+# scan-file
+scanner.features=org.ops4j.pax.scanner.features.internal.Activator
+# scan-file
+scanner.file=org.ops4j.pax.scanner.file.internal.Activator
+# scan-obr
+scanner.obr=org.ops4j.pax.scanner.obr.internal.Activator
+# scan-pom
+scanner.pom=org.ops4j.pax.scanner.pom.internal.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Known platforms
+# --------------------------------------------------------------------------------------------------------------------
+## Equinox
+platform.equinox.3.2.1=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.3.0=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.3.1=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.3.2=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.4.0=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.4.1=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.4.2=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.5.0=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.5.1=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.6.0=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.SNAPSHOT=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.V43PROTOTYPE-3.6.0.201003231329=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.7.0.V20110613=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+# Felix
+platform.felix.1.0.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.0.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.0.3=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.0.4=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.2.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.2.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.2.2=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.4.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.4.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.6.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.6.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.8.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.8.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.2.0.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.2.0.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.2.0.2=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.SNAPSHOT=org.ops4j.pax.runner.platform.felix.internal.Activator
+# Knopflerfish
+platform.knopflerfish.2.0.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.1=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.2=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.3=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.4=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.5=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.1.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.1.1=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.2.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.3.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.3.1=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.3.2=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.3.3=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.3.0.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.SNAPSHOT=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+#Concierge
+platform.concierge.1.0.0=org.ops4j.pax.runner.platform.concierge.internal.Activator
+platform.concierge.SNAPSHOT=org.ops4j.pax.runner.platform.concierge.internal.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Aditional Services
+# --------------------------------------------------------------------------------------------------------------------
+service.obr=org.apache.felix.bundlerepository.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Default values.
+# Default values are used in case that an option / configuration property is not set.
+# --------------------------------------------------------------------------------------------------------------------
+# defaults for runner options
+# default list of handlers
+default.handlers=handler.mvn,handler.classpath,handler.war,handler.wrap,handler.obr,handler.link,handler.cache,handler.assembly,handler.dir
+# default list of scanners
+default.scanners=scanner.bundle,scanner.composite,scanner.dir,scanner.features,scanner.file,scanner.obr,scanner.pom
+# default platfom
+default.platform=platform.felix
+# default felix platform version
+default.platform.felix.version=2.0.2
+# default equinox platform version
+default.platform.equinox.version=3.5.1
+# default knopflerfish platform version
+default.platform.knopflerfish.version=2.3.3
+# default concierge platform version
+default.platform.concierge.version=1.0.0
+# default list of additional services
+default.services=service.obr
+# default obr repositories
+default.obr.repository.url=http://bundles.osgi.org/obr/browse?_xml=1&cmd=repository
+# default profiles repository
+default.profilesRepositories=http://scm.ops4j.org/repos/ops4j/projects/pax/runner-repository
+# default group id
+default.profilesGroupId=org.ops4j.pax.runner.profiles
+# default "snapshot" platform definition repository
+default.snapshotsRepository=http://scm.ops4j.org/repos/ops4j/projects/pax/runner-repository
+# default "snapshot" Felix platform definition URL
+default.felix.snapshot.definition.url=mvn:${snapshotsRepository}!org.ops4j.pax.runner.platforms/felix//xml
+# default "snapshot" Equinox platform definition URL
+default.equinox.snapshot.definition.url=mvn:${snapshotsRepository}!org.ops4j.pax.runner.platforms/equinox//xml
+# default "snapshot" Knopflerfish platform definition URL
+default.knopflerfish.snapshot.definition.url=mvn:${snapshotsRepository}!org.ops4j.pax.runner.platforms/knopflerfish//xml
+# default "snapshot" Concierge platform definition URL
+default.concierge.snapshot.definition.url=mvn:${snapshotsRepository}!org.ops4j.pax.runner.platforms/concierge//xml
+# default working directory
+default.workingDirectory=runner
+# default caching directory
+default.org.ops4j.pax.url.cache.workingDirectory=${workingDirectory}/cache
+# default platform working directory
+default.org.ops4j.pax.runner.platform.workingDirectory=${workingDirectory}
+
+
+# --------------------------------------------------------------------------------------------------------------------
+# Configuration properties alias
+# Alias are used to transform configuration properties from the fully qualified ones to simple option name or
+# to convert simple values from start arguments to the actual ones.
+# --------------------------------------------------------------------------------------------------------------------
+# aliases for runner options
+alias.platform=p
+alias.platform.equinox=platform.equinox
+alias.platform.e=platform.equinox
+alias.platform.eq=platform.equinox
+alias.platform.felix=platform.felix
+alias.platform.f=platform.felix
+alias.platform.knopflerfish=platform.knopflerfish
+alias.platform.k=platform.knopflerfish
+alias.platform.kf=platform.knopflerfish
+alias.platform.concierge=platform.concierge
+alias.platform.c=platform.concierge
+alias.version=v
+alias.snapshot=s
+alias.workingDirectory=dir
+
+# aliases for handlers
+alias.org.ops4j.pax.url.mvn.certificateCheck=certificateCheck
+alias.org.ops4j.pax.url.mvn.defaultRepositories=defaultRepositories,dr
+alias.org.ops4j.pax.url.mvn.localRepository=localRepository,lr,maven.repo.local
+alias.org.ops4j.pax.url.mvn.repositories=repositories,repos
+alias.org.ops4j.pax.url.mvn.settings=settings
+alias.org.ops4j.pax.url.mvn.useFallbackRepositories=useFallbackRepositories,ufr
+alias.org.ops4j.pax.url.obr.certificateCheck=certificateCheck
+alias.org.ops4j.pax.url.war.certificateCheck=certificateCheck
+alias.org.ops4j.pax.url.wrap.certificateCheck=certificateCheck
+alias.org.ops4j.pax.scanner.composite.certificateCheck=certificateCheck
+alias.org.ops4j.pax.scanner.features.certificateCheck=certificateCheck
+
+# aliases for platform options
+alias.org.ops4j.pax.runner.platform.bootDelegation=bootDelegation,bd
+alias.org.ops4j.pax.runner.platform.bundleStartLevel=bundleStartLevel,bsl
+alias.org.ops4j.pax.runner.platform.classpath=classPath,cp
+alias.org.ops4j.pax.runner.platform.console=console
+alias.org.ops4j.pax.runner.platform.definitionURL=definitionURL
+alias.org.ops4j.pax.runner.platform.frameworkProfile=frameworkProfile,fp
+alias.org.ops4j.pax.runner.platform.ee=ee
+alias.org.ops4j.pax.runner.platform.javaHome=javaHome,home
+alias.org.ops4j.pax.runner.platform.overwrite=overwrite
+alias.org.ops4j.pax.runner.platform.overwriteUserBundles=overwriteUserBundles
+alias.org.ops4j.pax.runner.platform.overwriteSystemBundles=overwriteSystemBundles
+alias.org.ops4j.pax.runner.platform.profileStartLevel=profileStartLevel,psl
+alias.org.ops4j.pax.runner.platform.startLevel=startLevel,sl
+alias.org.ops4j.pax.runner.platform.systemPackages=systemPackages,sp
+alias.org.ops4j.pax.runner.platform.usePersistedState=usePersistedState,ups
+alias.org.ops4j.pax.runner.platform.vmOptions=vmOptions,vmo
+alias.org.ops4j.pax.runner.platform.debugClassLoading=debugClassLoading,dcl
+alias.org.ops4j.pax.runner.platform.downloadFeedback=downloadFeedback,df
+alias.org.ops4j.pax.runner.platform.autoWrap=autoWrap
+alias.org.ops4j.pax.runner.platform.keepOriginalUrls=keepOriginalUrls,kou
+alias.org.ops4j.pax.runner.platform.bundleValidation=bundleValidation
+alias.org.ops4j.pax.runner.platform.skipInvalidBundles=skipInvalidBundles,sib
+alias.org.ops4j.pax.runner.platform.useAbsoluteFilePaths=useAbsoluteFilePaths,absoluteFilePaths,uafp
+
+# aliases for scanners
+alias.org.ops4j.pax.scanner.bundle.start=start
+alias.org.ops4j.pax.scanner.composite.start=start
+alias.org.ops4j.pax.scanner.dir.start=start
+alias.org.ops4j.pax.scanner.features.start=start
+alias.org.ops4j.pax.scanner.file.start=start
+alias.org.ops4j.pax.scanner.obr.start=start
+alias.org.ops4j.pax.scanner.pom.start=start
+
+# aliases for additional services
+alias.obr.repository.url=obrRepositories|obrRepos