<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/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.eclipse.orbit.bundles</groupId>
    <artifactId>orbit-recipes</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>

  <artifactId>apache-parent</artifactId>
  <packaging>pom</packaging>

  <name>Eclipse Orbit :: Apache Recipes</name>

  <modules>
    <module>org.apache.commons.cli_1.4.0</module>
    <module>org.apache.commons.codec_1.13.0</module>
    <module>org.apache.commons.compress_1.19.0</module>
    <module>org.apache.commons.csv_1.4.0</module>
    <module>org.apache.commons.fileupload_1.3.2</module>
    <module>org.apache.commons.io_2.6.0</module>
    <module>org.apache.commons.logging_1.2.0</module>
    <module>org.apache.commons.math3_3.5.0</module>
    <module>org.apache.onami.configuration_6.3.0</module>
    <module>org.apache.pdfbox.fontbox_2.0.6</module>
    <module>org.apache.pdfbox.preflight_2.0.6</module>
    <module>org.apache.pdfbox.xmpbox_2.0.6</module>
    <module>org.apache.pdfbox_2.0.6</module>
    <module>org.apache.sshd.osgi_2.4.0</module>
    <module>org.apache.sshd.sftp_2.4.0</module>
    <module>org.apache.ws.commons.util_1.0.2</module>
    <module>org.apache.wsil4j_1.0.0</module>
    <module>ant</module>
    <module>batik</module>
    <module>felix</module>
    <module>httpcomponents</module>
    <module>jclouds</module>
    <module>lucene</module>
    <module>maven</module>
    <module>xmlrpc</module>
  </modules>

</project>
