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

	<extension-point id="exceptionhandlers" name="Exception Handlers" schema="schema/exceptionhandlers.exsd"/>


<!-- =================================================================================== -->
<!-- Extension: Antlauncher                                                              -->
<!-- =================================================================================== -->  
   <extension point="org.objectstyle.wolips.ant.antlaunchers">
	  <antlauncher
		id="org.objectstyle.wolips.ant.antlauncher"
         name="Default Ant Launcher"
         class="org.objectstyle.wolips.launching.antlauncher.internal.DefaultAntlauncher"/>
   </extension>
<!-- =================================================================================== -->
<!-- Extension: Launch configuration types                                               -->
<!-- =================================================================================== -->
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            delegate="org.objectstyle.wolips.launching.delegates.WOJavaLocalApplicationLaunchConfigurationDelegate"
            name="WOApplication"
            id="org.objectstyle.wolips.launching.WOLocalJavaApplication"
            modes="run, debug"
            sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
            sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
      </launchConfigurationType>
   </extension>
<!-- =================================================================================== -->
<!-- Extension: Launch configuration images                                               -->
<!-- =================================================================================== -->
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            icon="icons/launching/WOLips16-16.png"
            configTypeID="org.objectstyle.wolips.launching.WOLocalJavaApplication"
            id="org.objectstyle.wolips.launching.WOLocalJavaApplicationImage">
      </launchConfigurationTypeImage>
   </extension>
<!-- =================================================================================== -->
<!-- Extension: Launch configuration tab groups                                           -->
<!-- =================================================================================== -->
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.objectstyle.wolips.launching.WOLocalJavaApplication"
            class="org.objectstyle.wolips.launching.ui.WOLocalJavaApplicationTabGroup"
            description="Launches a local WebObjects Application"
            id="org.objectstyle.wolips.launching.WOLocalJavaApplicationTabGroup">
      </launchConfigurationTabGroup>
   </extension>
<!-- =================================================================================== -->
<!-- Extension: classpath provider                                                       -->
<!-- =================================================================================== -->
   <extension
         point="org.eclipse.jdt.launching.classpathProviders">
      <classpathProvider
            class="org.objectstyle.wolips.launching.classpath.WORuntimeClasspathProvider"
            id="org.objectstyle.wolips.launching.WORuntimeClasspathProvider">
      </classpathProvider>
   </extension>
 
<!-- =================================================================================== -->
<!-- Extension: Launch shortcuts                                                         -->
<!-- =================================================================================== -->
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
  <shortcut
            label="WOApplication"
            icon="icons/launching/WOLips16-16.png"
            modes="run, debug"
            class="org.objectstyle.wolips.launching.actions.WOJavaApplicationLaunchShortcut"
            id="org.objectstyle.wolips.launching.WOJavaApplicationLaunchShortcut">
    <description
     description="Runs a local WOApplication"
     mode="run">
    </description>
    <description
     description="Debugs a local WOApplication"
     mode="debug">
    </description>
  <contextualLaunch>
  <enablement>
    <with variable="selection">
     <count value="1"/>
      <iterate>
       <or>
        <test property="org.eclipse.jdt.launching.hasMain"/>
         <and>
          <test property="org.eclipse.jdt.launching.isContainer"/>
          <test property="org.eclipse.jdt.launching.hasProjectNature" args="org.eclipse.jdt.core.javanature"/>
          <or>
          	<test property="org.eclipse.jdt.launching.hasProjectNature" args="org.objectstyle.wolips.incrementalapplicationnature"/>
          	<test property="org.eclipse.jdt.launching.hasProjectNature" args="org.objectstyle.wolips.antapplicationnature"/>
          </or>
         </and>
        </or>
      </iterate>
     </with>
  </enablement>
  </contextualLaunch>
  <configurationType
    id="org.objectstyle.wolips.launching.WOLocalJavaApplication">
  </configurationType>
  </shortcut>
      <shortcut
            label="Wonder ERXMainRunner"
            icon="icons/launching/WOLips16-16.png"
            modes="run, debug"
            class="org.objectstyle.wolips.launching.actions.ERXMainApplicationLaunchShortcut"
            id="org.objectstyle.wolips.launching.ERXMainApplicationLaunchShortcut">
         <contextualLaunch>
           <enablement>
             <with variable="selection">
               <count value="1"/>
               <iterate>
                 <or>
                   <test property="org.eclipse.debug.ui.matchesPattern" value="*.java"/>
                   <test property="org.eclipse.debug.ui.matchesPattern" value="*.class"/>
                   <instanceof value="org.eclipse.jdt.core.IJavaElement"/>
                 </or>
                 <test property="org.eclipse.jdt.debug.ui.hasMainType"/>
               </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>
         <perspective
               id="org.eclipse.pde.PDEPerspective">
         </perspective>
         <perspective
               id="org.objectstyle.wolips.ui.Perspective">
         </perspective>
      </shortcut>
   </extension>
   <extension point="org.eclipse.debug.ui.consoleLineTrackers">
   	<consoleLineTracker
   		id="org.objectstyle.wolips.launching.errors.ErrorConsoleLineTracker"
		class="org.objectstyle.wolips.launching.errors.ErrorConsoleLineTracker"
		processType="java">
	</consoleLineTracker>
   	<consoleLineTracker
   		id="org.objectstyle.wolips.launching.ConsoleLineTracker"
		class="org.objectstyle.wolips.launching.browsersupport.ConsoleLineTracker"
		processType="java">
	</consoleLineTracker>
   	<consoleLineTracker
   		id="org.objectstyle.wolips.launching.antlauncher.internal.BuildFailedConsoleLineTracker"
		class="org.objectstyle.wolips.launching.antlauncher.internal.BuildFailedConsoleLineTracker"
		processType="org.eclipse.ant.ui.antProcess">
	</consoleLineTracker>
   </extension>
<!-- =================================================================================== -->
<!-- Extension: classpath dynamic variables                                              -->
<!-- =================================================================================== -->
   <extension
         point="org.eclipse.core.variables.dynamicVariables">
      <variable
            name="working_dir_loc_WOLips"
            resolver="org.objectstyle.wolips.launching.variables.WorkingDirResolver"
            description="Resolves the working dir for a WebObjects Application within a WOLips project. Add the ProjectName as the argument.">
      </variable>
   </extension>
<!-- =================================================================================== -->
<!-- Extension: exception handler                                                        -->
<!-- =================================================================================== -->
   <extension
         point="org.objectstyle.wolips.launching.exceptionhandlers">
      <exceptionhandler
            class="org.objectstyle.wolips.launching.exceptionhandler.NSKeyValueCodingUnknownKeyExceptionHandler"
            id="org.objectstyle.wolips.launching.exceptionhandler.NSKeyValueCodingUnknownKeyExceptionHandler"
            name="NSKeyValueCodingUnknownKeyExceptionHandler"/>
   </extension>
   <extension
         point="org.objectstyle.wolips.launching.exceptionhandlers">
      <exceptionhandler
            class="org.objectstyle.wolips.launching.exceptionhandler.WODeclarationFormatExceptionHandler"
            id="org.objectstyle.wolips.launching.exceptionhandler.WODeclarationFormatExceptionHandler"
            name="WODeclarationFormatExceptionHandler"/>
   </extension>
</plugin>
