<?xml version="1.0" encoding="UTF-8"?>
<!--

	Copyright (c) 2010-2023 Contributors to the openHAB project

	See the NOTICE file(s) distributed with this work for additional
	information.

	This program and the accompanying materials are made available under the
	terms of the Eclipse Public License 2.0 which is available at
	http://www.eclipse.org/legal/epl-2.0

	SPDX-License-Identifier: EPL-2.0

-->
<features name="${project.artifactId}-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.3.0">

	<repository>mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-tp/${project.version}/xml/features</repository>

	<feature name="openhab-core-base" description="openHAB Core" version="${project.version}">
		<details>openHAB Core base bundles</details>

		<requirement>openhab.tp;filter:="(feature=base)"</requirement>
		<feature dependency="true">openhab.tp-base</feature>

		<requirement>openhab.tp;filter:="(feature=jollyday)"</requirement>
		<feature dependency="true">openhab.tp-jollyday</feature>

		<feature dependency="true">openhab.tp-gson</feature>

		<requirement>openhab.tp;filter:="(&amp;(feature=xtext)(version&gt;=2.29.0)(!(version&gt;=2.30.0)))"</requirement>
		<feature dependency="true">openhab.tp-xtext</feature>

		<requirement>openhab.tp;filter:="(feature=jax-rs-whiteboard)"</requirement>
		<feature dependency="true">openhab.tp-jax-rs-whiteboard</feature>

		<requirement>openhab.tp;filter:="(feature=httpclient)"</requirement>
		<feature dependency="true">openhab.tp-httpclient</feature>

		<requirement>openhab.tp;filter:="(feature=jna)"</requirement>
		<feature dependency="true">openhab.tp-jna</feature>

		<bundle>mvn:org.openhab/base-fixes/1.0.0</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.automation/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.config.core/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.config.discovery/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.config.dispatch/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core/${project.version}</bundle>
		<bundle>mvn:org.openhab.osgiify/io.methvin.directory-watcher/0.17.1</bundle>
		<bundle>mvn:net.java.dev.jna/jna/5.12.1</bundle>
		<bundle>mvn:net.java.dev.jna/jna-platform/5.12.1</bundle>
		<feature dependency="true">openhab-core-storage-json</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.addon/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.ephemeris/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.id/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.persistence/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.semantics/${project.version}</bundle>
		<feature dependency="true">openhab.tp-asm</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.thing/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.transform/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.audio/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.voice/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.console/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.monitor/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.net/${project.version}</bundle>
		<feature dependency="true">pax-http-whiteboard</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.http/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.core/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.sse/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-addon-marketplace" version="${project.version}">
		<feature>kar</feature>
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.addon.marketplace/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.addon.marketplace.karaf/${project.version}</bundle>
		<requirement>openhab.tp;filter:="(feature=jackson)"</requirement>
		<feature dependency="true">openhab.tp-jackson</feature>
		<feature dependency="true">openhab-core-ui</feature>
	</feature>

	<feature name="openhab-core-auth-jaas" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.auth.jaas/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-auth-oauth2client" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.auth.oauth2client/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-automation-module-script" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.automation.module.script/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-automation-module-script-rulesupport" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature dependency="true">openhab-core-automation-module-script</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.automation.module.script.rulesupport/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-automation-module-media" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature dependency="true">openhab-core-automation-module-script</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.automation.module.media/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-automation-rest" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.automation.rest/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-bin2json" description="Binary to JSON converter" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.bin2json/${project.version}</bundle>
		<requirement>openhab.tp;filter:="(feature=jbbp)"</requirement>
		<feature dependency="true">openhab.tp-jbbp</feature>
	</feature>

	<feature name="openhab-core-io-console-karaf" description="Karaf Console support for SmartHome stuff" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>shell</feature>
		<feature>service-wrapper</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.console.karaf/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-http-auth" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-auth-jaas</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.http.auth/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-rest-auth" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-auth-jaas</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.auth/${project.version}</bundle>
		<requirement>openhab.tp;filter:="(feature=jose4j)"</requirement>
		<feature dependency="true">openhab.tp-jose4j</feature>
	</feature>

	<feature name="openhab-core-io-rest-log" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.log/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-rest-sitemap" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-ui</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.sitemap/${project.version}</bundle>
		<feature dependency="true">openhab-core-model-sitemap</feature>
	</feature>

	<feature name="openhab-core-io-rest-swagger" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.swagger/${project.version}</bundle>
		<requirement>openhab.tp;filter:="(feature=swagger-jaxrs)"</requirement>
		<feature dependency="true">openhab.tp-swagger-jaxrs</feature>
	</feature>

	<feature name="openhab-core-io-rest-audio" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.audio/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-rest-transform" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.transform/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-rest-voice" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.voice/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-rest-mdns" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-io-transport-mdns</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.mdns/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-websocket" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature dependency="true">openhab-core-io-rest-auth</feature>

		<bundle>mvn:org.eclipse.jetty.websocket/websocket-servlet/${jetty.version}</bundle>
		<bundle>mvn:org.eclipse.jetty.websocket/websocket-server/${jetty.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.websocket/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-transport-coap" version="${project.version}">
		<feature>openhab-core-base</feature>

		<requirement>openhab.tp;filter:="(feature=coap)"</requirement>
		<feature dependency="true">openhab.tp-coap</feature>
	</feature>

	<feature name="openhab-core-io-transport-http" version="${project.version}">
		<feature>openhab-core-base</feature>

		<requirement>openhab.tp;filter:="(feature=httpclient)"</requirement>
		<feature dependency="true">openhab.tp-httpclient</feature>
	</feature>

	<feature name="openhab-core-io-transport-mdns" version="${project.version}">
		<feature>openhab-core-base</feature>

		<requirement>openhab.tp;filter:="(feature=jmdns)"</requirement>
		<feature dependency="true">openhab.tp-jmdns</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.transport.mdns/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.config.discovery.mdns/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-transport-modbus" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-transport-serial</feature>

		<bundle dependency="true">mvn:org.apache.commons/commons-pool2/2.8.1</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.transport.modbus/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-transport-mqtt" version="${project.version}">
		<feature>openhab-core-base</feature>

		<requirement>openhab.tp;filter:="(feature=hivemqclient)"</requirement>
		<feature dependency="true">openhab.tp-hivemqclient</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.transport.mqtt/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-transport-serial-javacomm" version="${project.version}">
		<feature>openhab-core-base</feature>

		<requirement>openhab.tp;filter:="(&amp;(feature=serial)(impl=javacomm))"</requirement>
		<feature dependency="true">openhab.tp-serial-javacomm</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.transport.serial/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.transport.serial.javacomm/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-io-transport-upnp" version="${project.version}">
		<feature>openhab-core-base</feature>

		<requirement>openhab.tp;filter:="(feature=jupnp)"</requirement>
		<feature dependency="true">openhab.tp-jupnp</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.transport.upnp/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.config.discovery.upnp/${project.version}</bundle>
	</feature>

	<feature name="openhab.inc-model-core" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.core/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-item" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab.inc-model-core</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.item/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.item.runtime/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-item-ide" version="${project.version}">
		<feature dependency="true">openhab-core-model-item</feature>

		<requirement>openhab.tp;filter:="(feature=xtext-ide)"</requirement>
		<feature dependency="true">openhab.tp-xtext-ide</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.item.ide/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-persistence" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-model-item</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.persistence/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.persistence.runtime/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-persistence-ide" version="${project.version}">
		<feature dependency="true">openhab-core-model-persistence</feature>

		<requirement>openhab.tp;filter:="(feature=xtext-ide)"</requirement>
		<feature dependency="true">openhab.tp-xtext-ide</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.persistence.ide/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-rule" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-model-item</feature>
		<feature>openhab-core-model-persistence</feature>
		<feature>openhab-core-model-script</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.rule/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.rule.runtime/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-rule-ide" version="${project.version}">
		<feature dependency="true">openhab-core-model-rule</feature>

		<requirement>openhab.tp;filter:="(feature=xtext-ide)"</requirement>
		<feature dependency="true">openhab.tp-xtext-ide</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.rule.ide/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-script" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-automation-module-script-rulesupport</feature>
		<feature>openhab-core-model-persistence</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.script/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.script.runtime/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-script-ide" version="${project.version}">
		<feature dependency="true">openhab-core-model-script</feature>

		<requirement>openhab.tp;filter:="(feature=xtext-ide)"</requirement>
		<feature dependency="true">openhab.tp-xtext-ide</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.script.ide/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-sitemap" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab.inc-model-core</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.sitemap/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.sitemap.runtime/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-sitemap-ide" version="${project.version}">
		<feature dependency="true">openhab-core-model-sitemap</feature>

		<requirement>openhab.tp;filter:="(feature=xtext-ide)"</requirement>
		<feature dependency="true">openhab.tp-xtext-ide</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.sitemap.ide/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-thing" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-model-item</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.thing/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.thing.runtime/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-thing-ide" version="${project.version}">
		<feature dependency="true">openhab-core-model-thing</feature>

		<requirement>openhab.tp;filter:="(feature=xtext-ide)"</requirement>
		<feature dependency="true">openhab.tp-xtext-ide</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.thing.ide/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-model-lsp" version="${project.version}">

		<requirement>openhab.tp;filter:="(&amp;(feature=xtext-ide)(version&gt;=2.29.0)(!(version&gt;=2.30.0)))"</requirement>
		<feature dependency="true">openhab.tp-xtext-ide</feature>

		<requirement>openhab.tp;filter:="(&amp;(feature=lsp4j)(version&gt;=0.19.0)(!(version&gt;=0.20.0)))"</requirement>
		<feature dependency="true">openhab.tp-lsp4j</feature>

		<feature>openhab-core-model-item-ide</feature>
		<feature>openhab-core-model-persistence-ide</feature>
		<feature>openhab-core-model-rule-ide</feature>
		<feature>openhab-core-model-script-ide</feature>
		<feature>openhab-core-model-sitemap-ide</feature>
		<feature>openhab-core-model-thing-ide</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.lsp/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-storage-json" version="${project.version}">
		<feature>openhab-core-base</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.storage.json/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-ui" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-model-item</feature>
		<feature>openhab-core-model-sitemap</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.ui/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.rest.ui/${project.version}</bundle>
	</feature>

	<feature name="openhab-core-ui-icon" version="${project.version}">
		<feature>openhab-core-base</feature>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.ui.icon/${project.version}</bundle>
	</feature>

	<feature name="openhab-runtime-base" description="openHAB Runtime Base" version="${project.version}">
		<feature>openhab-core-base</feature>
		<feature>openhab-core-addon-marketplace</feature>
		<feature>openhab-core-auth-jaas</feature>
		<feature>openhab-core-automation-rest</feature>
		<feature>openhab-core-automation-module-script</feature>
		<feature>openhab-core-automation-module-script-rulesupport</feature>
		<feature>openhab-core-automation-module-media</feature>
		<feature>openhab-core-io-console-karaf</feature>
		<feature>openhab-core-io-http-auth</feature>
		<feature>openhab-core-io-rest-audio</feature>
		<feature>openhab-core-io-rest-auth</feature>
		<feature>openhab-core-io-rest-mdns</feature>
		<feature>openhab-core-io-rest-sitemap</feature>
		<feature>openhab-core-io-rest-swagger</feature>
		<feature>openhab-core-io-rest-transform</feature>
		<feature>openhab-core-io-rest-voice</feature>
		<feature>openhab-core-io-websocket</feature>
		<feature>openhab-core-model-lsp</feature>
		<feature>openhab-core-model-item</feature>
		<feature>openhab-core-model-persistence</feature>
		<feature>openhab-core-model-rule</feature>
		<feature>openhab-core-model-script</feature>
		<feature>openhab-core-model-sitemap</feature>
		<feature>openhab-core-model-thing</feature>
		<feature>openhab-core-ui-icon</feature>
		<feature>openhab-core-storage-json</feature>
		<feature>openhab-runtime-certificate</feature>
		<feature>openhab-transport-mdns</feature>
		<feature>openhab-transport-http</feature>
		<feature prerequisite="true">shell</feature>
		<feature prerequisite="true">wrapper</feature>
		<feature prerequisite="true">jaas</feature>
		<!-- This bundle needs to be started early as it registers the 404 and startup pages on Jetty -->
		<!-- It is temporarily disabled due to https://github.com/openhab/openhab-core/issues/422 -->
		<!-- <bundle start-level="30">mvn:org.openhab.core.bundles/org.openhab.ui.start/${project.version}</bundle> -->
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.karaf/${project.version}</bundle>
		<config name="org.openhab.audio">
			defaultSink = enhancedjavasound
		</config>
		<config name="org.openhab.voice">
			defaultHLI = rulehli
		</config>
	</feature>

	<feature name="openhab-runtime-certificate" description="SSL Certificate Generator" version="${project.version}">
		<bundle start-level="20">mvn:org.openhab.core.bundles/org.openhab.core.io.jetty.certificate/${project.version}</bundle>
	</feature>

	<feature name="openhab-transport-coap" description="CoAP Transport" version="${project.version}">
		<feature>openhab-core-io-transport-coap</feature>
	</feature>

	<feature name="openhab-transport-http" description="HTTP Transport" version="${project.version}">
		<capability>openhab.tp;feature=httpclient;version=${jetty.version}</capability>
		<feature>openhab-core-auth-oauth2client</feature>
		<bundle dependency="true">mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
		<bundle dependency="true">mvn:org.eclipse.jetty/jetty-client/${jetty.version}</bundle>
		<bundle dependency="true">mvn:org.eclipse.jetty/jetty-http/${jetty.version}</bundle>
		<bundle dependency="true">mvn:org.eclipse.jetty/jetty-util/${jetty.version}</bundle>
		<bundle dependency="true">mvn:org.eclipse.jetty/jetty-io/${jetty.version}</bundle>
		<bundle dependency="true">mvn:org.eclipse.jetty/jetty-proxy/${jetty.version}</bundle>
		<bundle dependency="true">mvn:org.eclipse.jetty.websocket/websocket-api/${jetty.version}</bundle>
		<bundle dependency="true">mvn:org.eclipse.jetty.websocket/websocket-common/${jetty.version}</bundle>
		<bundle dependency="true">mvn:org.eclipse.jetty.websocket/websocket-client/${jetty.version}</bundle>
	</feature>

	<feature name="openhab-transport-mdns" description="mDNS Transport" version="${project.version}">
		<feature>openhab-core-io-transport-mdns</feature>
	</feature>

	<feature name="openhab-transport-modbus" description="Modbus Transport" version="${project.version}">
		<feature>openhab-core-io-transport-modbus</feature>
	</feature>

	<feature name="openhab-transport-mqtt" description="MQTT Transport" version="${project.version}">
		<feature>openhab-core-io-transport-mqtt</feature>
	</feature>

	<feature name="openhab-transport-serial" description="Serial Transport" version="${project.version}">
		<feature>openhab-core-base</feature>

		<requirement>osgi.service;filter:="(objectClass=org.openhab.core.io.transport.serial.SerialPortManager)"</requirement>
		<requirement>osgi.service;filter:="(objectClass=org.openhab.core.io.transport.serial.SerialPortProvider)"</requirement>

		<requirement>openhab.tp;filter:="(feature=commons-net)"</requirement>
		<feature dependency="true">openhab.tp-commons-net</feature>

		<requirement>openhab.tp;filter:="(&amp;(feature=serial)(impl=rxtx))"</requirement>
		<feature dependency="true">openhab.tp-serial-rxtx</feature>

		<feature dependency="true">openhab-core-io-transport-mdns</feature>

		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.config.serial/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.config.discovery.usbserial/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.config.discovery.usbserial.linuxsysfs/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.config.discovery.usbserial.ser2net/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.transport.serial/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.transport.serial.rxtx/${project.version}</bundle>
		<bundle>mvn:org.openhab.core.bundles/org.openhab.core.io.transport.serial.rxtx.rfc2217/${project.version}</bundle>
	</feature>

	<feature name="openhab-transport-upnp" description="UPnP Transport" version="${project.version}">
		<feature>openhab-core-io-transport-upnp</feature>
	</feature>

</features>
