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

<plugin>

  <extension point="org.eclipse.core.runtime.adapters">
    <factory 
      class="org.eclipse.jst.common.project.facet.core.internal.RuntimeClasspathProvider$Factory" 
      adaptableType="org.eclipse.wst.common.project.facet.core.runtime.IRuntime">
      <adapter type="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
    </factory>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimeBridges">
    <bridge
      id="org.eclipse.jst.common.project.facet.core.JavaRuntimeBridge"
      class="org.eclipse.jst.common.project.facet.core.internal.JavaRuntimeBridge"/>
  </extension>
  
  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
  
    <runtime-component-type id="standard.jre"/>
    <runtime-component-version type="standard.jre" version="1.3"/>
    <runtime-component-version type="standard.jre" version="1.4"/>
    <runtime-component-version type="standard.jre" version="1.5"/>
    <runtime-component-version type="standard.jre" version="1.6"/>
    <runtime-component-version type="standard.jre" version="1.7"/>
    <runtime-component-version type="standard.jre" version="1.8"/>
    <runtime-component-version type="standard.jre" version="9"/>
    <runtime-component-version type="standard.jre" version="10"/>
    <runtime-component-version type="standard.jre" version="11"/>
    <runtime-component-version type="standard.jre" version="12"/>
    <runtime-component-version type="standard.jre" version="13"/>
    <runtime-component-version type="standard.jre" version="14"/>
    <runtime-component-version type="standard.jre" version="15"/>
    <runtime-component-version type="standard.jre" version="16"/>
    <runtime-component-version type="standard.jre" version="17"/>
    <runtime-component-version type="standard.jre" version="18"/>

    <supported>
      <facet id="java" version="1.3"/>
      <runtime-component id="standard.jre" version="[1.3"/>
    </supported>

    <supported>
      <facet id="java" version="1.4"/>
      <runtime-component id="standard.jre" version="[1.4"/>
    </supported>

    <supported>
      <facet id="java" version="1.5"/>
      <runtime-component id="standard.jre" version="[1.5"/>
    </supported>

    <supported>
      <facet id="java" version="1.6"/>
      <runtime-component id="standard.jre" version="[1.6"/>
    </supported>
    
    <supported>
      <facet id="java" version="1.7"/>
      <runtime-component id="standard.jre" version="[1.7"/>
    </supported>

    <supported>
      <facet id="java" version="1.8"/>
      <runtime-component id="standard.jre" version="[1.8"/>
    </supported>

    <supported>
      <facet id="java" version="9"/>
      <runtime-component id="standard.jre" version="[9"/>
    </supported>
    
    <supported>
      <facet id="java" version="10"/>
      <runtime-component id="standard.jre" version="[10"/>
    </supported>
    
    <supported>
      <facet id="java" version="11"/>
      <runtime-component id="standard.jre" version="[11"/>
    </supported>
    
    <supported>
      <facet id="java" version="12"/>
      <runtime-component id="standard.jre" version="[12"/>
    </supported>
    
    <supported>
      <facet id="java" version="13"/>
      <runtime-component id="standard.jre" version="[13"/>
    </supported>
    
    <supported>
      <facet id="java" version="14"/>
      <runtime-component id="standard.jre" version="[14"/>
    </supported>
    
    <supported>
      <facet id="java" version="15"/>
      <runtime-component id="standard.jre" version="[15"/>
    </supported>

    <supported>
      <facet id="java" version="16"/>
      <runtime-component id="standard.jre" version="[16"/>
    </supported>

    <supported>
      <facet id="java" version="17"/>
      <runtime-component id="standard.jre" version="[17"/>
    </supported>

    <supported>
      <facet id="java" version="18"/>
      <runtime-component id="standard.jre" version="[18"/>
    </supported>

    <adapter>
      <runtime-component id="standard.jre"/>
      <factory class="org.eclipse.jst.common.project.facet.core.internal.StandardJreClasspathProvider$Factory"/>
      <type class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
    </adapter>

  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.facets">
  
    <project-facet id="java">
      <label>%javaFacetLabel</label>
      <description>%javaFacetDescription</description>
      <default-version provider="org.eclipse.jst.common.project.facet.core.internal.JavaFacetDefaultVersionProvider"/>
    </project-facet>

    <project-facet-version facet="java" version="1.3"/>

    <project-facet-version facet="java" version="1.4"/>

    <project-facet-version facet="java" version="1.5"/>

    <project-facet-version facet="java" version="1.6"/>

    <project-facet-version facet="java" version="1.7"/>

    <project-facet-version facet="java" version="1.8"/>

    <project-facet-version facet="java" version="9"/>
    
    <project-facet-version facet="java" version="10"/>
    
    <project-facet-version facet="java" version="11"/>

    <project-facet-version facet="java" version="12"/>
    
    <project-facet-version facet="java" version="13"/>
    
    <project-facet-version facet="java" version="14"/>
    
    <project-facet-version facet="java" version="15"/>

    <project-facet-version facet="java" version="16"/>

    <project-facet-version facet="java" version="17"/>

    <project-facet-version facet="java" version="18"/>

    <action facet="java" type="install" id="java.install">
      <delegate class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallDelegate"/>
      <config-factory class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallConfigFactory"/>
    </action>

    <action facet="java" type="uninstall">
      <delegate class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetUninstallDelegate"/>
      <config-factory class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetUninstallConfigFactory"/>
    </action>

    <action facet="java" type="version-change">
      <delegate class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetVersionChangeDelegate"/>
      <config-factory class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetVersionChangeConfigFactory"/>
    </action>

  </extension>
  
  <extension point="org.eclipse.wst.common.project.facet.core.listeners">
     <listener
       class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetRuntimeChangedListener"
       eventTypes="PRIMARY_RUNTIME_CHANGED"/>
  </extension>
  
  <extension point="org.eclipse.wst.common.project.facet.core.validators">
    <validator class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetValidator">
      <facet id="java"/>
    </validator>
  </extension>    
  
  <extension point="org.eclipse.wst.common.project.facet.core.detectors">
    <detector class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetDetector"/>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.aliases">
    <facet-alias facet="java" alias="jst.java"/>
    <facet-version-alias facet="java" version="1.5" alias="5.0"/>
    <facet-version-alias facet="java" version="1.6" alias="6.0"/>
  </extension>

  <extension 
    point="org.eclipse.core.resources.markers"
    id="javaVersionMismatch"
    name="%javaVersionMismatchMarkerName">
    <super type="org.eclipse.wst.common.project.facet.core.validation.marker"/>
    <attribute name="facetVersion"/>
    <attribute name="compilerLevel"/>
    <persistent value="true"/>
  </extension>

  <!--
    ******************************
    * Library Provider Framework *
    ******************************
  -->

  <extension-point 
   	id="libraryProviders" 
   	name="%libraryProvidersExtensionPointName" 
   	schema="schemas/libraryProviders.exsd"/>

  <extension-point 
    id="legacyLibraryProviderDetectors" 
    name="%legacyLibraryProviderDetectorsExtensionPointName" 
    schema="schemas/legacyLibraryProviderDetectors.exsd"/>
   	
  <extension-point 
    id="downloadableLibraries" 
    name="%downloadableLibrariesExtensionPointName" 
    schema="schemas/downloadableLibraries.exsd"/>
   	
  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
    <provider id="user-library-provider" abstract="true">
      <label>%userLibraryProviderLabel</label>
      <priority>500</priority>
      <action type="INSTALL">
        <config class="org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperationConfig"/>
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperation"/>
      </action>
      <action type="UNINSTALL">
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderUninstallOperation"/>
      </action>
    </provider>
  </extension>
  
  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
    <provider id="runtime-library-provider">
      <label>%runtimeLibraryProviderLabel</label>
      <priority>600</priority>
      <param name="message" value="%runtimeLibraryProviderMessage"/>
      <enablement>
        <with variable="context">
          <test property="org.eclipse.jst.common.project.facet.core.canTargetRuntimeProvideLibrary" forcePluginActivation="true"/>
        </with>
      </enablement>
      <action type="INSTALL">
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.RuntimeLibraryProviderInstallOperation"/>
      </action>
      <action type="UNINSTALL">
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.RuntimeLibraryProviderUninstallOperation"/>
      </action>
    </provider>
  </extension>
  
  <extension point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
      id="org.eclipse.jst.common.project.facet.core.canTargetRuntimeProvideLibrary"
      type="org.eclipse.jst.common.project.facet.core.libprov.EnablementExpressionContext"
      namespace="org.eclipse.jst.common.project.facet.core"
      properties="canTargetRuntimeProvideLibrary"
      class="org.eclipse.jst.common.project.facet.core.libprov.internal.RuntimeLibraryProviderPropertyTester">
    </propertyTester>
  </extension>

  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
    <provider id="unknown-library-provider" hidden="true">
      <label>%unknownLibraryProviderLabel</label>
      <param name="message" value="%unknownLibraryProviderMessage"/>
      <action type="INSTALL">
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.UnknownLibraryProviderInstallOperation"/>
      </action>
      <action type="UNINSTALL">
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderOperation"/>
      </action>
    </provider>
  </extension>
  
  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
    <provider id="legacy-library-provider" hidden="true">
      <label>%legacyLibraryProviderLabel</label>
      <param name="message" value="%legacyLibraryProviderMessage"/>
      <action type="INSTALL">
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.LegacyLibraryProviderInstallOperation"/>
      </action>
    </provider>
  </extension>
  
  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
    <provider id="legacy-runtime-library-provider" extends="legacy-library-provider" hidden="true">
      <action type="UNINSTALL">
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.LegacyRuntimeLibraryProviderUninstallOperation"/>
      </action>
    </provider>
  </extension>

  <extension point="org.eclipse.jst.common.project.facet.core.legacyLibraryProviderDetectors">
    <detector class="org.eclipse.jst.common.project.facet.core.libprov.internal.LegacyRuntimeLibraryProviderDetector"/>
  </extension>

  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
    <provider id="no-op-library-provider" abstract="true">
      <label>%noOpLibraryProviderLabel</label>
      <priority>-1000</priority>
      <action type="INSTALL">
        <config class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderInstallOperationConfig"/>
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderOperation"/>
      </action>
      <action type="UNINSTALL">
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderOperation"/>
      </action>
    </provider>
  </extension>
  
  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
    <provider id="osgi-bundles-library-provider" abstract="true">
      <priority>600</priority>
      <action type="INSTALL">
        <config class="org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderInstallOperationConfig"/>
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderInstallOperation"/>
      </action>
      <action type="UNINSTALL">
        <operation class="org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderUninstallOperation"/>
      </action>
      <enablement>
        <with variable="provider">
          <test property="eclipse.fproj.jdt.libprov.osgi.bundleReferencesResolvable" value="true" forcePluginActivation="true"/>
        </with>
      </enablement>
    </provider>
  </extension>
  
  <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
    <classpathContainerInitializer
      class="org.eclipse.jst.common.project.facet.core.libprov.osgi.internal.OsgiBundlesContainerImpl$Initializer"
      id="eclipse.fproj.jdt.libprov.osgi"/>
  </extension>
  
  <extension point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
      id="eclipse.fproj.jdt.libprov.osgi.bundleReferencesResolvable"
      type="org.eclipse.jst.common.project.facet.core.libprov.EnablementExpressionContext"
      namespace="eclipse.fproj.jdt.libprov.osgi"
      properties="bundleReferencesResolvable"
      class="org.eclipse.jst.common.project.facet.core.libprov.osgi.internal.OsgiBundlesLibraryProviderResolvablePropertyTester">
    </propertyTester>
    <propertyTester
      id="eclipse.fproj.jdt.libprov.osgi.bundleReferencesResolvable"
      type="org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider"
      namespace="eclipse.fproj.jdt.libprov.osgi"
      properties="bundleReferencesResolvable"
      class="org.eclipse.jst.common.project.facet.core.libprov.osgi.internal.OsgiBundlesLibraryProviderResolvablePropertyTester">
    </propertyTester>
  </extension>

</plugin>
