<?xml version="1.0" encoding="UTF-8"?>
<feature
      id="org.eclipse.ecf.remoteservice.sdk.feature"
      label="ECF Remote Services SDK"
      version="3.14.20.qualifier"
      provider-name="%providerName"
      license-feature="org.eclipse.license"
      license-feature-version="0.0.0">

   <description url="http://www.eclipse.org/ecf">
      This feature provides an all-in-one distribution of ECFs implementation
of the OSGi Remote Service (chapter 100) and
Remote Service Admin (chapter 122) standards.  Included are multiple
discovery and 
remote services provider implementations, allowing the remote
service developer to modularly select, use, or
create for themselves implementations needed to discover and use
OSGi Remote Services and Remote Service Admin.  For example, discovery based
upon
discovery protocols Zeroconf, SLP, DNSSD, and Zookeeper are present
in this distribution.  Also present are 
multiple distribution providers such as r-OSGi, ECF generic, XML-RPC, SOAP,
and multiple REST-based transports.  The SDK also supports the
creation
of custom discovery and/or distribution providers via open, community-tested and maintained 
APIs.
Also included in this SDK is a distributed implementation of
the OSGi Event Admin service.  Note that the contents of this
feature do not require Eclipse or Equinox specifically, but rather
may be run
on other frameworks (e.g. Felix) and with other tools.  For tutorials, examples, and documentation about OSGi Remote Services see

https://wiki.eclipse.org/ECF#OSGi_Remote_Services
   </description>

   <copyright>
      %copyright
   </copyright>

   <license url="%licenseURL">
      %license
   </license>

   <includes
         id="org.eclipse.ecf.remoteservice.rosgi.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.remoteservice.servlet.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.remoteservice.rest.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.server.generic.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.osgi.services.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.discovery.jmdns.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.discovery.slp.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.discovery.zookeeper.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.discovery.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.provider.generic.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.provider.generic.remoteservice.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.sharedobject.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.eventadmin.feature"
         version="0.0.0"/>

   <includes
         id="org.eclipse.ecf.remoteservice.feature"
         version="0.0.0"/>

   <requires>
      <import plugin="org.eclipse.ecf"/>
      <import plugin="org.eclipse.ecf.identity"/>
   </requires>

</feature>
