<?xml version="1.0" encoding="UTF-8"?>
<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">

    <!--

        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.
    -->

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
         !!!!!!                                !!!!!!
         !!!!!!    This pom is only provided   !!!!!!
         !!!!!!   for build convenience and    !!!!!!
         !!!!!!   should not be released       !!!!!!
         !!!!!!                                !!!!!!
         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.servicemix</groupId>
        <artifactId>servicemix-pom</artifactId>
        <version>5</version>
    </parent>

    <groupId>org.apache.servicemix.bundles</groupId>
    <artifactId>org.apache.servicemix.bundles.pom</artifactId>
    <version>1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>Apache ServiceMix :: Bundles</name>

    <modules>
        <!-- add modules for all bundles to released in the next batch here -->
        <module>xalan-2.7.2</module>
        <module>cglib-3.2.1</module>
        <module>kafka_2.10-0.9.0.1</module>
        <module>hystrix-1.4.23</module>
        <module>lucene-queryparser-5.4.0</module>
        <module>lucene-queryparser-5.4.1</module>
        <module>lucene-5.5.0</module>
        <module>lucene-analyzers-common-5.5.0</module>
        <module>lucene-queries-5.5.0</module>
        <module>lucene-queryparser-5.5.0</module>
        <module>lucene-sandbox-5.5.0</module>
        <module>solr-solrj-5.5.0</module>
        <module>jedis-2.8.0</module>
        <module>aws-java-sdk-1.10.60</module>
        <module>xstream-1.4.9</module>
        <module>elasticsearch-2.2.1</module>
        <module>facebook4j-2.4.3</module>
        <module>gson-2.1</module>
        <module>ironmq-3.0.3</module>
        <module>okio-1.6.0</module>
        <module>okhttp-2.7.5</module>
        <module>okhttp-3.2.0</module>
        <module>retrofit-1.9.0</module>
        <module>retrofit-2.0.0</module>
        <module>mustache-compiler-0.9.0</module>
        <module>mustache-compiler-0.9.1</module>
        <module>spring-webmvc-4.2.4.RELEASE</module>
        <module>spring-webmvc-4.2.3.RELEASE</module>
        <module>spring-webmvc-4.2.2.RELEASE</module>
        <module>spring-webmvc-4.2.0.RELEASE</module>
        <module>kafka-clients-0.9.0.1</module>
        <module>elasticsearch-1.7.4</module>
        <module>htmlunit-2.20</module>
        <module>docker-java-2.2.3</module>
        <module>jedis-2.8.1</module>
        <module>poi-3.13</module>
        <module>poi-3.14</module>
        <module>hbase-1.2.0</module>
        <module>braintree-java-2.58.0</module>
        <module>qpid-6.0.1</module>
        <module>gae-1.9.34</module>
        <module>aws-java-sdk-1.10.62</module>
        <module>casbah-3.1.1</module>
        <module>saxon-9.7.0-4</module>
        <module>aspectj-1.8.9</module>
        <module>spring-aop-4.2.5.RELEASE</module>
        <module>spring-aspects-4.2.5.RELEASE</module>
        <module>spring-beans-4.2.5.RELEASE</module>
        <module>spring-context-4.2.5.RELEASE</module>
        <module>spring-context-support-4.2.5.RELEASE</module>
        <module>spring-core-4.2.5.RELEASE</module>
        <module>spring-expression-4.2.5.RELEASE</module>
        <module>spring-instrument-4.2.5.RELEASE</module>
        <module>spring-jdbc-4.2.5.RELEASE</module>
        <module>spring-jms-4.2.5.RELEASE</module>
        <module>spring-messaging-4.2.5.RELEASE</module>
        <module>spring-orm-4.2.5.RELEASE</module>
        <module>spring-oxm-4.2.5.RELEASE</module>
        <module>spring-test-4.2.5.RELEASE</module>
        <module>spring-tx-4.2.5.RELEASE</module>
        <module>spring-web-4.2.5.RELEASE</module>
        <module>spring-webmvc-4.2.5.RELEASE</module>
        <module>spring-webmvc-portlet-4.2.5.RELEASE</module>
        <module>spring-websocket-4.2.5.RELEASE</module>
        <module>spring-security-config-4.0.4.RELEASE</module>
        <module>spring-security-core-4.0.4.RELEASE</module>
        <module>spring-integration-core-4.2.5.RELEASE</module>
        <module>guice-4.0</module>
    </modules>

</project>
