Add bndtools launcher
diff --git a/.gitignore b/.gitignore
index 1a5f3d2..0fd82d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,6 @@
 .settings
 .classpath
 .project
+paho*
+generated
+
diff --git a/pom.xml b/pom.xml
index 901ef1b..db993ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,111 +1,134 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>net.lr.reactive.component</groupId>
-    <artifactId>rcomp-parent</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>net.lr.reactive.component</groupId>
+	<artifactId>rcomp-parent</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
 
-    <properties>
-    	<reactor.version>3.0.7.RELEASE</reactor.version>
-    	<jetty.version>8.1.15.v20140411</jetty.version>
-    	<cxf.version>3.2.0-SNAPSHOT</cxf.version>
-    </properties>
+	<properties>
+		<reactor.version>3.0.7.RELEASE</reactor.version>
+		<jetty.version>8.1.15.v20140411</jetty.version>
+		<cxf.version>3.1.2</cxf.version>
+	</properties>
 
-    <modules>
-        <module>rcomp-api</module>    
-        <module>rcomp-eventadmin</module>
-        <module>rcomp-mqtt</module>
-        <module>rcomp-mail</module>
-        <module>rcomp-examples</module>
-    </modules>
+	<modules>
+		<module>rcomp-api</module>
+		<module>rcomp-eventadmin</module>
+		<module>rcomp-mqtt</module>
+		<module>rcomp-mail</module>
+		<module>rcomp-examples</module>
+		<module>rcomp-index</module>
+	</modules>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.reactivestreams</groupId>
-            <artifactId>reactive-streams</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.7.21</version>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
-            <version>6.0.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
-            <version>6.0.0</version>
-            <scope>provided</scope>
-        </dependency>
+	<dependencies>
+		<dependency>
+			<groupId>org.reactivestreams</groupId>
+			<artifactId>reactive-streams</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api</artifactId>
+			<version>1.7.21</version>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>osgi.core</artifactId>
+			<version>6.0.0</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>osgi.cmpn</artifactId>
+			<version>6.0.0</version>
+			<scope>provided</scope>
+		</dependency>
 
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-jdk14</artifactId>
-            <version>1.7.21</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-jdk14</artifactId>
+			<version>1.7.21</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.12</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>net.lr.reactive.component</groupId>
-                <artifactId>rcomp-api</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.projectreactor</groupId>
-                <artifactId>reactor-core</artifactId>
-                <version>3.0.7.RELEASE</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>net.lr.reactive.component</groupId>
+				<artifactId>rcomp-api</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>io.projectreactor</groupId>
+				<artifactId>reactor-core</artifactId>
+				<version>3.0.7.RELEASE</version>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.5.1</version>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-maven-plugin</artifactId>
-                <version>3.3.0</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>bnd-process</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>3.0.2</version>
-                <configuration>
-                    <archive>
-                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                    </archive>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+
+
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>biz.aQute.bnd</groupId>
+					<artifactId>bnd-export-maven-plugin</artifactId>
+					<version>3.4.0-SNAPSHOT</version>
+					<configuration>
+						<resolve>true</resolve>
+						<failOnChanges>false</failOnChanges>
+					</configuration>
+					<executions>
+						<execution>
+							<goals>
+								<goal>export</goal>
+							</goals>
+						</execution>
+					</executions>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.5.1</version>
+				<configuration>
+					<source>1.8</source>
+					<target>1.8</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>biz.aQute.bnd</groupId>
+				<artifactId>bnd-maven-plugin</artifactId>
+				<version>3.3.0</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>bnd-process</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-jar-plugin</artifactId>
+				<version>3.0.2</version>
+				<configuration>
+					<archive>
+						<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+					</archive>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
 </project>
diff --git a/rcomp-examples/bnd.bnd b/rcomp-examples/bnd.bnd
index 8b6f883..6b034bd 100644
--- a/rcomp-examples/bnd.bnd
+++ b/rcomp-examples/bnd.bnd
@@ -1 +1,2 @@
 Web-ContextPath:/rcomp-examples
+Private-Package: reactor.math
\ No newline at end of file
diff --git a/rcomp-examples/src/test/java/examples/TestRs.java b/rcomp-examples/src/test/java/examples/TestRs.java
index feef726..aa410dd 100644
--- a/rcomp-examples/src/test/java/examples/TestRs.java
+++ b/rcomp-examples/src/test/java/examples/TestRs.java
@@ -1,11 +1,6 @@
 package examples;
 
-import static reactor.core.publisher.Mono.fromCompletionStage;
-
 import java.io.IOException;
-import java.time.Duration;
-import java.util.List;
-import java.util.stream.Collectors;
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;
@@ -21,8 +16,6 @@
 import org.eclipse.jetty.servlet.ServletHolder;
 import org.junit.Test;
 
-import reactor.core.publisher.Mono;
-
 public class TestRs {
 
     @Test
@@ -31,6 +24,7 @@
         server.start();
         WebTarget client1 = ClientBuilder.newClient().target("http://localhost:8384/Hello");
         WebTarget client2 = ClientBuilder.newClient().target("http://localhost:8384/World");
+        /*
         Mono<String> get1 = fromCompletionStage(client1.request().rx().get(String.class));
         Mono<String> get2 = fromCompletionStage(client2.request().rx().get(String.class));
         List<String> result = Mono
@@ -41,6 +35,7 @@
             .block(Duration.ofMillis(1500));
         String resultSt = result.stream().collect(Collectors.joining(" "));
         org.junit.Assert.assertEquals("Hello World", resultSt);
+        */
         server.stop();
     }
 
diff --git a/rcomp-index/pom.xml b/rcomp-index/pom.xml
new file mode 100644
index 0000000..0fc6c96
--- /dev/null
+++ b/rcomp-index/pom.xml
@@ -0,0 +1,149 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>net.lr.reactive.component</groupId>
+		<artifactId>rcomp-parent</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>rcomp-index</artifactId>
+
+	<properties>
+		<rcomp.version>${project.version}</rcomp.version>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>net.lr.reactive.component</groupId>
+			<artifactId>rcomp-api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>net.lr.reactive.component</groupId>
+			<artifactId>rcomp-eventadmin</artifactId>
+			<version>${rcomp.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>net.lr.reactive.component</groupId>
+			<artifactId>rcomp-mail</artifactId>
+			<version>${rcomp.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>net.lr.reactive.component</groupId>
+			<artifactId>rcomp-mqtt</artifactId>
+			<version>${rcomp.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>net.lr.reactive.component</groupId>
+			<artifactId>rcomp-examples</artifactId>
+			<version>${rcomp.version}</version>
+		</dependency>
+
+		<!-- Basic Felix bundles -->
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.framework</artifactId>
+			<version>5.4.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.eventadmin</artifactId>
+			<version>1.4.6</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.configadmin</artifactId>
+			<version>1.8.8</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.metatype</artifactId>
+			<version>1.1.2</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>kxml2</artifactId>
+					<groupId>net.sf.kxml</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.fileinstall</artifactId>
+			<version>3.5.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.gogo.command</artifactId>
+			<version>1.0.0</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>org.osgi.core</artifactId>
+					<groupId>org.osgi</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>org.osgi.compendium</artifactId>
+					<groupId>org.osgi</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.gogo.jline</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jline</groupId>
+			<artifactId>jline</artifactId>
+			<version>3.0.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.scr</artifactId>
+			<version>2.0.2</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>animal-sniffer-annotations</artifactId>
+					<groupId>org.codehaus.mojo</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.http.jetty</artifactId>
+			<version>3.0.0</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.eclipse.jetty</groupId>
+					<artifactId>jetty-server</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.eclipse.jetty.websocket</groupId>
+					<artifactId>websocket-server</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.felix</groupId>
+					<artifactId>org.apache.felix.http.base</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+
+		<dependency>
+			<groupId>org.ops4j.pax.logging</groupId>
+			<artifactId>pax-logging-service</artifactId>
+			<version>1.8.5</version>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>biz.aQute.bnd</groupId>
+				<artifactId>bnd-export-maven-plugin</artifactId>
+				<configuration>
+					<bndruns>
+						<bndrun>rcomp-example.bndrun</bndrun>
+					</bndruns>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/rcomp-index/rcomp-example.bndrun b/rcomp-index/rcomp-example.bndrun
new file mode 100644
index 0000000..604baef
--- /dev/null
+++ b/rcomp-index/rcomp-example.bndrun
@@ -0,0 +1,53 @@
+#-standalone: ${.}/target/index.xml
+
+-standalone: true
+-plugin.enroute-distro = \
+    aQute.bnd.repository.maven.pom.provider.BndPomRepository; \
+        snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \
+        releaseUrls=https://repo1.maven.org/maven2/; \
+        pom=${.}/pom.xml; \
+        name=rcomp
+
+-runsystemcapabilities: ${native_capability}
+
+-resolve.effective: active;skip:="osgi.service"
+
+-runblacklist: osgi.identity;filter:='(osgi.identity=slf4j.api)'
+
+-runfw: org.apache.felix.framework;version='[5.4.0,5.4.0]'
+-runee: JavaSE-1.8
+
+-runsystempackages: sun.misc,javax.annotation.meta
+
+-runproperties: \
+    osgi.console=8102,\
+	aries.rsa.hostname=172.17.0.1,\
+	felix.cm.loglevel=4,\
+	org.osgi.framework.bootdelegation=*,\
+	felix.fileinstall.log.level=4,\
+	org.ops4j.pax.logging.DefaultServiceLog.level=INFO,\
+	felix.fileinstall.dir=./etc,\
+	felix.fileinstall.noInitialDelay=true,\
+	felix.fileinstall.enableConfigSave=false
+-runrequires: \
+	osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.jline)',\
+	osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\
+	osgi.identity;filter:='(osgi.identity=rcomp-examples)',\
+	osgi.identity;filter:='(osgi.identity=rcomp-eventadmin)',\
+	osgi.identity;filter:='(osgi.identity=rcomp-mqtt)'
+-runbundles: \
+	io.projectreactor.reactor-core;version='[3.0.7,3.0.8)',\
+	org.apache.felix.scr;version='[2.0.2,2.0.3)',\
+	org.ops4j.pax.logging.pax-logging-api;version='[1.8.5,1.8.6)',\
+	org.reactivestreams.reactive-streams;version='[1.0.0,1.0.1)',\
+	rcomp-api;version='[1.0.0,1.0.1)',\
+	rcomp-examples;version='[1.0.0,1.0.1)',\
+	org.apache.felix.bundlerepository;version='[1.6.0,1.6.1)',\
+	org.apache.felix.gogo.command;version='[1.0.0,1.0.1)',\
+	org.apache.felix.gogo.jline;version='[1.0.0,1.0.1)',\
+	org.apache.felix.gogo.runtime;version='[1.0.0,1.0.1)',\
+	org.jline;version='[3.0.1,3.0.2)',\
+	rcomp-eventadmin;version='[1.0.0,1.0.1)',\
+	org.eclipse.paho.client.mqttv3;version='[1.1.1,1.1.2)',\
+	rcomp-mqtt;version='[1.0.0,1.0.1)',\
+	osgi.cmpn;version='[4.3.1,4.3.2)'
\ No newline at end of file