<project>
  <parent>
    <groupId>org.apache.felix</groupId>
    <artifactId>felix</artifactId>
    <version>1.1.0-SNAPSHOT</version>
    <relativePath>../pom/pom.xml</relativePath>
  </parent>

  <modelVersion>4.0.0</modelVersion>
  <artifactId>ipojo</artifactId>
  <name>Apache Felix iPOJO</name>
  <version>0.7.5-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
	<module>metadata</module>
    <module>manipulator</module>
	<module>plugin</module>
    <module>core</module>
    <module>arch</module>
	<module>ant</module>
  </modules>
</project>