<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<site>
   <feature 
   		url="[preferred]/directory/ldapstudio/update/features/org.apache.directory.ldapstudio.rcp.feature_0.7.1.jar" 
   		id="org.apache.directory.ldapstudio.rcp.feature" version="0.7.1"
        os="linux,macosx,win32" ws="carbon,gtk,win32" arch="ppc,x86,x86_64">
      <category name="LDAP Studio RCP"/>
   </feature>
   <feature 
   		url="[preferred]/directory/ldapstudio/update/features/org.apache.directory.ldapstudio.browser.feature_0.8.2.jar" 
   		id="org.apache.directory.ldapstudio.browser.feature" version="0.8.2">
      <category name="LDAP Studio Browser"/>
   </feature>
   <feature 
   		url="[preferred]/directory/ldapstudio/update/features/org.apache.directory.ldapstudio.schemas.feature_0.8.2.jar" 
   		id="org.apache.directory.ldapstudio.schemas.feature" version="0.8.2">
      <category name="LDAP Studio Schemas Editor"/>
   </feature>
   <feature 
   		url="[preferred]/directory/ldapstudio/update/features/org.apache.directory.ldapstudio.apacheds.configuration.feature_0.8.1.jar" 
   		id="org.apache.directory.ldapstudio.apacheds.configuration.feature" version="0.8.1">
      <category name="LDAP Studio Apache DS"/>
   </feature>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.aciitemeditor_0.8.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.aciitemeditor_0.8.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.apacheds.configuration.help_0.8.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.apacheds.configuration.help_0.8.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.apacheds.configuration_0.8.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.apacheds.configuration_0.8.0.jar"/>
   <archive
   		path="plugins/org.apache.directory.ldapstudio.browser.common_0.8.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.browser.common_0.8.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.browser.core_0.8.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.browser.core_0.8.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.browser.help_0.6.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.browser.help_0.6.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.browser.ui_0.8.2.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.browser.ui_0.8.2.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.help_0.6.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.help_0.6.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.jars_0.8.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.jars_0.8.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.ldifeditor_0.8.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.ldifeditor_0.8.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.newversion_0.8.2.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.newversion_0.8.2.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.schemas.help_0.6.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.schemas.help_0.6.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.schemas_0.8.2.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.schemas_0.8.2.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio.valueeditors_0.8.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio.valueeditors_0.8.0.jar"/>
   <archive 
   		path="plugins/org.apache.directory.ldapstudio_0.7.0.jar" 
   		url="[preferred]/directory/ldapstudio/update/plugins/org.apache.directory.ldapstudio_0.7.0.jar"/>
   <category-def name="LDAP Studio RCP" label="LDAP Studio RCP">
      <description>
         The LDAP Studio RCP category contains all features related to the LDAP Studio RCP Application.
      </description>
   </category-def>
   <category-def name="LDAP Studio Browser" label="LDAP Studio Browser">
      <description>
         The LDAP Studio Browser category contains all features related to the LDAP Studio Browser.
      </description>
   </category-def>
   <category-def name="LDAP Studio Schemas Editor" label="LDAP Studio Schemas Editor">
      <description>
         The LDAP Studio Schemas category contains all features related to the LDAP Studio Schemas Editor.
      </description>
   </category-def>
   <category-def name="LDAP Studio Apache DS" label="LDAP Studio Apache DS">
      <description>
         The LDAP Studio Apache DS category contains all features related to Apache DS.
      </description>
   </category-def>
</site>
