<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
    Copyright (c) 2002, 2009 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>
   	<!-- Classpath variable initializer -->
	<extension point = "org.eclipse.jdt.core.classpathVariableInitializer">
		<classpathVariableInitializer
			variable="TEST_LIB"
			class="org.eclipse.jdt.core.tests.model.VariablesInitializer"/>
		<classpathVariableInitializer
			variable="TEST_SRC"
			class="org.eclipse.jdt.core.tests.model.VariablesInitializer"/>
		<classpathVariableInitializer
			variable="TEST_ROOT"
			class="org.eclipse.jdt.core.tests.model.VariablesInitializer"/>
  <classpathVariableInitializer
        class="org.eclipse.jdt.core.tests.model.VariablesInitializer"
        deprecated="%classpathVariableInitializer.deprecated.0"
        variable="TEST_DEPRECATED">
  </classpathVariableInitializer>
  <classpathVariableInitializer
        class="org.eclipse.jdt.core.tests.model.VariablesInitializer"
        readOnly="true"
        variable="TEST_READ_ONLY">
  </classpathVariableInitializer>
  <classpathVariableInitializer
        class="org.eclipse.jdt.core.tests.model.VariablesInitializer"
        deprecated="%classpathVariableInitializer.deprecated.1"
        readOnly="true"
        variable="TEST_DEPRECATED_READ_ONLY">
  </classpathVariableInitializer>
	</extension>		

	<!-- Classpath container initializer -->
	<extension point = "org.eclipse.jdt.core.classpathContainerInitializer">
		<classpathContainerInitializer
			id="org.eclipse.jdt.core.tests.model.TEST_CONTAINER"
			class="org.eclipse.jdt.core.tests.model.ContainerInitializer"/>
	</extension>

	<extension point = "org.eclipse.jdt.core.classpathContainerInitializer">
		<classpathContainerInitializer
			id="org.eclipse.jdt.core.tests.model.TEST_EXTERNAL_LIB_CONTAINER"
			class="org.eclipse.jdt.core.tests.extensions.TestExternalLibContainerInitializer"/>
	</extension>

	<!-- Extra Java-like file extensions -->
	<extension point="org.eclipse.core.contenttype.contentTypes"> 
	    <file-association 
	        content-type="org.eclipse.jdt.core.javaSource"
	        file-extensions="foo,bar"/>
	</extension>

	<!-- Repository provider -->
	<extension point="org.eclipse.team.core.repository">
		<repository
			id="org.eclipse.jdt.core.tests.model.pessimisticnature"
			class="org.eclipse.jdt.core.tests.model.TestPessimisticProvider">
		</repository>;
	</extension>
	
	<!-- Compilation participant -->
	 <extension point="org.eclipse.jdt.core.compilationParticipant">
	   <compilationParticipant
          class="org.eclipse.jdt.core.tests.model.TestCompilationParticipant"
          createsProblems="true"
          id="org.eclipse.jdt.core.tests.model.compilationparticipant"
          requiredSourceLevel="1.4"
          modifiesEnvironment="true">
       <requires id="non.existing"/>
    </compilationParticipant>
	 </extension>
  <extension
        point="org.eclipse.core.filesystem.filesystems">
     <filesystem
           scheme="jdt.core.test">
        <run
              class="org.eclipse.jdt.core.tests.model.TestFileSystem">
        </run>
     </filesystem>
  </extension>
	
</plugin>
