<?xml version="1.0" encoding="UTF-8"?>
<feature
      id="org.eclipse.gmf.tests"
      label="%featureName"
      version="2.4.0.qualifier"
      provider-name="%providerName">

   <description url="http://www.example.com/description">
      %description
   </description>

   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
      Copyright (c) 2002-2010 IBM Corporation and others.
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
   </copyright>

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

   <url>
      <update label="%updateSiteName" url="http://download.eclipse.org/modeling/gmf/updates/releases/"/>
   </url>

   <includes
         id="org.eclipse.gmf.tests.source"
         version="0.0.0"/>

   <requires>
      <import plugin="org.eclipse.core.runtime" version="3.3.0" match="compatible"/>
      <import plugin="org.eclipse.core.resources" version="3.3.0" match="compatible"/>
      <import plugin="org.eclipse.jdt.core" version="3.3.0" match="compatible"/>
      <import plugin="org.junit" version="3.8.0" match="compatible"/>
      <import plugin="org.eclipse.jface" version="3.3.0" match="compatible"/>
      <import plugin="org.eclipse.gef" version="3.2.0" match="compatible"/>
      <import plugin="org.eclipse.emf.validation" version="1.1.0" match="compatible"/>
      <import plugin="org.eclipse.ui.ide" version="3.3.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.bridge" version="1.1.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.bridge.ui" version="1.1.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.runtime.diagram.ui" version="1.0.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.runtime.emf.commands.core" version="1.0.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.graphdef.codegen" version="2.0.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.tooldef" version="2.0.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.validate" version="1.1.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.map.edit" version="2.0.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.codegen" version="2.0.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.xpand" version="2.1.0" match="compatible"/>
      <import plugin="org.eclipse.ant.core" version="3.2.0" match="compatible"/>
      <import plugin="org.eclipse.gmf.xpand.editor" version="2.1.0" match="compatible"/>
      <import plugin="org.eclipse.ocl.ecore"/>
      <import plugin="org.eclipse.m2m.qvt.oml.runtime"/>
   </requires>

   <plugin
         id="org.eclipse.test"
         download-size="0"
         install-size="0"
         version="0.0.0"/>

   <plugin
         id="org.eclipse.ant.optional.junit"
         download-size="0"
         install-size="0"
         version="0.0.0"
         fragment="true"/>

   <plugin
         id="org.eclipse.gmf.tests"
         download-size="0"
         install-size="0"
         version="0.0.0"/>

   <plugin
         id="org.eclipse.gmf.tests.xpand"
         download-size="0"
         install-size="0"
         version="0.0.0"/>

</feature>
