<?xml version="1.0" encoding="UTF-8"?>
<plugin
   id="org.eclipse.jdt.junit"
   name="%pluginName"
   version="2.1.0"
   provider-name="%providerName"
   class="org.eclipse.jdt.internal.junit.ui.JUnitPlugin">

   <runtime>
      <library name="junitsupport.jar">
         <export name="*"/>
         <packages prefixes="org.eclipse.jdt.internal.junit"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.core.boot"/>
      <import plugin="org.eclipse.debug.core"/>
      <import plugin="org.eclipse.debug.ui"/>
      <import plugin="org.eclipse.jdt.core"/>
      <import plugin="org.eclipse.jdt.ui"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.jdt.launching"/>
      <import plugin="org.eclipse.jdt.debug.ui"/>
      <import plugin="org.junit"/>
   </requires>


   <extension
         point="org.eclipse.ui.views">
      <view
            name="%View.label"
            icon="icons/full/cview16/junit.gif"
            fastViewWidthRatio="0.40"
            category="org.eclipse.jdt.ui.java"
            class="org.eclipse.jdt.internal.junit.ui.TestRunnerViewPart"
            id="org.eclipse.jdt.junit.ResultView">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="org.eclipse.jdt.ui.JavaPerspective">
         <view
               relative="org.eclipse.jdt.ui.PackageExplorer"
               visible="false"
               relationship="stack"
               id="org.eclipse.jdt.junit.ResultView">
         </view>
      </perspectiveExtension>
      <perspectiveExtension
            targetID="org.eclipse.jdt.ui.JavaPerspective">
         <actionSet
               id="org.eclipse.jdt.junit.JUnitActionSet">
         </actionSet>
      </perspectiveExtension>
      <perspectiveExtension
            targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
         <actionSet
               id="org.eclipse.jdt.junit.JUnitActionSet">
         </actionSet>
      </perspectiveExtension>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            name="%PreferencePage.label"
            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
            class="org.eclipse.jdt.internal.junit.ui.JUnitPreferencePage"
            id="org.eclipse.jdt.junit.preferences">
      </page>
   </extension>
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            name="%Launch.label"
            delegate="org.eclipse.jdt.internal.junit.launcher.JUnitLaunchConfiguration"
            modes="run, debug"
            id="org.eclipse.jdt.junit.launchconfig">
         <fileExtension
               default="false"
               extension="java">
         </fileExtension>
         <fileExtension
               default="false"
               extension="class">
         </fileExtension>
      </launchConfigurationType>
   </extension>
   <extension
         point="org.eclipse.debug.core.launchConfigurationComparators">
      <launchConfigurationComparator
            attribute="org.eclipse.jdt.junit.CONTAINER"
            class="org.eclipse.jdt.internal.junit.launcher.ContainerComparator"
            id="org.eclipse.jdt.junit.containerComparator">
      </launchConfigurationComparator>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            icon="icons/full/obj16/julaunch.gif"
            configTypeID="org.eclipse.jdt.junit.launchconfig"
            id="org.eclipse.jdt.junit.launchimage">
      </launchConfigurationTypeImage>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.eclipse.jdt.junit.launchconfig"
            class="org.eclipse.jdt.internal.junit.launcher.JUnitTabGroup"
            id="org.eclipse.jdt.junit.launchConfigurationTabGroup.junit">
      </launchConfigurationTabGroup>
   </extension>
   <extension
         point="org.eclipse.ui.newWizards">
      <category
            name="%WizardCategory.name"
            parentCategory="org.eclipse.jdt.ui.java"
            id="org.eclipse.jdt.junit">
      </category>
      <wizard
            name="%TestCaseWizard.name"
            icon="icons/full/ctool16/new_testcase.gif"
            category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit"
            class="org.eclipse.jdt.internal.junit.wizards.NewTestCaseCreationWizard"
			javatype="true"
            id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
         <description>
            %TestWizard.description
         </description>
      </wizard>
      <wizard
            name="%TestSuiteWizard.name"
            icon="icons/full/ctool16/new_testsuite.gif"
            category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit"
            class="org.eclipse.jdt.internal.junit.wizards.NewTestSuiteCreationWizard"
            id="org.eclipse.jdt.junit.wizards.NewTestSuiteCreationWizard">
         <description>
            %SuiteWizard.description
         </description>
      </wizard>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.jdt.core.ICompilationUnit"
            nameFilter="AllTests.java"
            id="org.eclipse.jdt.junit.wizards.UpdateTestSuite">
         <action
               label="%UpdateSuiteAction.label"
               tooltip="%UpdateSuiteAction.tooltip"
               class="org.eclipse.jdt.internal.junit.wizards.UpdateTestSuite"
               enablesFor="1"
               id="updateTestSuite">
         </action>
      </objectContribution>
   </extension>
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%JUnitActionSet.label"
            visible="false"
            id="org.eclipse.jdt.junit.JUnitActionSet">
         <action
               label="%GotoTestAction.label"
               tooltip="%GotoTestAction.tooltip"
               class="org.eclipse.jdt.internal.junit.ui.GotoReferencedTestAction"
               menubarPath="navigate/goTo/"
               id="junit.actions.GotoTestAction">
         </action>
      </actionSet>
   </extension>
   <extension
         id="junit_task"
         name="%Task.name"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.taskmarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            label="%JUnitShortcut.label"
            icon="icons/full/obj16/julaunch.gif"
            modes="run, debug"
            class="org.eclipse.jdt.internal.junit.launcher.JUnitLaunchShortcut"
            id="org.eclipse.jdt.junit.junitShortcut">
         <perspective
               id="org.eclipse.jdt.ui.JavaPerspective">
         </perspective>
         <perspective
               id="org.eclipse.jdt.ui.JavaHierarchyPerspective">
         </perspective>
         <perspective
               id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
         </perspective>
         <perspective
               id="org.eclipse.debug.ui.DebugPerspective">
         </perspective>
      </shortcut>
   </extension>

</plugin>
