<project>
  <parent>
    <artifactId>core-integration-testing</artifactId>
    <groupId>org.apache.maven.its</groupId>
    <version>2.1-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.maven.its.plugins</groupId>
  <artifactId>maven-it-plugins</artifactId>
  <packaging>pom</packaging>
  <name>Maven Integration Tests :: Plugins</name>
  <modules>
    <module>maven-it-plugin-configuration</module>
    <module>maven-it-plugin-context-passing</module>    
    <module>maven-it-plugin-fork</module>      
    <module>maven-it-plugin-generate-envar-properties</module>
    <module>maven-it-plugin-generate-properties</module>    
    <module>maven-it-plugin-loadable</module>      
    <module>maven-it-plugin-no-project</module>          
    <module>maven-it-plugin-packaging</module>      
    <module>maven-it-plugin-parameter-implementation</module>
    <module>maven-it-plugin-project-interpolation</module>
    <module>maven-it-plugin-setter</module>        
    <module>maven-it-plugin-touch</module>    
    <module>maven-it-plugin-uses-properties</module>
    <module>maven-it-plugin-uses-wagon</module>
    <module>maven-it-plugin-all</module>    
  </modules>
  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/core-integration-testing/trunk/core-integration-testing-plugins</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk/core-integration-testing-plugins</developerConnection>
    <url>http://svn.apache.org/viewcvs.cgi/maven/core-integration-testing/trunk/core-integration-testing-plugins</url>
  </scm>     
  
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.3</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
