<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>

  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>
  
  <modules>
    <module>child</module>
  </modules>

  <properties>
    <test.version>2.0.6</test.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>2.0.6</version>
        <scope>compile</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

</project>
