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

<!--
  == Copyright (c) 2024 Boeing
  ==
  == This program and the accompanying materials are made
  == available under the terms of the Eclipse Public License 2.0
  == which is available at https://www.eclipse.org/legal/epl-2.0/
  ==
  == SPDX-License-Identifier: EPL-2.0
  ==
  == Contributors:
  ==     Boeing - initial API and implementation
  -->

<plugin>
   
   <!--
      == When the workbench is ready the "earlyStartup" method of the CAT Plug-In "Startup" class
      == will be invoked. This will cause the CAT Plug-In bundle to be activated and begin the
      == "CatPluginManager" cache load and synchronization.
   -->
     
   <extension
      point = "org.eclipse.ui.startup">
   
      <startup 
         class = "org.eclipse.ote.cat.plugin.Startup" />
         	
   </extension>
   
   <extension
      point = "org.eclipse.ui.preferencePages">
      
      <!--
         == Set the "name" attribute value to the display name for the preference page implemented
         == by the class specified by the "class" attribute value.
         ==
         == The "category" attribute needs to be specified for subordinate pages. The value of the
         == "category" attribute should be set to the "id" attribute value for its parent preference
         == page.
      -->
      
      <page
         class    = "org.eclipse.ote.cat.plugin.preferencepage.CatSettingsPreferencePage"
         id       = "preferencepage.cat"
         name     = "CAT" />

      <page
         category = "preferencepage.cat"
         class    = "org.eclipse.ote.cat.plugin.preferencepage.PleConfigurationCachePreferencePage"
         id       = "preferencepages.pleconfigurationcache"
         name     = "PLE Configuration Loader" />
      
   </extension>
   
   <!--
      == This extension specification is found by the CAT Plug-In using the extension point identifier
      == and the bundle symbolic name. The CAT Plug-In is expected to provide only on extension for the
      == "org.eclipse.core.runtime.preferences" extention point. The configuration element ("initializer")
      == and attribute ("option") that contains the default preferences command line option name are found
      == by element and attribute names. These names must align with thoes defined in the
      == org.eclipse.ote.cat.plugin.Constants class. 
   -->
   
   <extension
         point = "org.eclipse.core.runtime.preferences"
         id    = "defaultpreferenceinitializer">
         
      <!--
         == Set the value of the "option" attribute to be the command line option used to
         == specify a JSON file containing the default preference values. If the command line
         == option is to have a leading dash or dashes those are to be included in the attribute
         == value. 
      -->
      
      <initializer
            class  = "org.eclipse.ote.cat.plugin.preferencepage.PreferenceInitializer"
            option = "-org.eclipse.ote.cat.plugin.defaultpreferences" />
      
   </extension>
   
   <!--
      == The CAT Plug-In project nature extension identifier is found using the extension point identifier
      == and the bundle symbolic name. The CAT Plug-In is expected to provide only one extension for the
      == "org.eclipse.core.resources.natures" extension point.
   -->
   
   <extension
      point = "org.eclipse.core.resources.natures"
      id    = "catprojectnature">
      
      <runtime>
      
         <run
            class = "org.eclipse.ote.cat.plugin.project.CatNature" />
            
      </runtime>
      
      <requires-nature
         id = "org.eclipse.jdt.core.javanature" />
          
   </extension>
   
   <extension
         point="org.eclipse.ui.ide.projectNatureImages">
         
      <image
            icon="icons/catprojectnature.png"
            id="catprojectnature.image"
            natureId="org.eclipse.ote.cat.plugin.catprojectnature"/>
            
   </extension>
    
</plugin>
