<?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"
            delegateDescription="%JUnitLaunchDelegate.description"
            delegateName="%JUnitLaunchDelegate.name"
            delegate="org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate"
            modes="run, debug"
            id="org.eclipse.jdt.junit.launchconfig"
            sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
            sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer"
            migrationDelegate="org.eclipse.jdt.internal.junit.launcher.JUnitMigrationDelegate">
      </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.junit.launcher.JUnitLaunchShortcut"
            modes="run, debug"
            id="org.eclipse.jdt.junit.junitShortcut">
         <contextualLaunch>
            <enablement>
               <with variable="selection">
                  <count value="1"/>
               	  <iterate>
                     <adapt type="org.eclipse.jdt.core.IJavaElement">
		                <test property="org.eclipse.jdt.core.isInJavaProject"/>
		                <test property="org.eclipse.jdt.core.hasTypeOnClasspath" value="junit.framework.Test"/>
		                <test property="org.eclipse.jdt.junit.canLaunchAsJUnit" forcePluginActivation="true"/>
		             </adapt>
		          </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>
         <configurationType
               id="org.eclipse.jdt.junit.launchconfig">
         </configurationType>
         <description
               description="%DebugJUnitLaunchShortcut.description"
               mode="debug">
         </description>
         <description
               description="%RunJUnitLaunchShortcut.description"
               mode="run">
         </description>
      </shortcut>
   </extension>
   
   <extension
         point="org.eclipse.jdt.core.classpathVariableInitializer">
      <classpathVariableInitializer
            variable="JUNIT_HOME"
            class="org.eclipse.jdt.internal.junit.buildpath.JUnitHomeInitializer"
            deprecated="%classpathVariableInitializer.deprecated.JUNIT_HOME"
            readOnly="true">
      </classpathVariableInitializer>
      <classpathVariableInitializer
            variable="JUNIT_SRC_HOME"
            class="org.eclipse.jdt.internal.junit.buildpath.JUnitHomeInitializer"
            deprecated="%classpathVariableInitializer.deprecated.JUNIT_SRC_HOME"
            readOnly="true">
      </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.ui.ide.markerResolution">
      <markerResolutionGenerator 
            markerType="org.eclipse.jdt.core.buildpath_problem"
            class="org.eclipse.jdt.internal.junit.buildpath.ClasspathVariableMarkerResolutionGenerator"
            >
            <attribute
                  name="id"
                  value="1010">
                  <!-- org.eclipse.jdt.core.IJavaModelMarker.ID,
                       org.eclipse.jdt.core.IJavaModelStatusConstants.DEPRECATED_VARIABLE -->
            </attribute>
      </markerResolutionGenerator>
   </extension>
   
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            properties="isTest,canLaunchAsJUnit"
            namespace="org.eclipse.jdt.junit"
            type="org.eclipse.core.runtime.IAdaptable"
            class="org.eclipse.jdt.internal.junit.JUnitPropertyTester"
            id="org.eclipse.jdt.junit.JUnitPropertyTester">
      </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"/>
             </iterate>
           </with>
           <with variable="element">
             <instanceof value="org.eclipse.jdt.core.IType"/>
 	         <test property="org.eclipse.jdt.core.hasTypeOnClasspath" value="junit.framework.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"/>
	         <test property="org.eclipse.jdt.core.hasTypeOnClasspath" value="junit.framework.Test"/>
           </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"/>     	
         <runtimeClasspathEntry pluginId="org.eclipse.jdt.junit.runtime"/>     	
      </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" />     	
         <runtimeClasspathEntry pluginId="org.eclipse.jdt.junit.runtime"/>     	
         <!-- END : do we need these? -->
      </kind>
   </extension>
   
</plugin>
