<?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.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>
