<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
     Copyright (c) 2005, 2013 IBM Corporation and others.

     This program and the accompanying materials
     are made available under the terms of the Eclipse Public License 2.0
     which accompanies this distribution, and is available at
     https://www.eclipse.org/legal/epl-2.0/

     SPDX-License-Identifier: EPL-2.0

     Contributors:
         IBM Corporation - initial API and implementation
 -->

<plugin>

     <extension
         point="org.eclipse.jdt.launching.classpathProviders">
      <classpathProvider
            class="org.eclipse.jdt.debug.testplugin.EmptyClasspathProvider"
            id="org.eclipse.jdt.debug.tests.EmptyClasspathProvider">
      </classpathProvider>
   </extension>
   <extension
         point="org.eclipse.debug.ui.consoleLineTrackers">
      <consoleLineTracker
            class="org.eclipse.jdt.debug.testplugin.ConsoleLineTracker"
            processType="java"
            id="org.eclipse.jdt.debug.tests.ConsoleLineTracker">
      </consoleLineTracker>
   </extension>
   <extension
         point="org.eclipse.jdt.core.classpathVariableInitializer">
      <classpathVariableInitializer
            variable="NULL_VARIABLE"
            class="org.eclipse.jdt.debug.testplugin.NullVariableInitializer">
      </classpathVariableInitializer>
   </extension>
   <extension
         point="org.eclipse.debug.core.launchModes">
      <launchMode
            label="%launchMode.label"
            mode="TEST_MODE">
      </launchMode>
      <launchMode
            label="%launchMode.label.0"
            mode="alternate">
      </launchMode>
      <launchMode
            label="%launchMode.label.1"
            mode="alternate2">
      </launchMode>
   </extension>
   <extension
         point="org.eclipse.debug.core.launchDelegates">
      <launchDelegate
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestModeLaunchDelegate"
            type="org.eclipse.jdt.launching.localJavaApplication"
            modes="TEST_MODE"
            id="org.eclipse.jdt.debug.tests.testModeLaunchDelegate">
      </launchDelegate>
      <launchDelegate
            sourceLocatorId="org.eclipse.jdt.debug.tests.testSourceLocator"
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestLaunchDelegate"
            type="org.eclipse.jdt.debug.tests.testConfigType"
            sourcePathComputerId="org.eclipse.jdt.debug.tests.testSourcePathComputer"
            modes="debug"
            id="org.eclipse.jdt.debug.tests.testSourceDelegate"/>
      <launchDelegate
            delegate="org.eclipse.jdt.debug.testplugin.AlternateDelegate"
            id="org.eclipse.jdt.debug.tests.alternateDelegate"
            modes="alternate"
            name="%launchDelegate.name"
            type="org.eclipse.jdt.launching.localJavaApplication">
         <modeCombination
               modes="alternate, debug">
         </modeCombination>
         <modeCombination
               modes="debug, alternate2">
         </modeCombination>
         <modeCombination
               modes="alternate2, debug, alternate">
         </modeCombination>
      </launchDelegate>
      <launchDelegate
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestLaunchDelegate1"
            id="org.eclipse.jdt.debug.tests.testDelegate1"
            modes="alternate2"
            name="%launchDelegate.name.0"
            type="org.eclipse.jdt.launching.localJavaApplication">
      </launchDelegate>
      <launchDelegate
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestLaunchDelegate2"
            id="org.eclipse.jdt.debug.tests.testtDelegate2"
            modes="alternate2"
            name="%launchDelegate.name.1"
            type="org.eclipse.jdt.launching.localJavaApplication">
      </launchDelegate>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.eclipse.jdt.launching.localJavaApplication"
            class="org.eclipse.jdt.debug.testplugin.launching.TestJavaApplicationTabGroup"
            id="org.eclipse.jdt.debug.tests.launchConfigurationTabGroup.testJavaApplication">
         <launchMode
               perspective="org.eclipse.jdt.ui.JavaPerspective"
               mode="TEST_MODE">
         </launchMode>
      </launchConfigurationTabGroup>
   </extension>
   <extension
         point="org.eclipse.core.variables.valueVariables">
      <variable
            initializerClass="org.eclipse.jdt.debug.testplugin.ValueVariableInitializer"
            name="VALUE_VAR_WITH_INITIALIZER"
            description="%variable.description">
      </variable>
      <variable
            initialValue="initial-value"
            name="VALUE_VAR_WITH_VALUE"
            description="%variable.description.0">
      </variable>
      <variable
            description="%variable.description.1"
            initializerClass="org.eclipse.jdt.debug.testplugin.ValueVariableInitializer"
            name="VALUE_VAR_WITH_INITIALIZER_READ_ONLY"
            readOnly="true">
      </variable>
      <variable
            description="%variable.description.2"
            initialValue="initial-value"
            name="VALUE_VAR_WITH_VALUE_READ_ONLY"
            readOnly="true">
      </variable>
   </extension>
   <extension
         point="org.eclipse.core.variables.dynamicVariables">
      <variable
            name="SAMPLE_DYNAMIC_VAR"
            description="%variable.description.3"
            resolver="org.eclipse.jdt.debug.testplugin.SampleDynamicVariableResolver">
      </variable>
   </extension>
   <extension
         id="messageConsoleActionSet"
         name="%extension.name"
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%actionSet.label"
            description="%actionSet.description"
            id="org.eclipse.jdt.debug.tests.messageConsoleActionSet">
         <menu
               label="%menu.label"
               path="additions"
               id="org.eclipse.ui.run">
            <separator
                  name="TestGroup">
            </separator>
         </menu>
         <action
               label="%action.label"
               class="org.eclipse.jdt.debug.tests.console.TestBufferredOutputActionDelegate"
               menubarPath="org.eclipse.ui.run/TestGroup"
               id="org.eclipse.jdt.debug.tests.testBufferredOutputAction">
         </action>
         <action
               label="%action.label.0"
               class="org.eclipse.jdt.debug.tests.console.TestMessageConsoleActionDelegate"
               menubarPath="org.eclipse.ui.run/TestGroup"
               id="org.eclipse.jdt.debug.tests.testMessageConsoleAction">
         </action>
         <action
               label="%action.label.1"
               class="org.eclipse.jdt.debug.tests.console.TestShowConsoleActionDelegate"
               menubarPath="org.eclipse.ui.run/TestGroup"
               id="org.eclipse.jdt.debug.tests.testShowConsoleAction">
         </action>
      </actionSet>
      <actionSet
            label="%actionSet.label.0"
            description="%actionSet.description.0"
            id="org.eclipse.jdt.debug.tests.ioConsoleTest">
         <menu
               label="%menu.label.0"
               path="additions"
               id="org.eclipse.ui.run"/>
         <action
               label="%action.label.2"
               class="org.eclipse.jdt.debug.tests.console.IOConsoleEchoActionDelegate"
               menubarPath="org.eclipse.ui.run/IOConsoleTestGroup"
               id="org.eclipse.jdt.debug.tests.echoTest"/>
         <action
               label="%action.label.3"
               class="org.eclipse.jdt.debug.tests.console.IOConsoleMultipleStreamActionDelegate"
               menubarPath="org.eclipse.ui.run/IOConsoleTestGroup"
               id="org.eclipse.jdt.debug.tests.outputTest"/>
         <action
               label="%action.label.4"
               class="org.eclipse.jdt.debug.tests.console.IOConsoleOutputActionDelegate"
               menubarPath="org.eclipse.ui.run/IOConsoleTestGroup"
               id="org.eclipse.jdt.debug.tests.outputTest"/>
         <action
               label="%action.label.5"
               class="org.eclipse.jdt.debug.tests.console.IOConsoleHyperlinkActionDelegate"
               menubarPath="org.eclipse.ui.run/IOConsoleTestGroup"
               id="org.eclipse.jdt.debug.tests.hyperlinkTest"/>

      </actionSet>
   </extension>
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            name="%launchConfigurationType.name"
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestLaunchDelegate"
            modes="run"
            id="org.eclipse.jdt.debug.tests.testConfigType">
      </launchConfigurationType>
   </extension>
   <extension
         point="org.eclipse.debug.core.statusHandlers">
      <statusHandler
            code="1000"
            plugin="org.eclipse.jdt.debug.tests"
            class="org.eclipse.jdt.debug.tests.ui.performance.JavaApplicationStatusHandler"
            id="org.eclipse.jdt.debug.tests.performance.statusHandler.JavaApplication">
      </statusHandler>
   </extension>


   <extension
         point="org.eclipse.debug.core.sourceLocators">
      <sourceLocator
            class="org.eclipse.jdt.debug.testplugin.TestSourceLocator"
            name="%sourceLocator.name"
            id="org.eclipse.jdt.debug.tests.testSourceLocator"/>
   </extension>
   <extension
         point="org.eclipse.debug.core.sourcePathComputers">
      <sourcePathComputer
            class="org.eclipse.jdt.debug.testplugin.launching.SourcePathComputerDelegate1"
            id="org.eclipse.jdt.debug.tests.testSourcePathComputer"/>
   </extension>
   <extension
         point="org.eclipse.jdt.core.classpathContainerInitializer">
      <classpathContainerInitializer
            class="org.eclipse.jdt.debug.testplugin.TestClasspathContainerInitializer"
            id="org.eclipse.jdt.debug.tests.TestClasspathContainer"/>
   </extension>
   <extension
         point="org.eclipse.jdt.launching.executionEnvironments">
      <environment
            description="%environment.description"
            id="org.eclipse.jdt.debug.tests.environment.j2se14x"
            ruleParticipant="org.eclipse.jdt.debug.testplugin.AccessRuleParticipant"/>
      <environment
            description="%environment.description.0"
            id="org.eclipse.jdt.debug.tests.environment.j2se13x"/>
      <ruleParticipant
            class="org.eclipse.jdt.debug.testplugin.SecondaryAccessRuleParticipant"
            id="org.eclipse.jdt.debug.tests.secondaryRuleParticipant">
      </ruleParticipant>
      <environment
            description="%environment.description.1"
            id="org.eclipse.jdt.debug.tests.environment.j2se15x"
            ruleParticipant="org.eclipse.jdt.debug.testplugin.AccessRuleParticipant">
      </environment>
      <environment
            description="%environment.description.2"
            id="org.eclipse.jdt.debug.tests.systemPackages"
            profileProperties="testresources/systempackage.profile">
      </environment>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <view
            class="org.eclipse.jdt.debug.testplugin.ContextView"
			id="org.eclipse.jdt.debug.tests.context.view.one"
            name="%view.name"/>
      <view
            class="org.eclipse.jdt.debug.testplugin.ContextView"
            id="org.eclipse.jdt.debug.tests.context.view.two"
            name="%view.name.0"/>
      <view
            class="org.eclipse.jdt.debug.testplugin.ContextView"
            id="org.eclipse.jdt.debug.tests.context.view.three"
            name="%view.name.1"/>
   </extension>
  <extension
        point="org.eclipse.debug.ui.contextViewBindings">
     <contextViewBinding
           autoClose="false"
           contextId="org.eclipse.jdt.debug.ui.debugging"
           viewId="org.eclipse.jdt.debug.tests.context.view.one">
     </contextViewBinding>
     <contextViewBinding
            viewId="org.eclipse.jdt.debug.tests.context.view.two"
            contextId="org.eclipse.jdt.debug.ui.debugging"
            >
     </contextViewBinding>
  </extension>
  <extension
        point="org.eclipse.debug.ui.launchConfigurationTabs">
     <tab
           class="org.eclipse.jdt.debug.testplugin.JavaAlernateModeTab"
           group="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
           id="org.eclipse.jdt.debug.tests.alteranateTab"
           name="Alterante Tab">
        <placement
              after="org.nonexistant.tab.placement">
        </placement>
     </tab>
     <tab
           class="org.eclipse.jdt.debug.testplugin.launching.ContributedTestTab1"
           group="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
           id="org.eclipse.jdt.debug.tests.testTab1"
           name="Test Tab 1">
        <placement
              after="org.eclipse.jdt.debug.ui.javaMainTab">
        </placement>
     </tab>
     <tab
           class="org.eclipse.jdt.debug.testplugin.launching.ContributedTestTab2"
           group="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
           id="org.eclipse.jdt.debug.tests.TestTab2"
           name="Test Tab 2">
        <placement
              after="org.eclipse.jdt.debug.ui.javaArgumentsTab">
        </placement>
     </tab>
     <tab
           class="org.eclipse.jdt.debug.testplugin.launching.ContributedTestTab3"
           group="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
           id="org.eclipse.jdt.debug.tests.TestTab3"
           name="Test Tab 3">
        <placement
              after="org.eclipse.jdt.debug.ui.javaArgumentsTab">
        </placement>
     </tab>
  </extension>
  <extension
        point="org.eclipse.debug.ui.launchShortcuts">
     <shortcut
           category="testing"
           class="org.eclipse.jdt.debug.testplugin.launching.TestLaunchShortcut"
           description="%shortcut.description"
           helpContextId="testing.help.id"
           id="org.eclipse.jdt.debug.tests.testShortCut"
           label="%shortcut.label"
           modes="run, debug"
           path="test/testing">
        <perspective
              id="org.eclipse.debug.ui.DebugPerspective">
        </perspective>
        <configurationType
              id="org.eclipse.jdt.launching.localJavaApplication">
        </configurationType>
        <description
              description="%description.description"
              mode="run">
        </description>
     </shortcut>
     <shortcut
           class="org.eclipse.jdt.debug.testplugin.launching.ParticipantLaunchShortcut"
           description="%shortcut.description.0"
           id="org.eclipse.jdt.debug.tests.participantShortcut"
           label="%shortcut.label.0"
           modes="run, debug, profile">
        <configurationType
              id="org.eclipse.jdt.debug.tests.testConfigType">
        </configurationType>
        <contextualLaunch>
           <contextLabel
                 label="%contextLabel.label"
                 mode="run">
           </contextLabel>
           <contextLabel
                 label="%contextLabel.label.0"
                 mode="debug">
           </contextLabel>
           <contextLabel
                 label="%contextLabel.label.1"
                 mode="profile">
           </contextLabel>
           <enablement>
              <with
                    variable="selection">
                 <iterate>
                    <or>
                       <test
                             property="org.eclipse.debug.ui.matchesPattern"
                             value="*.foox">
                       </test>
                       <not>
                          <adapt
                                type="org.eclipse.core.resources.IResource">
                          </adapt>
                       </not>
                    </or>
                 </iterate>
              </with>
           </enablement>
        </contextualLaunch>
     </shortcut>
  </extension>
  <extension
        point="org.eclipse.debug.ui.detailPaneFactories">
     <detailFactories
           class="org.eclipse.jdt.debug.testplugin.detailpane.TestDetailPaneFactory"
           id="testDetailPaneFactory">
        <enablement>
            <or>
           		<with variable="selection">
         	    	<not>
                  <or>
                     <count
                           value="0">
                     </count>
                     <count
                           value="1">
                     </count>
                  </or>
          	    	</not>
            	</with>
             <with
                   variable="selection">
                <iterate>
                   <instanceof
                         value="org.eclipse.jdt.debug.core.IJavaVariable">
                   </instanceof>
                </iterate>
             </with>
            </or>
         </enablement>
     </detailFactories>
  </extension>
  <extension
        point="org.eclipse.core.runtime.adapters">
     <factory
           adaptableType="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer">
        <adapter
              type="org.eclipse.debug.ui.actions.ILaunchable">
        </adapter>
     </factory>
  </extension>
  <extension
        point="org.eclipse.debug.ui.launchConfigurationTabGroups">
     <launchConfigurationTabGroup
           class="org.eclipse.jdt.debug.testplugin.launching.TestTabGroup"
           description="%launchConfigurationTabGroup.description"
           id="org.eclipse.jdt.debug.tests.testTabGroup"
           type="org.eclipse.jdt.debug.tests.testConfigType">
     </launchConfigurationTabGroup>
  </extension>
  <extension
        point="org.eclipse.jdt.debug.breakpointListeners">
     <breakpointListener
           class="org.eclipse.jdt.debug.testplugin.EvalualtionBreakpointListener"
           id="org.eclipse.jdt.debug.tests.evalListener">
     </breakpointListener>
     <breakpointListener
           class="org.eclipse.jdt.debug.testplugin.ResumeBreakpointListener"
           id="org.eclipse.jdt.debug.tests.resumeListener">
     </breakpointListener>
     <breakpointListener
           class="org.eclipse.jdt.debug.testplugin.GlobalBreakpointListener"
           filter="*"
           id="org.eclipse.jdt.debug.tests.listener.global">
     </breakpointListener>
  </extension>
  <extension
        point="org.eclipse.jdt.launching.libraryLocationResolvers">
     <resolver
           class="org.eclipse.jdt.debug.tests.core.VMInstallTestsLibraryLocationResolver">
     </resolver>
  </extension>
  <extension
        point="org.eclipse.debug.core.stepFilters">
     <stepFilter
           class="org.eclipse.jdt.debug.test.stepping.TestContributedStepFilter"
           modelIdentifier="org.eclipse.jdt.debug">
     </stepFilter>
  </extension>
   <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            name="%DebugViewPerspective"
            class="org.eclipse.jdt.debug.tests.ui.DebugViewPerspectiveFactory"
            id="org.eclipse.jdt.debug.tests.ui.DebugViewPerspectiveFactory">
         <description>
            %DebugViewPerspectiveDescription
         </description>
      </perspective>
   </extension>
</plugin>
