<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
  <extension-point id="searchEngine" name="Search Engine" schema="schema/searchEngine.exsd"/>

  <extension point="org.maven.ide.eclipse.editor.xml.searchEngine">
    <search-engine class="org.maven.ide.eclipse.editor.xml.search.IndexManagerSearchEngine"/>
  </extension>
  
  <extension point="org.eclipse.wst.sse.ui.editorConfiguration">
    <sourceViewerConfiguration
        class="org.maven.ide.eclipse.editor.xml.PomStructuredTextViewConfiguration"
        target="org.maven.ide.eclipse.pomFile, org.eclipse.wst.xml.core.xmlsource, org.eclipse.core.runtime.xml"/>
    <contentOutlineConfiguration
        class="org.maven.ide.eclipse.editor.xml.PomContentOutlineConfiguration"
        target="org.maven.ide.eclipse.pomFile, org.eclipse.wst.xml.core.xmlsource, org.eclipse.core.runtime.xml"/>
    <provisionalConfiguration
        type="org.eclipse.jface.text.quickassist.IQuickAssistProcessor"
        class="org.maven.ide.eclipse.editor.xml.PomQuickAssistProcessor"
        target="org.maven.ide.eclipse.pomFile"/>
  </extension>
  
  <extension point="org.eclipse.wst.sse.core.modelHandler">
   	<modelHandler
          associatedContentTypeId="org.maven.ide.eclipse.pomFile"
          class="org.maven.ide.eclipse.editor.xml.PomModelHandler"
          id="org.maven.ide.eclipse.pomFile.handler">
   	</modelHandler>
   </extension>

  <extension  point="org.eclipse.ui.editors.templates">
    <contextType name="Document"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.#document"/>
    
    <contextType name="Project"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.project"/>
    
    <contextType name="Parent"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.parent"/>
    
    <contextType name="Properties"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.properties"/>
    
    <contextType name="Properties"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.properties"/>
    
    <contextType name="Dependencies"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.dependencies"/>
    
    <contextType name="Exclusions"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.exclusions"/>
    
    <contextType name="Plugins"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.plugins"/>
    
    <contextType name="Plugin"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.plugin"/>
    
    <contextType name="Configuration"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.configuration"/>
    
    <contextType name="Executions"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.executions"/>
    
    <contextType name="Execution"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.execution"/>
    
    <contextType name="Profiles"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.profiles"/>
    
    <contextType name="Repositories"
      class="org.maven.ide.eclipse.editor.xml.PomTemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.repositories"/>
    
    <contextType name="Group Id"
      class="org.eclipse.jface.text.templates.TemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.groupId"/>
    
    <contextType name="Artifact Id"
      class="org.eclipse.jface.text.templates.TemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.artifactId"/>
    
    <contextType name="Version"
      class="org.eclipse.jface.text.templates.TemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.version"/>
    
    <contextType name="Classifier"
      class="org.eclipse.jface.text.templates.TemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.classifier"/>
    
    <contextType name="Type"
      class="org.eclipse.jface.text.templates.TemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.type"/>

    <contextType name="SystemPath"
      class="org.eclipse.jface.text.templates.TemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.systemPath"/>

    <contextType name="Packaging"
      class="org.eclipse.jface.text.templates.TemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.packaging"/>

    <contextType name="Scope"
      class="org.eclipse.jface.text.templates.TemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.scope"/>

    <contextType name="Phase"
      class="org.eclipse.jface.text.templates.TemplateContextType"
      id="org.maven.ide.eclipse.editor.xml.templates.contextType.phase"/>

    <template id="org.maven.ide.eclipse.editor.xml.templates.project.skeleton"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.#document"
         name="project" 
         description="New project element">
      <pattern>&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;
    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
    xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;
  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;</pattern>
    </template>
      
    <template id="org.maven.ide.eclipse.editor.xml.templates.parent.skeleton"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.project"
         name="parent" 
         description="New parent element">
      <pattern>&lt;parent&gt;
    &lt;groupId&gt;${cursor}&lt;/groupId&gt;
    &lt;artifactId&gt;&lt;/artifactId&gt;
    &lt;version&gt;&lt;/version&gt;
  &lt;/parent&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.property.skeleton"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.properties"
         name="property" 
         description="New property element">
      <pattern>&lt;${cursor}${name}&gt;${value}&lt;/${name}&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.dependency.skeleton"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.dependencies"
         name="dependency" 
         description="New dependency element">
      <pattern>&lt;dependency&gt;
      &lt;groupId&gt;${cursor}&lt;/groupId&gt;
      &lt;artifactId&gt;&lt;/artifactId&gt;
      &lt;version&gt;&lt;/version&gt;
    &lt;/dependency&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.exclusion.skeleton"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.exclusions"
         name="exclusion" 
         description="New exclusion element">
      <pattern>&lt;exclusion&gt;
          &lt;groupId&gt;${cursor}&lt;/groupId&gt;
          &lt;artifactId&gt;&lt;/artifactId&gt;
        &lt;/exclusion&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.plugin.skeleton"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.plugins"
         name="plugin" 
         description="New plugin element">
      <pattern>&lt;plugin&gt;
        &lt;groupId&gt;${cursor}&lt;/groupId&gt;
        &lt;artifactId&gt;&lt;/artifactId&gt;
        &lt;version&gt;&lt;/version&gt;
        &lt;configuration&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.plugin.javac"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.plugins"
         name="javac plugin" 
         description="Java complier plugin configuration">
      <pattern>&lt;plugin&gt;
        &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
        &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
        &lt;configuration&gt;
          &lt;!-- http://maven.apache.org/plugins/maven-compiler-plugin/ --&gt;
          &lt;source&gt;${cursor}1.4&lt;/source&gt;
          &lt;target&gt;1.4&lt;/target&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.plugin.aspectj"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.plugins"
         name="AspectJ plugin" 
         description="AspectJ plugin configuration">
      <pattern>&lt;plugin&gt;
         &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;
         &lt;artifactId&gt;aspectj-maven-plugin&lt;/artifactId&gt;
         &lt;!-- http://mojo.codehaus.org/aspectj-maven-plugin/ --&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;goals&gt;
                &lt;goal&gt;compile&lt;/goal&gt;
             &lt;/goals&gt;
          &lt;/execution&gt;
        &lt;/executions&gt;
      &lt;/plugin&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.plugin.war"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.plugins"
         name="war plugin" 
         description="WAR plugin configuration">
      <pattern>&lt;plugin&gt;
        &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
        &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
        &lt;version&gt;2.0.1&lt;/version&gt;
        &lt;configuration&gt;
          &lt;!-- http://maven.apache.org/plugins/maven-war-plugin/ --&gt;
          &lt;warSourceDirectory&gt;src/main/webapp&lt;/warSourceDirectory&gt;
          &lt;!--
          &lt;webResources&gt;
            &lt;resource&gt;
              &lt;directory&gt;src/main/webapp2&lt;/directory&gt;
              &lt;filtering&gt;false&lt;/filtering&gt;
            &lt;/resource&gt;
          &lt;/webResources&gt;
          --&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.plugin.ejb"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.plugins"
         name="ejb plugin" 
         description="EJB plugin configuration">
      <pattern>&lt;plugin&gt;
        &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
        &lt;artifactId&gt;maven-ejb-plugin&lt;/artifactId&gt;
        &lt;version&gt;2.1&lt;/version&gt;
        &lt;configuration&gt;
          &lt;!-- http://maven.apache.org/plugins/maven-ejb-plugin/ --&gt;
          &lt;ejbVersion&gt;3.0&lt;/ejbVersion&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.plugin.ear"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.plugins"
         name="ear plugin" 
         description="EAR plugin configuration">
      <pattern>&lt;plugin&gt;
        &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
        &lt;artifactId&gt;maven-ear-plugin&lt;/artifactId&gt;
        &lt;version&gt;2.3.1&lt;/version&gt;
        &lt;configuration&gt;
          &lt;!-- http://maven.apache.org/plugins/maven-ear-plugin/ --&gt;
          &lt;version&gt;5&lt;/version&gt;
          &lt;!-- 
          &lt;earSourceDirectory&gt;EarContent&lt;/earSourceDirectory&gt;
          &lt;applicationXml&gt;EarContent/META-INF/application.xml&lt;/applicationXml&gt;
          &lt;generateApplicationXml&gt;true&lt;/generateApplicationXml&gt;
          &lt;modules&gt;
            &lt;ejbModule&gt;
              &lt;groupId&gt;org.foo2&lt;/groupId&gt;
              &lt;artifactId&gt;test-ejb&lt;/artifactId&gt;
            &lt;/ejbModule&gt;
            &lt;webModule&gt;
              &lt;groupId&gt;org.foo2&lt;/groupId&gt;
              &lt;artifactId&gt;test-war&lt;/artifactId&gt;
            &lt;/webModule&gt;
            &lt;jarModule&gt;
              &lt;groupId&gt;org.foo2&lt;/groupId&gt;
              &lt;artifactId&gt;test-jar&lt;/artifactId&gt;
            &lt;/jarModule&gt;
          &lt;/modules&gt;
          --&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;</pattern>
    </template>
    
    <template id="org.maven.ide.eclipse.editor.xml.templates.plugin.jetty"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.plugins"
         name="jetty plugin" 
         description="Jetty plugin configuration">
      <pattern>&lt;plugin&gt;
        &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;
        &lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;
        &lt;configuration&gt;
          &lt;!-- http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin --&gt;
          &lt;scanIntervalSeconds&gt;10&lt;/scanIntervalSeconds&gt;
          &lt;connectors&gt;
            &lt;connector implementation=&quot;org.mortbay.jetty.nio.SelectChannelConnector&quot;&gt;
              &lt;port&gt;8080&lt;/port&gt;
              &lt;maxIdleTime&gt;60000&lt;/maxIdleTime&gt;
            &lt;/connector&gt;
          &lt;/connectors&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;</pattern>
    </template>

    <template id="org.maven.ide.eclipse.editor.xml.templates.repository.skeleton"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.repositories"
         name="repository" 
         description="New repository element">
      <pattern>&lt;repository&gt;
        &lt;id&gt;${cursor}&lt;/id&gt;
        &lt;url&gt;&lt;/url&gt;
        &lt;releases&gt;
           &lt;enabled&gt;true&lt;/enabled&gt;
        &lt;/releases&gt;
        &lt;snapshots&gt;
          &lt;enabled&gt;false&lt;/enabled&gt;
        &lt;/snapshots&gt;        
     &lt;/repository&gt;</pattern>
    </template>
    
    <template id="org.maven.ide.eclipse.editor.xml.templates.execution.skeleton"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.executions"
         name="execution" 
         description="New execution element">
      <pattern>&lt;execution&gt;
            &lt;id&gt;${cursor}&lt;/id&gt;
            &lt;phase&gt;${verify}&lt;/phase&gt;
            &lt;goals&gt;
              &lt;goal&gt;${run}&lt;/goal&gt;
            &lt;/goals&gt;
            &lt;inherited&gt;${false}&lt;/inherited&gt;
            &lt;configuration&gt;
            &lt;/configuration&gt;
          &lt;/execution&gt;</pattern>
    </template>
    
    <template id="org.maven.ide.eclipse.editor.xml.templates.profile.skeleton"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.profiles"
         name="profile" 
         description="New profile element">
      <pattern>&lt;profile&gt;
      &lt;id&gt;${cursor}${test}&lt;/id&gt;
      &lt;activation&gt;
      &lt;/activation&gt;
    &lt;/profile&gt;</pattern>
    </template>
    
    <template id="org.maven.ide.eclipse.editor.xml.templates.profile.tools.jar"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.profiles"
         name="tools.jar" 
         description="Profile for tools.jar">
      <pattern>&lt;profile&gt;
      &lt;id&gt;tools.jar&lt;/id&gt;
      &lt;activation&gt;
        &lt;property&gt;
          &lt;name&gt;java.vendor&lt;/name&gt;
          &lt;value&gt;Sun Microsystems Inc.&lt;/value&gt;
       &lt;/property&gt;
     &lt;/activation&gt;
      &lt;dependencies&gt;
        &lt;dependency&gt;
          &lt;groupId&gt;com.sun&lt;/groupId&gt;
          &lt;artifactId&gt;tools&lt;/artifactId&gt;
          &lt;version&gt;1.4.2&lt;/version&gt;
          &lt;scope&gt;system&lt;/scope&gt;
          &lt;systemPath&gt;$${java.home}/../lib/tools.jar&lt;/systemPath&gt;
       &lt;/dependency&gt;
     &lt;/dependencies&gt;
   &lt;/profile&gt;</pattern>
    </template>
    
    <template id="org.maven.ide.eclipse.editor.xml.templates.systemPath.tools.jar"
         contextTypeId="org.maven.ide.eclipse.editor.xml.templates.contextType.systemPath"
         name="tools.jar" 
         description="Path to the tools.jar">
      <pattern>$${java.home}/../lib/tools.jar</pattern>
    </template>
  </extension>

  <extension point="org.eclipse.ui.keywords">
    <keyword id="org.maven.ide.eclipse.maven" label="maven"/>
  </extension>

  <extension point="org.eclipse.ui.preferencePages">
    <page id="org.maven.ide.eclipse.editor.xml.preferences.PomTemplatesPreferencePage"
          category="org.maven.ide.eclipse.preferences.Maven2PreferencePage"
          class="org.maven.ide.eclipse.editor.xml.preferences.PomTemplatesPreferencePage"
          name="Templates">
       <keywordReference id="org.maven.ide.eclipse.maven"/>
    </page>
  </extension>

</plugin>
