<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.maven.it.mng4238</groupId>
  <artifactId>mng-4238</artifactId>
  <version>1</version>
  
  <!-- This is the critical piece for the test.
       If the extension's artifact handler is used, we'll install a .jar.
       If it's not, the default artifact handler will cause Maven to 
       install a .coreit artifact.
  -->
  <packaging>coreit</packaging>
  
  <build>
    <extensions>
      <extension>
        <groupId>org.apache.maven.its</groupId>
        <artifactId>core-it-extension</artifactId>
        <version>2.1-SNAPSHOT</version>
      </extension>
    </extensions>
  </build>
</project>
