<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
    Copyright (c) 2005, 2010 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.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            category="org.eclipse.ui.externaltools"
            delegate="org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate"
            delegateDescription="%AntLaunchDelegate.description"
            delegateName="%AntLaunchDelegate.name"
            id="org.eclipse.ant.AntLaunchConfigurationType"
            migrationDelegate="org.eclipse.ant.internal.launching.launchConfigurations.AntMigrationDelegate"
            modes="run, debug"
            name="%AntBuild"
            sourceLocatorId="org.eclipse.ant.ui.debug.sourceLookupDirector"
            sourcePathComputerId="org.eclipse.ant.ui.debug.sourcePathComputer">
      </launchConfigurationType>
      <launchConfigurationType
            category="org.eclipse.ui.externaltools.builder"
            delegate="org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate"
            delegateDescription="%AntBuilderLaunchDelegate.description"
            delegateName="%AntBuilderLaunchDelegate.name"
            id="org.eclipse.ant.AntBuilderLaunchConfigurationType"
            modes="run"
            name="%AntBuilder.name">
      </launchConfigurationType>
   </extension>
   <extension point="org.eclipse.core.runtime.preferences">
		<initializer class="org.eclipse.ant.internal.launching.AntLaunchingPreferenceInitializer"/>
	</extension>
  <extension
         point="org.eclipse.jdt.launching.runtimeClasspathEntries">
      <runtimeClasspathEntry
            class="org.eclipse.ant.internal.launching.launchConfigurations.AntHomeClasspathEntry"
            id="org.eclipse.ant.ui.classpathentry.antHome">
      </runtimeClasspathEntry>
      <runtimeClasspathEntry
            class="org.eclipse.ant.internal.launching.launchConfigurations.ContributedClasspathEntriesEntry"
            id="org.eclipse.ant.ui.classpathentry.extraClasspathEntries">
      </runtimeClasspathEntry>
   </extension>
   <extension
         point="org.eclipse.jdt.launching.classpathProviders">
      <classpathProvider
            class="org.eclipse.ant.internal.launching.launchConfigurations.AntClasspathProvider"
            id="org.eclipse.ant.ui.AntClasspathProvider">
      </classpathProvider>
   </extension>
   <extension
         point="org.eclipse.debug.core.processFactories">
      <processFactory
            class="org.eclipse.ant.internal.launching.launchConfigurations.RemoteAntProcessFactory"
            id="org.eclipse.ant.ui.remoteAntProcessFactory">
      </processFactory>
   </extension>
   <extension point="org.eclipse.core.runtime.preferences">
		<initializer class="org.eclipse.ant.internal.launching.AntLaunchingPreferenceInitializer"/>
	</extension>
   <extension
         point="org.eclipse.ant.core.extraClasspathEntries">
      <extraClasspathEntry
            headless="true"
            library="lib/loggers.jar">
      </extraClasspathEntry>
      <extraClasspathEntry
            eclipseRuntime="false"
            headless="true"
            library="lib/antdebug.jar">
      </extraClasspathEntry>
      <extraClasspathEntry
            eclipseRuntime="false"
            headless="true"
            library="lib/remote.jar">
      </extraClasspathEntry>
   </extension>
    <extension
         point="org.eclipse.debug.core.breakpoints">
      <breakpoint
            markerType="org.eclipse.ant.ui.antLineBreakpointMarker"
            class="org.eclipse.ant.internal.launching.debug.model.AntLineBreakpoint"
            id="org.eclipse.ant.ui.lineBreakpoint"
            name="%antBreakpointGroupName">
      </breakpoint>
   </extension>
   <extension
         id="org.eclipse.ant.ui.antLineBreakpointMarker"
         name="%AntLineBreakpoint.name"
         point="org.eclipse.core.resources.markers">
      <super type="org.eclipse.debug.core.lineBreakpointMarker"/>
      <persistent value="true"/>
   </extension>
   <extension
         point="org.eclipse.debug.core.sourceLocators">
      <sourceLocator
            name="%antSourceLookupDirector.name"
            class="org.eclipse.ant.internal.launching.debug.AntSourceLookupDirector"
            id="org.eclipse.ant.ui.debug.sourceLookupDirector">
      </sourceLocator>
   </extension>  
</plugin>
