<?xml version="1.0" encoding="UTF-8"?>
<feature
      id="org.eclipse.ecf.discovery.zookeeper.feature"
      label="ECF Discovery Zookeeper Provider"
      version="1.0.0.qualifier"
      provider-name="%providerName">

   <description url="http://wiki.eclipse.org/Zookeeper_Based_ECF_Discovery">
      This feature provides the Apache Zookeeper Discovery Provider
implementation
   </description>

   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
      /*******************************************************************************
*  Copyright (c)2010 REMAIN B.V. (http://www.remainsoftware.com).
*  All rights reserved. This program and the accompanying materials
*  are made available under the terms of the Eclipse Public License v1.0
*  which accompanies this distribution, and is available at
*  http://www.eclipse.org/legal/epl-v10.html
* 
*  Contributors:
*     Remain Software - initial API and implementation     
*******************************************************************************/
   </copyright>

   <license url="%licenseURL">
      %license
   </license>

   <requires>
      <import plugin="org.apache.log4j"/>
      <import plugin="org.eclipse.equinox.common" version="3.5.0" match="greaterOrEqual"/>
      <import plugin="org.eclipse.ecf.discovery" version="3.0.0" match="greaterOrEqual"/>
      <import plugin="org.eclipse.ecf"/>
      <import plugin="org.eclipse.ecf.identity"/>
      <import plugin="org.eclipse.equinox.concurrent"/>
      <import plugin="org.eclipse.osgi"/>
      <import plugin="org.eclipse.osgi.services"/>
      <import plugin="org.eclipse.equinox.ds"/>
      <import feature="org.eclipse.ecf.discovery.feature" version="1.0.0"/>
   </requires>

   <plugin
         id="org.eclipse.ecf.provider.zookeeper"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.apache.log4j"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.apache.hadoop.zookeeper"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

</feature>
