<?xml version="1.0" encoding="UTF-8" ?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
    http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License. 
-->
<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>
    <packaging>pom</packaging>
    <name>Apache Felix Commons: Reactor</name>
    <groupId>org.apache.felix.commons</groupId>
    <artifactId>reactor</artifactId>
    <version>1</version>
    <description>
        This is just a convenience reactor build.
    </description>

    <modules>
        <!-- The bundles: -->
        <module>activation</module>
        <module>antlr</module>
        <module>aopalliance</module>
        <module>avalon-framework</module>
        <module>backport-util-concurrent</module>
        <module>c3p0</module>
        <module>cglib</module>
        <module>commons-attributes-api</module>
        <module>commons-attributes-compiler</module>
        <module>commons-beanutils</module>
        <module>commons-codec</module>
        <module>commons-configuration</module>
        <module>commons-digester</module>
        <module>commons-el</module>
        <module>commons-email</module>
        <module>commons-fileupload</module>
        <module>commons-httpclient</module>
        <module>commons-jxpath</module>
        <module>commons-logging</module>
        <module>commons-validator</module>
        <module>dom4j</module>
        <module>ehcache</module>
        <module>hibernate</module>
        <module>hsqldb</module>
	    <module>jline</module>
        <module>jms</module>
        <!-- <module>jmxtools</module>  -->
        <module>jsp-api</module>
        <module>jstl</module>
        <module>jta</module>
        <module>jzlib</module>
        <module>log4j</module>
        <module>logkit</module>
        <module>mail</module>
        <module>poi</module>
        <module>poi-full</module>
        <module>portlet-api</module>
        <module>quartz</module>
        <module>servlet-api</module>
        <module>xercesImpl</module>
        <module>xml-apis</module>
        <module>xml-resolver</module>
    </modules>
</project>
