diff --git a/.gitignore b/.gitignore
index 19568c4e..a83dfdcf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,4 +17,4 @@ bundles/model/antlr-generator-3.2.0-patch.jar
bundles/storage/org.eclipse.smarthome.storage.mapdb.test/userdata/mapdb/storage.mapdb
bundles/storage/org.eclipse.smarthome.storage.mapdb.test/userdata/mapdb/storage.mapdb.p
bundles/storage/org.eclipse.smarthome.storage.mapdb.test/userdata/mapdb/storage.mapdb.t
-features/karaf/src/main/history
+features/karaf*/src/main/history
diff --git a/features/karaf-tp/pom.xml b/features/karaf-tp/pom.xml
new file mode 100644
index 00000000..aefb7751
--- /dev/null
+++ b/features/karaf-tp/pom.xml
@@ -0,0 +1,35 @@
+
+
+ 4.0.0
+
+
+ org.eclipse.smarthome
+ features
+ 0.8.0-SNAPSHOT
+
+
+ karaf-tp
+ feature
+
+ Eclipse SmartHome Karaf Target Platform Feature
+
+
+
+
+ org.apache.karaf.tooling
+ karaf-maven-plugin
+ ${karaf.version}
+ true
+
+ 60
+ true
+ true
+ false
+ true
+ true
+
+
+
+
+
+
diff --git a/features/karaf-tp/src/main/feature/feature.xml b/features/karaf-tp/src/main/feature/feature.xml
new file mode 100644
index 00000000..2a1ad910
--- /dev/null
+++ b/features/karaf-tp/src/main/feature/feature.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ scr
+ eventadmin
+
+ esh-tp-apache-commons
+ esh-tp-httpclient
+ esh-tp-jax-rs
+ esh-tp-jax-rs-provider-swagger
+ esh-tp-jupnp
+ esh-tp-jmdns
+ esh-tp-paho
+ esh-tp-xtext
+
+ mvn:com.google.code.gson/gson/2.3.1
+ mvn:io.swagger/swagger-annotations/1.5.5
+
+
+
+ mvn:commons-codec/commons-codec/1.6
+ mvn:commons-collections/commons-collections/3.2.1
+ mvn:org.apache.commons/commons-collections4/4.1
+ mvn:org.apache.commons/commons-exec/1.1
+ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/3.1_7
+ mvn:commons-io/commons-io/2.2
+ mvn:commons-lang/commons-lang/2.6
+ mvn:org.apache.commons/commons-lang3/3.4
+ mvn:commons-net/commons-net/3.2
+
+
+
+ esh.tp;feature=httpclient;version=4.2.3
+ mvn:org.apache.httpcomponents/httpcore-osgi/4.2.3
+ mvn:org.apache.httpcomponents/httpclient-osgi/4.2.3
+
+
+
+ esh.tp;feature=jax-rs;version=5.3
+ esh-tp-jax-rs-min
+ esh-tp-jax-rs-provider-gson
+
+
+
+ esh.tp;feature=jax-rs-min;version=5.3
+
+ http
+ mvn:com.eclipsesource.jaxrs/jersey-min/2.22.1
+ mvn:com.eclipsesource.jaxrs/publisher/5.3
+
+
+
+ esh.tp;feature=jax-rs-provider-gson;version=2.3
+ esh-tp-jax-rs-min
+ mvn:com.google.code.gson/gson/2.3.1
+ mvn:com.eclipsesource.jaxrs/provider-gson/2.3
+
+
+
+ esh.tp;feature=jax-rs-provider-swagger;version=2.3
+ esh-tp-jax-rs-min
+ mvn:de.maggu2810.thirdparty.modified.com.eclipsesource.jaxrs/swagger-all/1.5.5.sp1
+ mvn:com.eclipsesource.jaxrs/provider-swagger/1.1
+
+
+
+ esh.tp;feature=jupnp;version=2.2.0
+
+ http
+ esh-tp-httpclient
+ mvn:org.jupnp/org.jupnp/2.2.0
+
+
+
+ esh.tp;feature=jmdns;version=3.5.0
+
+ mvn:org.jmdns/jmdns/3.5.0
+
+
+
+ esh.tp;feature=paho;version=1.0.2
+
+ mvn:org.eclipse.paho/org.eclipse.paho.client.mqttv3/1.0.2
+
+
+
+ esh.tp;feature=xtext;version=2.9.2
+
+ mvn:org.eclipse.xtext/org.eclipse.xtext/2.9.2
+
+ mvn:org.eclipse.emf/org.eclipse.emf.common/2.11.0-v20150805-0538
+ mvn:org.eclipse.emf/org.eclipse.emf.ecore/2.11.1-v20150805-0538
+ mvn:org.eclipse.emf/org.eclipse.emf.ecore.xmi/2.11.1-v20150805-0538
+ mvn:org.eclipse.xtext/org.eclipse.xtext.common.types/2.9.2
+ mvn:org.eclipse.xtext/org.eclipse.xtext.xbase/2.9.2
+ mvn:org.eclipse.xtext/org.eclipse.xtext.xbase.lib/2.9.2
+ mvn:org.eclipse.xtext/org.eclipse.xtext.smap/2.9.2
+ mvn:org.eclipse.xtext/org.eclipse.xtext.util/2.9.2
+ mvn:org.eclipse.xtend/org.eclipse.xtend.lib/2.9.2
+ mvn:org.eclipse.xtend/org.eclipse.xtend.lib.macro/2.9.2
+
+ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_2
+
+
+
+
+
+
+ mvn:de.maggu2810.p2redist/com.google.inject/3.0.0.v201312141243
+ mvn:de.maggu2810.p2redist/com.google.guava/10.0.1.v201203051515
+ mvn:de.maggu2810.p2redist/org.antlr.runtime/3.2.0.v201101311130
+
+ mvn:de.maggu2810.p2redist/org.eclipse.equinox.common/3.7.0.v20150402-1709
+ mvn:de.maggu2810.p2redist/org.eclipse.equinox.registry/3.6.0.v20150318-1503
+ mvn:de.maggu2810.p2redist/org.eclipse.equinox.supplement/1.6.0.v20141009-1504
+
+
+
+ mvn:de.maggu2810.requirebundle.fix/org.objectweb.asm/5.0.2
+ mvn:org.ow2.asm/asm-all/5.0.2
+
+
+
diff --git a/features/karaf-verify/pom.xml b/features/karaf-verify/pom.xml
new file mode 100644
index 00000000..e0c51794
--- /dev/null
+++ b/features/karaf-verify/pom.xml
@@ -0,0 +1,64 @@
+
+
+ 4.0.0
+
+
+ org.eclipse.smarthome
+ features
+ 0.8.0-SNAPSHOT
+
+
+ karaf-verify
+ feature
+
+ Eclipse SmartHome Karaf Feature Verification
+
+
+
+ org.apache.karaf.features
+ framework
+ ${karaf.version}
+ kar
+ provided
+
+
+
+
+
+
+ org.apache.karaf.tooling
+ karaf-maven-plugin
+ ${karaf.version}
+ true
+
+
+ verify-esh
+
+
+ verify
+
+
+
+ mvn:org.apache.karaf.features/framework/${karaf.version}/xml/features
+ mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features
+ mvn:${project.groupId}/karaf-tp/${project.version}/xml/features
+ mvn:${project.groupId}/karaf/${project.version}/xml/features
+
+ org.apache.karaf.features:framework
+ 1.8
+
+ framework
+
+
+ esh-*
+
+ false
+ true
+
+
+
+
+
+
+
+
diff --git a/features/karaf/src/main/feature/feature.xml b/features/karaf/src/main/feature/feature.xml
index 3e0a3e25..ba22bbd8 100644
--- a/features/karaf/src/main/feature/feature.xml
+++ b/features/karaf/src/main/feature/feature.xml
@@ -3,14 +3,9 @@
ESH base bundles
-
- esh-tp-base
-
- esh-tp-commons
-
- esh-tp-xtext
+ esh-tp
esh.tp;filter:="(&(feature=xtext)(version>=2.9.2)(!(version>=2.9.3)))"
-
+ esh.tp;filter:="(feature=jax-rs)"
mvn:org.eclipse.smarthome.config/org.eclipse.smarthome.config.core/${project.version}
mvn:org.eclipse.smarthome.config/org.eclipse.smarthome.config.discovery/${project.version}
mvn:org.eclipse.smarthome.config/org.eclipse.smarthome.config.dispatch/${project.version}
@@ -152,21 +147,18 @@
esh-base
- esh-tp-jmdns
esh.tp;filter:="(feature=jmdns)"
mvn:org.eclipse.smarthome.io/org.eclipse.smarthome.io.transport.mdns/${project.version}
esh-base
- esh-tp-paho
esh.tp;filter:="(feature=paho)"
mvn:org.eclipse.smarthome.io/org.eclipse.smarthome.io.transport.mqtt/${project.version}
esh-base
- esh-tp-jupnp
esh.tp;filter:="(feature=jupnp)"
mvn:org.eclipse.smarthome.io/org.eclipse.smarthome.io.transport.upnp/${project.version}
diff --git a/features/pom.xml b/features/pom.xml
index b5443c44..3d32dc02 100644
--- a/features/pom.xml
+++ b/features/pom.xml
@@ -28,6 +28,8 @@
org.eclipse.smarthome.feature.designer
org.eclipse.smarthome.feature.test
karaf
+ karaf-tp
+ karaf-verify