<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
  <lifecycleMappings>

    <!--  javaee packaging types -->
    <lifecycleMapping>
      <packagingType>war</packagingType>
      <lifecycleMappingId>org.maven.ide.eclipse.wtp.WarLifecycleMapping</lifecycleMappingId>
      <pluginExecutions>
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <versionRange>[2.0.1,)</versionRange>
            <goals>
              <goal>war</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.configurator</id>
            </configurator>
          </action>
        </pluginExecution>
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <versionRange>[2.0.1,)</versionRange>
            <goals>
              <goal>war</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.warmanifest.configurator</id>
            </configurator>
          </action>
        </pluginExecution>           
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <versionRange>[0.0.1,2.0.1)</versionRange>
            <goals>
              <goal>war</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
          	<error>
          		<message>maven-war-plugin prior to 2.0.1 is not supported by m2e-wtp. Use maven-war-plugin version 2.0.1 or later</message>
          	</error>
          </action>
        </pluginExecution>           
		<pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <versionRange>[2.0.1,)</versionRange>
            <goals>
              <goal>war</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.overlay.configurator</id>
            </configurator>
          </action>
        </pluginExecution>       
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>inplace</goal>
              <goal>exploded</goal>
              <goal>manifest</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
          	<ignore>
          		<message>maven-war-plugin goals "inplace", "exploded", "manifest" are ignored by m2e</message>
          	</ignore>
          </action>
        </pluginExecution>
      </pluginExecutions>
    </lifecycleMapping>
    <lifecycleMapping>
      <packagingType>ejb</packagingType>
      <lifecycleMappingId>org.maven.ide.eclipse.wtp.EjbLifecycleMapping</lifecycleMappingId>
      <pluginExecutions>
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ejb-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>ejb</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.configurator</id>
            </configurator>
          </action>
        </pluginExecution>
      <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ejb-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>ejb</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.ejbmanifest.configurator</id>
            </configurator>
          </action>
        </pluginExecution>          
      </pluginExecutions>
    </lifecycleMapping>
    
    
    <lifecycleMapping>
      <packagingType>ear</packagingType>
      <lifecycleMappingId>org.maven.ide.eclipse.wtp.EarLifecycleMapping</lifecycleMappingId>
      <pluginExecutions>
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>generate-application-xml</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.configurator</id>
            </configurator>
          </action>
        </pluginExecution>
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>ear</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.earmanifest.configurator</id>
            </configurator>
          </action>
        </pluginExecution>
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>generate-application-xml</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.java.unsupportedDependencyTypeConfigurator</id>
            </configurator>
          </action>
        </pluginExecution>  
      </pluginExecutions>
    </lifecycleMapping>
    <lifecycleMapping>
      <packagingType>rar</packagingType>
      <lifecycleMappingId>org.maven.ide.eclipse.wtp.RarLifecycleMapping</lifecycleMappingId>
      <pluginExecutions>
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-rar-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>rar</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.configurator</id>
            </configurator>
          </action>
        </pluginExecution>
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-rar-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>rar</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.rarmanifest.configurator</id>
            </configurator>
          </action>
        </pluginExecution>       
      </pluginExecutions>
    </lifecycleMapping>
    <lifecycleMapping>
      <packagingType>app-client</packagingType>
      <lifecycleMappingId>org.maven.ide.eclipse.wtp.AcrLifecycleMapping</lifecycleMappingId>
      <pluginExecutions>
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-acr-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>acr</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.configurator</id>
            </configurator>
          </action>
        </pluginExecution>
      <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-acr-plugin</artifactId>
            <versionRange>[1.0,)</versionRange>
            <goals>
              <goal>acr</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <configurator>
              <id>org.maven.ide.eclipse.configuration.wtp.acrmanifest.configurator</id>
            </configurator>
          </action>
        </pluginExecution>
      </pluginExecutions>
    </lifecycleMapping>
    
  </lifecycleMappings>
  <pluginExecutions>
	<pluginExecution>
		<pluginExecutionFilter>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<versionRange>[2.0,)</versionRange>
			<goals>
				<goal>compile</goal>
				<goal>testCompile</goal>
			</goals>
		</pluginExecutionFilter>
		<action>
			<configurator>
				<id>org.maven.ide.eclipse.configuration.wtp.webfragment.configurator</id>
			</configurator>
		</action>
	</pluginExecution>
	<pluginExecution>
		<pluginExecutionFilter>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<versionRange>[2.0,)</versionRange>
			<goals>
				<goal>compile</goal>
				<goal>testCompile</goal>
			</goals>
		</pluginExecutionFilter>
		<action>
			<configurator>
				<id>org.maven.ide.eclipse.configuration.wtp.utility.configurator</id>
			</configurator>
		</action>
	</pluginExecution>
	
	<pluginExecution>
		<pluginExecutionFilter>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<versionRange>[2.0,)</versionRange>
			<goals>
				<goal>compile</goal>
				<goal>testCompile</goal>
			</goals>
		</pluginExecutionFilter>
		<action>
			<configurator>
				<id>org.maven.ide.eclipse.configuration.wtp.java.unsupportedDependencyTypeConfigurator</id>
			</configurator>
		</action>
	</pluginExecution>


  </pluginExecutions>

</lifecycleMappingMetadata>