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



<plugin>
	<!-- Note that the nature and builder definitions appear here mainly
	     because they should have an ID starting with org.eclipse.objectteams.otdt, 
	     rather than org.eclipse.jdt, allthough they are defined in jdt.core -->
	     
	<!-- objectteams project nature -->
	<extension
	    point="org.eclipse.core.resources.natures"
	    id="OTJavaNature"
	    name="%otNatureName">
	    <runtime>
	       <run class="org.eclipse.objectteams.otdt.core.ext.OTJavaNature">
	       </run>
	    </runtime>
	    <builder
	       id="org.eclipse.objectteams.otdt.builder.OTJBuilder">
	    </builder>
	<!-- run and configure our nature AFTER the java-nature has been configured -->
	    <requires-nature
	            id="org.eclipse.jdt.core.javanature">
	    </requires-nature>
	</extension>
	
	<!-- OT/J Builder: -->
	<extension
	    point="org.eclipse.core.resources.builders"
	    id="builder.OTJBuilder"
		name="%otjBuilderName">
	    <builder hasNature="true">
	       <run class="org.eclipse.objectteams.otdt.internal.core.builder.OTJBuilder">
	       </run>
		   <dynamicReference class="org.eclipse.jdt.internal.core.DynamicProjectReferences"/>
	    </builder>
	</extension>

   <extension point="org.eclipse.jdt.core.classpathVariableInitializer">
      <classpathVariableInitializer 
         	variable="OTDT_INSTALLDIR" 
         	class="org.eclipse.objectteams.otdt.internal.core.ext.OTVariableInitializer"/> 
   </extension>
   
   <extension 
   		point="org.eclipse.jdt.core.classpathContainerInitializer"
        id="org.eclipse.objectteams.otdt.otreContainerInitializer">
      <classpathContainerInitializer
	 		id="OTRE"
            class="org.eclipse.objectteams.otdt.internal.core.ext.OTREContainerInitializer"/>
   </extension>
   <extension
         point="org.eclipse.objectteams.otequinox.aspectBindings">
      <aspectBinding
            icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/calloutbinding_obj.gif">
         <basePlugin
               icon="platform:/plugin/org.eclipse.pde.ui/icons/obj16/plugin_obj.png"
               id="org.eclipse.jdt.core">
         </basePlugin>
         <team
               activation="ALL_THREADS"
               class="org.eclipse.objectteams.otdt.core.hierarchy.OTTypeHierarchies"
               icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif">
         </team>
         <team
               activation="NONE"
               class="org.eclipse.objectteams.otdt.core.hierarchy.OTTypeHierarchies$OTTypeHierarchyImpl"
               icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif">
         </team>
      </aspectBinding>
   </extension>
   <extension
         id="globalProblem"
         name="Global Analysis Problem"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.jdt.core.problem">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
</plugin>
