<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>

   <extension-point id="testRunListeners" name="%testRunListeners.name" schema="schema/testRunListeners.exsd"/>
   <extension-point id="junitLaunchConfigs" name="%junitLaunchConfigs.name" schema="schema/junitLaunchConfigs.exsd"/>
   <extension-point id="internal_testKinds" name="%testKinds.name" schema="schema/internal_testKinds.exsd"/>

   <extension
         point="org.eclipse.ui.views">
      <view
            name="%View.label"
            icon="$nl$/icons/full/eview16/junit.gif"
            category="org.eclipse.jdt.ui.java"
            fastViewWidthRatio="0.40"
            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"
               id="org.eclipse.jdt.junit.ResultView"
               relationship="stack">
         </view>
         <newWizardShortcut
               id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
         </newWizardShortcut>
      </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>
         <newWizardShortcut
               id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
         </newWizardShortcut>
      </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">
         <keywordReference id="org.eclipse.jdt.junit.JUnit"/>
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.keywords">
      <keyword
            id="org.eclipse.jdt.junit.JUnit"
            label="%preferenceKeywords.general"/>
   </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"
            sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
            sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
         <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="$nl$/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"
            helpContextId="org.eclipse.jdt.junit.junit_tab_group"
            class="org.eclipse.jdt.internal.junit.launcher.JUnitTabGroup"
            id="org.eclipse.jdt.junit.launchConfigurationTabGroup.junit">
         <launchMode
               perspective="org.eclipse.debug.ui.DebugPerspective"
               description="%JUnitTabGroupDescription.debug"
               mode="debug">
         </launchMode>
         <launchMode
               description="%JUnitTabGroupDescription.run"
               mode="run">
         </launchMode>
      </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="$nl$/icons/full/etool16/new_testcase.gif"
            category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit"
            id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
         <class
               class="org.eclipse.jdt.internal.junit.wizards.NewTestCaseCreationWizard">
            <parameter
                  name="javatype"
                  value="true">
            </parameter>
         </class>
<!-- see bug 48164 for wrong pde compiler warnings -->
         <description>
            %TestWizard.description
         </description>
      </wizard>
      <wizard
            name="%TestSuiteWizard.name"
            icon="$nl$/icons/full/etool16/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="*Tests.java"
            id="org.eclipse.jdt.junit.wizards.UpdateTestSuite">
         <action
               label="%UpdateSuiteAction.label"
               class="org.eclipse.jdt.internal.junit.wizards.UpdateTestSuite"
               tooltip="%UpdateSuiteAction.tooltip"
               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">
         <menu
               label="%searchMenu.label"
               path="navigate"
               id="org.eclipse.search.menu">
				<groupMarker name="internalDialogGroup"/>   <!-- not to be used by clients  -->
				<groupMarker name="dialogGroup"/>           <!-- to be used by clients      -->
				<separator name="fileSearchContextMenuActionsGroup"/> <!-- to be used by clients      -->
	         	<separator name="contextMenuActionsGroup"/> <!-- to be used by clients -->
	         	<separator name="occurencesActionsGroup"/> <!-- to be used by clients -->
	         	<separator name="extraSearchGroup"/> <!-- to be used by clients -->
         </menu>
		<action
               definitionId="org.eclipse.jdt.junit.gotoTest"
               label="%GotoTestAction.label"
               helpContextId="org.eclipse.jdt.junit.goto_referenced_test_action_context"
               class="org.eclipse.jdt.internal.junit.ui.GotoReferencedTestAction"
               tooltip="%GotoTestAction.tooltip"
               menubarPath="org.eclipse.search.menu/extraSearchGroup"
               id="junit.actions.GotoTestAction">
         </action>
      </actionSet>
   </extension>
      <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.jdt.junit.JUnitActionSet">
         <part
               id="org.eclipse.jdt.ui.PackageExplorer">
         </part>
         <part
               id="org.eclipse.jdt.ui.TypeHierarchy">
         </part>
         <part
               id="org.eclipse.jdt.ui.CompilationUnitEditor">
         </part>
         <part
               id="org.eclipse.jdt.ui.ClassFileEditor">
         </part>
         <part
               id="org.eclipse.jdt.ui.ProjectsView">
         </part>
         <part
               id="org.eclipse.jdt.ui.PackagesView">
         </part>
         <part
               id="org.eclipse.jdt.ui.TypesView">
         </part>
         <part
               id="org.eclipse.jdt.ui.MembersView">
         </part>
         <part
               id="org.eclipse.search.SearchResultView">
         </part>
      </actionSetPartAssociation>
   </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="$nl$/icons/full/obj16/julaunch.gif"
            helpContextId="org.eclipse.jdt.junit.launch_shortcut"
            class="org.eclipse.jdt.internal.junit.launcher.JUnitLaunchShortcut"
            modes="run, debug"
            id="org.eclipse.jdt.junit.junitShortcut">
         <contextualLaunch>
            <enablement>
               <with
                     variable="selection">
                  <count
                        value="1">
                  </count>
               		<iterate>
                 		<or>
                 			<test property="org.eclipse.jdt.launching.extendsInterface" args="junit.framework.Test"/>
                 			<test property="org.eclipse.jdt.launching.hasMethod" args="suite, ()QTest;, public static"/>
                 			<and>
                 				<test property="org.eclipse.jdt.launching.isContainer"/>
                 				<test property="org.eclipse.jdt.launching.buildpathReference" args="junit"/>
                 			</and>
                            <test property="org.eclipse.jdt.launching.hasMethodWithAnnotation" args="Test, public"/>
                            <test property="org.eclipse.jdt.launching.hasMethodWithAnnotation" args="Test, public final"/>
                 			<test property="org.eclipse.jdt.launching.hasTypeWithAnnotation" args="RunWith"/>
<!-- TODO: loads plug-in !
	                 		<test property="org.eclipse.jdt.junit.isTest"/>
 -->
                 		</or>
               		</iterate>
               </with>
            </enablement>
         </contextualLaunch>
         <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>
   <extension
         point="org.eclipse.jdt.core.classpathVariableInitializer">
      <classpathVariableInitializer
            variable="JUNIT_HOME"
            class="org.eclipse.jdt.internal.junit.buildpath.JUnitHomeInitializer">
      </classpathVariableInitializer>
      <classpathVariableInitializer
            variable="JUNIT_SRC_HOME"
            class="org.eclipse.jdt.internal.junit.buildpath.JUnitHomeInitializer">
      </classpathVariableInitializer>
   </extension>
   <extension
         point="org.eclipse.jdt.ui.quickFixProcessors">
      <quickFixProcessor
            name="%junitQuickFixProcessor"
            class="org.eclipse.jdt.internal.junit.ui.JUnitQuickFixProcessor"
            id="org.eclipse.jdt.junit.JUnitQuickFixProcessor">
      </quickFixProcessor>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            properties="isTest"
            namespace="org.eclipse.jdt.junit"
            type="org.eclipse.core.runtime.IAdaptable"
            class="org.eclipse.jdt.internal.junit.ui.JavaTypeExtender"
            id="org.eclipse.jdt.junit.ITypeExtender">
      </propertyTester>
   </extension>
   <extension
         point="org.eclipse.ltk.core.refactoring.renameParticipants">
      <renameParticipant
            name="%RenameTypeParticipant.name"
            class="org.eclipse.jdt.internal.junit.refactoring.TypeRenameParticipant"
            id="org.eclipse.jdt.junit.renameTypeParticipant">
         <enablement>
            <with
                  variable="affectedNatures">
               <iterate operator="or">
                  <equals
                        value="org.eclipse.jdt.core.javanature">
                  </equals>
               </iterate>
            </with>
            <with
                  variable="element">
               <instanceof
                     value="org.eclipse.jdt.core.IType">
               </instanceof>
               <test
                     property="org.eclipse.jdt.junit.isTest">
               </test>
            </with>
         </enablement>
      </renameParticipant>
      <renameParticipant
            class="org.eclipse.jdt.internal.junit.refactoring.ProjectRenameParticipant"
            name="%junitRenameParticipant"
            id="org.eclipse.jdt.junit.renameTypeParticipant">
         <enablement>
           <with variable="affectedNatures">
             <iterate operator="or">
               <equals value="org.eclipse.jdt.core.javanature"/>
             </iterate>
           </with>
           <with variable="element">
   	         <instanceof value="org.eclipse.jdt.core.IJavaProject"/>
           </with>
         </enablement>
      </renameParticipant>
      
   </extension>
   <extension
         point="org.eclipse.jdt.junit.junitLaunchConfigs">
      <launchConfigType
            configTypeID="org.eclipse.jdt.junit.launchconfig">
      </launchConfigType>
   </extension>

   <extension
         point="org.eclipse.ui.commands">
      <command
         name="%GotoTestCommand.name"
         description="%GotoTestCommand.description"
         categoryId="org.eclipse.search.ui.category.search"
         id="org.eclipse.jdt.junit.gotoTest">
      </command>
      <command
            name="%ViewCommand.junitView.name"
            description="%ViewCommand.junitView.description"
            categoryId="org.eclipse.ui.category.views"
            id="org.eclipse.jdt.junit.ResultView">
      </command>
      
      <command
            name="%JUnitShortcut.description.run"
            description="%JUnitShortcut.description.run"
            categoryId="org.eclipse.debug.ui.category.run"
            id="org.eclipse.jdt.junit.junitShortcut.run">
      </command>
      <command
            name="%JUnitShortcut.description.debug"
            description="%JUnitShortcut.description.debug"
            categoryId="org.eclipse.debug.ui.category.run"
            id="org.eclipse.jdt.junit.junitShortcut.debug">
      </command>
      <command
            name="%JUnitShortcut.description.rerunLast"
            description="%JUnitShortcut.description.rerunLast"
            categoryId="org.eclipse.debug.ui.category.run"
            id="org.eclipse.jdt.junit.junitShortcut.rerunLast">
      </command>
      <command
            name="%JUnitShortcut.description.rerunFailedFirst"
            description="%JUnitShortcut.description.rerunFailedFirst"
            categoryId="org.eclipse.debug.ui.category.run"
            id="org.eclipse.jdt.junit.junitShortcut.rerunFailedFirst">
      </command>       
   </extension>
   
   <extension
         point="org.eclipse.ui.bindings">
      <key
            sequence="M3+M2+D T"
            commandId="org.eclipse.jdt.junit.junitShortcut.debug"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            sequence="M3+M2+X T"
            commandId="org.eclipse.jdt.junit.junitShortcut.run"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
   </extension>
   
   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer class="org.eclipse.jdt.internal.junit.ui.JunitPreferenceInitializer"/>
   </extension>
   
    <!-- JUnit Container -->
   
   <extension
      point="org.eclipse.jdt.core.classpathContainerInitializer">
      <classpathContainerInitializer
            class="org.eclipse.jdt.internal.junit.buildpath.JUnitContainerInitializer"
            id="org.eclipse.jdt.junit.JUNIT_CONTAINER">
      </classpathContainerInitializer>
   </extension>
   
   <extension
         point="org.eclipse.jdt.ui.classpathContainerPage">
      <classpathContainerPage
            name="%JUnitContainerName"
            class="org.eclipse.jdt.internal.junit.buildpath.JUnitContainerWizardPage"
            id="org.eclipse.jdt.junit.JUNIT_CONTAINER">
      </classpathContainerPage>
   </extension>
   
   <extension
         point="org.eclipse.jdt.junit.internal_testKinds">
      <kind
            id="org.eclipse.jdt.junit.loader.junit3"
            displayName="%testKind.junit3"
            finderClass="org.eclipse.jdt.internal.junit.launcher.JUnit3TestFinder"
            loaderPluginId="org.eclipse.jdt.junit.runtime"
            loaderClass="org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader">
         <runtimeClasspathEntry pluginId="org.eclipse.jdt.junit" pathToJar="junitsupport.jar" />     	
         <runtimeClasspathEntry pluginId="org.eclipse.jdt.junit.runtime" pathToJar="junitruntime.jar" />     	
      </kind>
   </extension>
   <extension
         point="org.eclipse.jdt.junit.internal_testKinds">
      <kind
            id="org.eclipse.jdt.junit.loader.junit4"
            displayName="%testKind.junit4" 
            finderClass="org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder"
            loaderPluginId="org.eclipse.jdt.junit4.runtime"
            loaderClass="org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader">
         <runtimeClasspathEntry pluginId="org.eclipse.jdt.junit4.runtime" />
         <!-- TODO: do we need these? -->
         <runtimeClasspathEntry pluginId="org.eclipse.jdt.junit" pathToJar="junitsupport.jar" />     	
         <runtimeClasspathEntry pluginId="org.eclipse.jdt.junit.runtime" pathToJar="junitruntime.jar" />     	
         <!-- END : do we need these? -->
      </kind>
   </extension>
   
</plugin>
