<?xml version="1.0" encoding="UTF-8"?>
<!-- File written by PDE 1.0 -->
<plugin
   id="org.eclipse.jdt.debug"
   name="%pluginName"
   version="2.0.0"
   provider-name="Object Technology International, Inc."
   class="org.eclipse.jdt.internal.debug.core.JDIDebugPlugin">
<!-- Required plugins -->
<requires>
   <import plugin="org.apache.xerces"/>
   <import plugin="org.eclipse.core.resources"/>
   <import plugin="org.eclipse.debug.core"/>
   <import plugin="org.eclipse.jdt.core"/>
</requires>

<!-- Runtime -->
<runtime>
   <library name="jdi.jar">
      <export name="*"/>
   </library>
   <library name="jdimodel.jar">
      <export name="*"/>
   </library>
   <library name="tools.jar">
   	  <export name="*"/>
   </library>
</runtime>

<!-- Not to be extended com.sun.tools.jdi.VirtualMachineManagerImpl or org.eclipse.jdi.internal.VirtualMachineManagerImpl -->
<extension-point name="org.eclipse.jdi.internal.VirtualMachineManagerImpl" id="jdiclient"/>

<!-- Extensions -->

<extension point="org.eclipse.debug.core.breakpoints">
	<breakpoint
		id="javaLineBreakpoint"
		markerType="org.eclipse.jdt.debug.javaLineBreakpointMarker"
		class="org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint">
	</breakpoint>
	<breakpoint
		id="javaPatternBreakpoint"
		markerType="org.eclipse.jdt.debug.javaPatternBreakpointMarker"
		class="org.eclipse.jdt.internal.debug.core.breakpoints.JavaPatternBreakpoint">
	</breakpoint>
	<breakpoint
		id="javaExceptionBreakpoint"
		markerType="org.eclipse.jdt.debug.javaExceptionBreakpointMarker"
		class="org.eclipse.jdt.internal.debug.core.breakpoints.JavaExceptionBreakpoint">
	</breakpoint>
	<breakpoint
		id="javaWatchpoint"
		markerType="org.eclipse.jdt.debug.javaWatchpointMarker"
		class="org.eclipse.jdt.internal.debug.core.breakpoints.JavaWatchpoint">
	</breakpoint>
	<breakpoint
		id="javaMethodBreakpoint"
		markerType="org.eclipse.jdt.debug.javaMethodBreakpointMarker"
		class="org.eclipse.jdt.internal.debug.core.breakpoints.JavaMethodBreakpoint">
	</breakpoint>	
</extension>

<extension id="javaBreakpointMarker" point="org.eclipse.core.resources.markers">
	<super type="org.eclipse.debug.core.breakpointMarker"/>
</extension>

<extension id="commonJavaLineBreakpointMarker" point="org.eclipse.core.resources.markers">
	<super type="org.eclipse.jdt.debug.javaBreakpointMarker"/>
	<super type="org.eclipse.debug.core.lineBreakpointMarker"/>
	<persistent value="true"/>
	<attribute name="org.eclipse.jdt.debug.core.typeName"/>
	<attribute name="org.eclipse.jdt.debug.core.installCount"/>
	<attribute name="org.eclipse.jdt.debug.core.hitCount"/>
	<attribute name="org.eclipse.jdt.debug.core.expired"/>
</extension>
	
<extension id="javaLineBreakpointMarker" point="org.eclipse.core.resources.markers">
	<super type="org.eclipse.jdt.debug.commonJavaLineBreakpointMarker"/>
	<persistent value="true"/>
</extension>

<extension id="javaPatternBreakpointMarker" point="org.eclipse.core.resources.markers">
	<super type="org.eclipse.jdt.debug.commonJavaLineBreakpointMarker"/>
	<persistent value="true"/>
	<attribute name="org.eclipse.jdt.debug.core.pattern"/>
</extension>	

<extension id="javaExceptionBreakpointMarker" point="org.eclipse.core.resources.markers">
	<super type="org.eclipse.jdt.debug.javaBreakpointMarker"/>
	<persistent value="true"/>
	<attribute name="org.eclipse.jdt.debug.core.caught"/>
	<attribute name="org.eclipse.jdt.debug.core.uncaught"/>
	<attribute name="org.eclipse.jdt.debug.core.checked"/>
</extension>

<extension id="javaWatchpointMarker" point="org.eclipse.core.resources.markers">
	<super type="org.eclipse.jdt.debug.javaLineBreakpointMarker"/>
	<persistent value="true"/>
	<attribute name="org.eclipse.jdt.debug.core.fieldName"/>
	<attribute name="org.eclipse.jdt.debug.core.access"/>
	<attribute name="org.eclipse.jdt.debug.core.modification"/>
	<attribute name="org.eclipse.jdt.debug.core.auto_disabled"/>
</extension>

<extension id="javaMethodBreakpointMarker" point="org.eclipse.core.resources.markers">
   <super type="org.eclipse.jdt.debug.javaLineBreakpointMarker"/>
   <persistent value="true"/>
   <attribute name="org.eclipse.jdt.debug.core.methodName"/>
   <attribute name="org.eclipse.jdt.debug.core.methodSignature"/>
   <attribute name="org.eclipse.jdt.debug.core.entry"/>
   <attribute name="org.eclipse.jdt.debug.core.exit"/>   
   <attribute name="org.eclipse.jdt.debug.core.native"/>
</extension>

<extension 
	point="org.eclipse.core.resources.builders" 
	id="hcrbuilder"
	name="%hcrBuilderName">
	<builder>
		<run class="org.eclipse.jdt.internal.debug.core.hcr.ProjectBuildWatcher">
		</run>
	</builder>
</extension>

</plugin>
