<?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.    
-->
<feature
      id="org.apache.ivyde.eclipse.resolvevisualizer.feature"
      label="%featureName"
      version="2.3.0.qualifier"
      provider-name="%providerName">

   <description url="http://ant.apache.org/ivy/ivyde/">
      %description
   </description>

   <copyright>
      Copyright © 2014 The Apache Software Foundation
   </copyright>

   <license url="http://www.apache.org/licenses/LICENSE-2.0">
      %license
   </license>

   <url>
      <update label="%updateSiteName" url="http://www.apache.org/dist/ant/ivyde/updatesite"/>
      <discovery label="%updateSiteName" url="http://www.apache.org/dist/ant/ivyde/updatesite"/>
   </url>

   <requires>
      <import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
      <import plugin="org.eclipse.core.runtime" version="3.4.0" match="compatible"/>
      <import plugin="org.apache.ivyde.eclipse" version="2.3.0" match="equivalent"/>
      <import plugin="org.eclipse.zest.core" version="1.2.0" match="compatible"/>
      <import plugin="org.eclipse.zest.layouts" version="1.1.0" match="compatible"/>
      <import plugin="org.eclipse.jdt.core" version="3.4.0" match="compatible"/>
      <import plugin="org.eclipse.core.resources" version="3.4.0" match="compatible"/>
      <import plugin="org.eclipse.ui.forms" version="3.4.0" match="compatible"/>
      <import plugin="org.apache.ivy" version="2.1.0" match="compatible"/>
   </requires>

   <plugin
         id="org.apache.ivyde.eclipse.resolvevisualizer"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

</feature>
