<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.jdt.ui.tests"
   name="%Plugin.name"
   version="3.2.0.qualifier"
   provider-name="%Plugin.providerName"
   class="org.eclipse.jdt.testplugin.JavaTestPlugin">

   <runtime>
      <library name="javauitests.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.ui.views"/>
      <import plugin="org.junit"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.jdt.core"/>
      <import plugin="org.eclipse.jdt.ui"/>
      <import plugin="org.eclipse.jdt.launching"/>
      <import plugin="org.eclipse.jface.text"/>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.ui.workbench.texteditor"/>
      <import plugin="org.eclipse.ui.editors"/>
      <import plugin="org.eclipse.core.runtime.compatibility"/>
      <import plugin="org.eclipse.search"/>
	  <import plugin="org.eclipse.ltk.core.refactoring"/>
	  <import plugin="org.eclipse.test.performance"/>
	  <import plugin="org.eclipse.jdt.junit.runtime"/>
	  <import plugin="org.eclipse.debug.ui"/>
	  <import plugin="org.eclipse.debug.core"/>
	  <import plugin="org.eclipse.jdt.junit"/>
   </requires>


<!-- **************** TEST DECORATOR ******************* -->
   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            objectClass="org.eclipse.jdt.core.IJavaElement"
            adaptable="true"
            label="%TestLabelDecorator.label"
            state="false"
            class="org.eclipse.jdt.ui.examples.JavaElementDecorator"
            id="org.eclipse.jdt.ui.examples.javaElementDecorator">
      </decorator>
      
      <decorator
		label="%TestLightweightLabelDecorator.label"
		lightweight="true"
		location="BOTTOM_LEFT"		
		state="true"
		class="org.eclipse.jdt.ui.examples.JavaElementLightweightDecorator"
		id="org.eclipse.jdt.ui.examples.javaElementLightweightDecorator">
		<enablement>
			<or>
				<objectClass
					name="org.eclipse.core.resources.IResource">
				</objectClass>         
				<objectClass
					name="org.eclipse.jdt.core.IJavaElement">
				</objectClass>
			</or>                
		</enablement>
	  </decorator>	
      
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <view
            name="MochPluginView"
            class="org.eclipse.jdt.ui.tests.packageview.MockPluginView"
            id="org.eclipse.jdt.ui.tests.packageview.MockPluginView">
      </view>
      <view
            name="MockPluginView"
            class="org.eclipse.jdt.ui.tests.browsing.MockPluginView"
            id="org.eclipse.jdt.ui.tests.browsing.MockPluginView">
      </view>
      <view
            allowMultiple="true"
            class="org.eclipse.jdt.ui.tests.performance.views.MockupPackageExplorerPart"
            id="org.eclipse.jdt.ui.tests.MockPackageExplorer"
            name="Package Explorer Mock View"/>
   </extension>
<!-- **************** TEST MARKER for quick fix ******************* -->
   <extension
         id="testmarker"
         name="jdt-test-problem"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.textmarker">
      </super>
   </extension>
   <extension
         point="org.eclipse.ui.ide.markerResolution">
      <markerResolutionGenerator
            markerType="org.eclipse.jdt.ui.tests.testmarker"
            class="org.eclipse.jdt.ui.tests.quickfix.MarkerResolutionGenerator">
      </markerResolutionGenerator>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.jdt.core.ICompilationUnit"
            id="org.eclipse.jdt.ui.examples.AddTestMarkersAction">
         <action
               label="%AddTestMarkersAction.label"
               tooltip="%AddTestMarkersAction.tooltip"
               class="org.eclipse.jdt.ui.examples.AddTestMarkersAction"
               menubarPath="AddTestMarkers"
               enablesFor="1"
               id="addTestmarkers">
         </action>
      </objectContribution>
   </extension>
   <extension
         point="org.eclipse.jdt.ui.quickFixProcessors">
      <quickFixProcessor
            name="%exampleQuickFixProcessor.name"
            class="org.eclipse.jdt.ui.examples.MyQuickFixProcessor"
            id="org.eclipse.jdt.ui.examples.MyQuickFixProcessor">
         <enablement>
           <with variable="compilationUnit">
            <adapt
                  type="org.eclipse.core.resources.IResource">
               <test
                     value="A.java"
                     property="org.eclipse.jdt.internal.ui.matchesPattern">
               </test>
            </adapt>
           </with>
         </enablement>
      </quickFixProcessor>
   </extension>
   <extension
         point="org.eclipse.jdt.ui.quickAssistProcessors">
      <quickAssistProcessor
            name="%exampleQuickAssistProcessor.name"
            class="org.eclipse.jdt.ui.examples.MyQuickAssistProcessor"
            id="org.eclipse.jdt.ui.examples.MyQuickAssistProcessor">
         <enablement>
           <with variable="projectNatures">
              <iterate operator="or">
                 <equals value="org.eclipse.jdt.core.javanature"/>
              </iterate>
           </with>
         </enablement>
      </quickAssistProcessor>
   </extension>

   <extension
      point="org.eclipse.jdt.core.classpathContainerInitializer">
      <classpathContainerInitializer
            class="org.eclipse.jdt.ui.examples.MyClasspathContainerInitializer"
            id="org.eclipse.jdt.EXAMPLE_CONTAINER">
      </classpathContainerInitializer>
   </extension>
   
   <extension
         point="org.eclipse.jdt.ui.classpathContainerPage">
      <classpathContainerPage
            name="My Example Container"
            class="org.eclipse.jdt.ui.examples.MyClasspathContainerPage"
            id="org.eclipse.jdt.EXAMPLE_CONTAINER">
      </classpathContainerPage>
   </extension>
   
   <!-- **************** TEST NEW PROJECT WIZARD ******************* -->
   <extension 
	point="org.eclipse.ui.newWizards">
  	<wizard
		id="org.eclipse.jdt.ui.examples.MyProjectCreationWizard"
		name="In/Out Project (jdt.ui.tests)"
		class="org.eclipse.jdt.ui.examples.MyProjectCreationWizard"
		category="org.eclipse.jdt.ui.java"
		project="true"
		finalPerspective="org.eclipse.jdt.ui.JavaPerspective">
		<description>In/Out Project (jdt.ui.tests)</description>
    </wizard>	 
</extension>
   
</plugin>
