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

  <extension point="org.eclipse.wst.sse.ui.editorConfiguration">
    <sourceViewerConfiguration
        class="org.eclipse.m2e.editor.xml.PomStructuredTextViewConfiguration"
        target="org.eclipse.m2e.core.pomFile"/>
    <contentOutlineConfiguration
        class="org.eclipse.m2e.editor.xml.PomContentOutlineConfiguration"
        target="org.eclipse.m2e.core.pomFile"/>
    <provisionalConfiguration
        type="org.eclipse.jface.text.quickassist.IQuickAssistProcessor"
        class="org.eclipse.m2e.editor.xml.PomQuickAssistProcessor"
        target="org.eclipse.m2e.core.pomFile"/>
	<provisionalDefinition
		type="ignorebasetypes"
		value="spellingregions"
		target="org.eclipse.m2e.core.pomFile" />
    <provisionalDefinition
		type="spellingregions"
		value="XML_COMMENT_TEXT"
		target="org.eclipse.m2e.core.pomFile" />
  </extension>
  <extension point="org.eclipse.wst.sse.core.modelHandler">
   	<modelHandler
          associatedContentTypeId="org.eclipse.m2e.core.pomFile"
          class="org.eclipse.m2e.editor.xml.PomModelHandler"
          id="org.eclipse.m2e.core.pomFile.handler">
   	</modelHandler>
   </extension>
	<extension
		point="org.eclipse.ui.ide.markerResolution">
		<markerResolutionGenerator
			class="org.eclipse.m2e.editor.xml.internal.markers.MavenMarkerResolutionGenerator"
			markerType="org.eclipse.m2e.core.maven2Problem.pomloading">
		</markerResolutionGenerator>
		<markerResolutionGenerator
			class="org.eclipse.m2e.editor.xml.internal.markers.MavenMarkerResolutionGenerator"
			markerType="org.eclipse.m2e.core.maven2Problem.lifecycleMapping">
		</markerResolutionGenerator>
	</extension>
	<extension
		point="org.eclipse.core.filebuffers.annotationModelCreation">
		<factory
			contentTypeId="org.eclipse.m2e.core.pomFile"
			class="org.eclipse.m2e.editor.xml.internal.POMMarkerAnnotationModelFactory" />
	</extension>
  <extension  point="org.eclipse.ui.editors.templates">
    <contextType name="%contextType.document"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.#document"/>

    <contextType name="%contextType.project"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.project"/>

    <contextType name="%contextType.parent"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.parent"/>

    <contextType name="%contextType.properties"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.properties"/>

    <contextType name="%contextType.properties2"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.properties"/>

    <contextType name="%contextType.dependencies"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.dependencies"/>

    <contextType name="%contextType.exclusions"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.exclusions"/>

    <contextType name="%contextType.plugins"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.plugins"/>

    <contextType name="%contextType.plugin"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.plugin"/>

    <contextType name="%contextType.configuration"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.configuration"/>

    <contextType name="%contextType.executions"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.executions"/>

    <contextType name="%contextType.execution"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.execution"/>

    <contextType name="%contextType.profiles"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.profiles"/>

    <contextType name="%contextType.repositories"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.repositories"/>

    <contextType name="%contextType.groupid"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.groupId"/>

    <contextType name="%contextType.artifactid"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.artifactId"/>

    <contextType name="%contextType.version"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.version"/>

    <contextType name="%contextType.classifier"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.classifier"/>

    <contextType name="%contextType.type"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.type"/>

    <contextType name="%contextType.systemPath"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.systemPath"/>

    <contextType name="%contextType.packaging"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.packaging"/>

    <contextType name="%contextType.scope"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.scope"/>

    <contextType name="%contextType.phase"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.phase"/>

    <contextType name="%contextType.goal"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.goal"/>

    <contextType name="%contextType.modules"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.modules"/>

    <contextType name="%contextType.module"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.module"/>

    <contextType name="%contextType.file"
      class="org.eclipse.m2e.editor.xml.PomTemplateContextType"
      id="org.eclipse.m2e.editor.xml.templates.contextType.file"/>

    <template id="org.eclipse.m2e.editor.xml.templates.project.skeleton"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.#document"
         name="%template.project.name"
         description="%template.project.description">
      <pattern><![CDATA[<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/xsd/maven-4.0.0.xsd&quot;>
  <modelVersion>4.0.0</modelVersion>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.property.skeleton"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.properties"
         name="%template.property.name"
         description="%template.property.description">
      <pattern><![CDATA[<${cursor}${name}>${value}</${name}>]]></pattern>
    </template>
    <template id="org.eclipse.m2e.editor.xml.templates.property.encoding"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.properties"
         name="%template.encoding.name"
         description="%template.encoding.description">
      <pattern><![CDATA[<project.build.sourceEncoding>${UTF-8}</project.build.sourceEncoding>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.exclusion.skeleton"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.exclusions"
         name="%template.exclusion.name"
         description="%template.exclusion.description">
      <pattern><![CDATA[<exclusion>
          <groupId>${cursor}</groupId>
          <artifactId></artifactId>
        </exclusion>]]></pattern>
    </template>


    <template id="org.eclipse.m2e.editor.xml.templates.plugin.javac"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.plugins"
         name="%template.compiler.name"
         description="%template.compiler.description">
      <pattern><![CDATA[<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <!-- http://maven.apache.org/plugins/maven-compiler-plugin/ -->
          <source>${cursor}1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.plugin.war"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.plugins"
         name="%template.war.name"
         description="%template.war.description">
      <pattern><![CDATA[<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.3</version>
      </plugin>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.plugin.ejb"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.plugins"
         name="%template.ejb.name"
         description="%template.ejb.description">
      <pattern><![CDATA[<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ejb-plugin</artifactId>
        <version>3.0.1</version>
      </plugin>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.plugin.ear"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.plugins"
         name="%template.ear.name"
         description="%template.ear.description">
      <pattern><![CDATA[<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ear-plugin</artifactId>
        <version>3.0.2</version>
        <configuration>
          <!-- http://maven.apache.org/plugins/maven-ear-plugin/ -->
          <version>8${cursor}</version>
          <defaultLibBundleDir>lib</defaultLibBundleDir>
        </configuration>
      </plugin>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.repository.skeleton"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.repositories"
         name="%template.repository.name"
         description="%template.repository.description">
      <pattern><![CDATA[<repository>
        <id>${cursor}</id>
        <url></url>
        <releases>
           <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>false</enabled>
       </snapshots>
     </repository>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.execution.skeleton"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.executions"
         name="%template.execution.name"
         description="%template.execution.description">
      <pattern><![CDATA[<execution>
            <id>${cursor}</id>
            <phase>${verify}</phase>
            <goals>
              <goal>${run}</goal>
            </goals>
            <inherited>${false}</inherited>
            <configuration>
            </configuration>
          </execution>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.profile.skeleton"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.profiles"
         name="%template.profile.name"
         description="%template.profile.description">
      <pattern><![CDATA[<profile>
      <id>${cursor}${test}</id>
      <activation>
      </activation>
    </profile>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.profile.tools.jar"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.profiles"
         name="%template.tools.name"
         description="%template.tools.description">
      <pattern><![CDATA[<profile>
      <id>tools.jar</id>
      <activation>
        <property>
          <name>java.vendor</name>
          <value>Sun Microsystems Inc.</value>
       </property>
     </activation>
      <dependencies>
        <dependency>
          <groupId>com.sun</groupId>
          <artifactId>tools</artifactId>
          <version>1.4.2</version>
          <scope>system</scope>
          <systemPath>$${java.home}/../lib/tools.jar</systemPath>
       </dependency>
     </dependencies>
   </profile>]]></pattern>
    </template>

    <template id="org.eclipse.m2e.editor.xml.templates.profile.m2e"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.profiles"
         name="%template.m2e.profile.name"
         description="%template.m2e.profile.description">
       <pattern><![CDATA[<profile>
   <id>m2e</id>
   <!-- This profile is only activated when building in Eclipse with m2e -->
   <activation>
     <property>
       <name>m2e.version</name>
     </property>
   </activation>
   ${cursor}
 </profile>]]>
       </pattern>
    </template>


    <template id="org.eclipse.m2e.editor.xml.templates.systemPath.tools.jar"
         contextTypeId="org.eclipse.m2e.editor.xml.templates.contextType.systemPath"
         name="%template.tools2.name"
         description="%template.tools2.description">
      <pattern>$${java.home}/../lib/tools.jar</pattern>
    </template>
  </extension>

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

  <extension point="org.eclipse.ui.preferencePages">
    <page id="org.eclipse.m2e.editor.xml.preferences.PomTemplatesPreferencePage"
          category="org.eclipse.m2e.core.preferences.Maven2PreferencePage"
          class="org.eclipse.m2e.editor.xml.preferences.PomTemplatesPreferencePage"
          name="%page.name">
       <keywordReference id="org.eclipse.m2e.maven"/>
    </page>
  </extension>
  <extension
        point="org.eclipse.wst.sse.ui.completionProposal">
     <proposalCategory
           icon="icons/element_obj.gif"
           id="org.eclipse.m2e.editor.xml.proposals"
           name="Maven proposals">
     </proposalCategory>
     <proposalComputer
           activate="false"
           categoryId="org.eclipse.m2e.editor.xml.proposals"
           class="org.eclipse.m2e.editor.xml.PomContentAssistProcessor"
           id="org.eclipse.m2e.editor.xml.proposals">
        <contentType
              id="org.eclipse.m2e.core.pomFile">
        </contentType>
     </proposalComputer>
  </extension>
  <extension
        point="org.eclipse.m2e.editor.pageFactories">
     <factory
           class="org.eclipse.m2e.editor.xml.pomeditor.MavenStructuredPomEditorPageFactory">
     </factory>
  </extension>
  <!--extension
        point="org.eclipse.wst.sse.ui.quickFixProcessor">
     <quickFixProcessor
           class="org.eclipse.m2e.editor.xml.PomQuickAssistProcessor"
           problemType="pomhint">
     </quickFixProcessor>
  </extension-->

</plugin>
