<?xml version="1.0" encoding="UTF-8"?>
<feature
      id="org.eclipse.mylyn.java_feature"
      label="%featureName"
      version="3.1.1.qualifier"
      provider-name="%providerName"
      plugin="org.eclipse.mylyn">

   <description url="http://eclipse.org/mylyn">
      %description
   </description>

   <copyright>
      %copyright
   </copyright>

   <license url="license.html">
      %license
   </license>

   <url>
      <update label="%updateSiteName" url="http://download.eclipse.org/tools/mylyn/update/e3.3"/>
   </url>

   <requires>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.debug.ui"/>
      <import plugin="org.eclipse.jdt.core"/>
      <import plugin="org.eclipse.jdt.debug"/>
      <import plugin="org.eclipse.jdt.debug.ui"/>
      <import plugin="org.eclipse.jdt.junit"/>
      <import plugin="org.eclipse.jdt.launching"/>
      <import plugin="org.eclipse.jdt.ui"/>
      <import plugin="org.eclipse.jface.text"/>
      <import plugin="org.eclipse.search"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.ui.editors"/>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.ui.forms"/>
      <import plugin="org.eclipse.ui.views"/>
      <import plugin="org.eclipse.ui.workbench.texteditor"/>
      <import plugin="org.eclipse.mylyn.context.core" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.mylyn.context.ui" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.mylyn.commons.core" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.mylyn.commons.ui" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.mylyn.monitor.ui" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.mylyn.resources.ui" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.mylyn.monitor.core" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.mylyn.tasks.ui" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.mylyn.ide.ui" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.mylyn.tasks.core" version="3.0.0" match="compatible"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.ui.navigator"/>
      <import plugin="org.eclipse.ant.ui"/>
      <import feature="org.eclipse.mylyn.context_feature" version="3.1.1.qualifier" match="perfect"/>
      <import plugin="org.eclipse.ui.ide" version="3.3.0" match="equivalent"/>
      <import feature="org.eclipse.jdt" version="3.3.0" match="equivalent"/>
   </requires>

   <plugin
         id="org.eclipse.mylyn.java.ui"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.mylyn.java.tasks"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.mylyn.ide.ui"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.mylyn.ide.ant"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

</feature>
