<?xml version="1.0"?>
<!--
  ~ 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>
    <groupId>org.apache.ode</groupId>
    <artifactId>ode</artifactId>
    <name>ODE</name>

    <packaging>pom</packaging>
    <modelVersion>4.0.0</modelVersion>
    <version>2.0-SNAPSHOT</version>
    <url>http://incubator.apache.org/ode</url>
    <issueManagement>
        <system>jira</system>
        <url>http://issues.apache.org</url>
    </issueManagement>
    <licenses>
        <license>
            <name>Apache Public License 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/ode/</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/ode/</developerConnection>
        <url>http://svn.apache.org/repos/asf/incubator/ode/</url>
    </scm>

    <organization>
        <name>Apache Software Foundation</name>
        <url>http://www.apache.org</url>
    </organization>


    <properties>
        <vendor.name>Apache Software Foundation</vendor.name>

        <!-- Disable test cases; not ready for everybody -->
        <maven.test.skip>true</maven.test.skip>

        <!--  Default ODE properties, these properties may be referenced in resources and the like. -->

        <ode.default.http.port>8080</ode.default.http.port>
        <ode.default.rmi.port>2099</ode.default.rmi.port>
        <ode.default.jmx.port>8686</ode.default.jmx.port>
        <ode.default.jmx.username>admin</ode.default.jmx.username>
        <ode.default.jmx.password>admin</ode.default.jmx.password>
        <ode.default.domain>MyDomain</ode.default.domain>

        <!--
        |
        | Versions of external dependencies used in build
        | and execution.
        |
        -->
        <activationVersion>1.1</activationVersion>
        <antVersion>1.6.5</antVersion>
        <axisVersion>1.3</axisVersion>
        <axis2Version>1.1</axis2Version>
        <axiomVersion>1.2</axiomVersion>
        <commonsCodecVersion>1.3</commonsCodecVersion>
        <commonsCollectionsVersion>3.1</commonsCollectionsVersion>
        <commonsHttpClientVersion>3.0</commonsHttpClientVersion>
        <commonsLangVersion>2.1</commonsLangVersion>
        <commonsLoggingVersion>1.0.3</commonsLoggingVersion>
        <commonsPoolVersion>1.2</commonsPoolVersion>
        <geronimoSpecsVersion>1.0</geronimoSpecsVersion>
        <geronimoVersion>1.2-beta</geronimoVersion>
        <tranqlVersion>1.1</tranqlVersion>
        <hibernateVersion>3.1.2</hibernateVersion>
        <jaxenVersion>1.1-beta-8</jaxenVersion>
        <jettyVersion>5.1.9</jettyVersion>
        <jencksVersion>1.3</jencksVersion>
        <jasperVersion>4.2.20RC0</jasperVersion>
        <jmockVersion>1.1.0</jmockVersion>
        <junitVersion>3.8.1</junitVersion>
        <log4jVersion>1.2.13</log4jVersion>
        <saxonVersion>8.7</saxonVersion>
        <staxApiVersion>1.0</staxApiVersion>
        <staxVersion>1.1.2-dev</staxVersion>
        <wsdl4jVersion>1.6.1</wsdl4jVersion>
        <xapoolVersion>1.4</xapoolVersion>
        <xercesVersion>2.8.0</xercesVersion>
        <xmlResolverVersion>1.1</xmlResolverVersion>
        <xmlbeansVersion>2.1.0</xmlbeansVersion>
        <springVersion>1.2.6</springVersion>
        <derbyVersion>10.1.2.1</derbyVersion>
        <quartzVersion>1.5.2</quartzVersion>
        <xstreamVersion>1.2</xstreamVersion>
        <xalanVersion>2.7.0</xalanVersion>
        <hsqlDbVersion>1.8.0.7</hsqlDbVersion>
        <openjpaVersion>0.9.7-incubating</openjpaVersion>
        <persistenceAPIVersion>1.0</persistenceAPIVersion>
        <dom4jVersion>1.6.1</dom4jVersion>

        <!--
        | Build number used by the intalio:release plugin
        -->
        <release.buildnumber>1000</release.buildnumber>

    </properties>


    <!--|
        | List of ODE modules to build
        |
    -->
    <modules>
        <module>tools-bin</module>
        <module>axis2</module>
        <module>axis2-war</module>

        <module>utils</module>

        <module>jacob</module>
        <module>jacob-ap</module>

        <module>bpel-scripts</module>
        <module>bpel-schemas</module>
        <module>bpel-obj</module>
        <module>bpel-api</module>
        <module>bpel-dao</module>
        <module>bpel-api-jca</module>
        <module>bpel-compiler</module>
        <module>bpel-runtime</module>
        <module>bpel-ql</module>
        <module>bpel-connector</module>
        <module>bpel-epr</module>
        <module>bpel-test</module>

        <module>dao-hibernate</module>
        <module>bpel-store</module>
        <module>dao-hibernate-db</module>

        <module>jbi</module>
        <module>jca-ra</module>
        <module>jca-rar</module>
        <module>jca-server</module>

        <module>tools</module>
        <module>bpel-scheduler-quartz</module>

        <module>dao-jpa</module>
        <!--module>dao-jpa-ojpa</module-->
        <module>dao-jpa-ojpa-derby</module>

	<!-- If you want a distro, build it explicitly. -->
        <!-- <module>distro-jbi</module> -->
        <!-- <module>distro-axis2</module> -->
    </modules>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junitVersion}</version>
        </dependency>
        <dependency>
            <groupId>jmock</groupId>
            <artifactId>jmock</artifactId>
            <version>${jmockVersion}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!-- |
         | Setup plugins used by the modules.
         |
    -->
    <build>
        <defaultGoal>package</defaultGoal>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh-external</artifactId>
                <version>1.0-alpha-6</version>
            </extension>
        </extensions>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <!-- Alex: Use specific version for release -->
                    <!--version>2.1-SNAPSHOT</version-->
                    <version>2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>2.0-beta-5</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-rar-plugin</artifactId>
                    <version>2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.1.1</version>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>javacc-maven-plugin</artifactId>
                    <version>2.1</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
		    <version>2.0.1</version>
                    <configuration>
                        <source>1.5</source>
                        <target>1.5</target>
                    </configuration>
                </plugin>
                <!--|
            | This version uses xjavadoc-1.1-j5, which doesn't
            | complain on Java 5.0 constructs.
            |
        -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xdoclet-maven-plugin</artifactId>
                    <version>1.0-alpha-2-j5</version>
                </plugin>
                <!--|
	    | This version removes dependency on JSR173,
	    | which is not available in public repositories.
	    |
                -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xmlbeans-maven-plugin</artifactId>
                    <version>2.0-patched</version>
                </plugin>
                <plugin>
                    <artifactId>maven-one-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>install-maven-one-repository</goal>
                                <goal>deploy-maven-one-repository</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <remoteRepositoryId>ode</remoteRepositoryId>
                        <remoteRepositoryUrl>scpexe://ode.intalio.org/var/www/public/maven1</remoteRepositoryUrl>
                    </configuration>
                </plugin>
                <!-- Allows direct usage of the javadoc:javadoc goal. -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.0</version>
                    <configuration>
                        <minmemory>128m</minmemory>
                        <maxmemory>512</maxmemory>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <useProjectReferences>true</useProjectReferences>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>
    </build>



    <!--|
        | List of repositories for all the various dependencies,
        | and Maven plugins.
        |
    -->
    <repositories>
        <repository>
            <id>pxe.intalio.org</id>
            <name>ODE Maven2 repository</name>
            <url>http://pxe.intalio.org/public/maven2</url>
            <snapshots>
               <enabled>true</enabled>
               <updatePolicy>never</updatePolicy>
            </snapshots>
        </repository>
        <repository>
            <id>apache-incubator</id>
            <name>Apache Incubator Repository</name>
            <url>http://people.apache.org/repo/m2-incubating-repository</url>
        </repository>


<!-- Rely only on Intalio repository, prevents maven madness.
        <repository>
            <id>central-maven</id>
            <name>Maven Repository Switchboard</name>
            <url>http://repo1.maven.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
        </repository>
        <repository>
            <id>ibiblio</id>
            <name>ibiblio</name>
            <url>http://www.ibiblio.org/maven2</url>
        </repository>
        <repository>
            <id>ibiblio</id>
            <name>ibiblio</name>
            <url>http://www.ibiblio.org/maven</url>
            <layout>legacy</layout>
        </repository>
        -->
        <repository>
            <id>apache-snapshots</id>
            <name>Apache Snapshot Repository</name>
            <url>http://people.apache.org/repo/m2-snapshot-repository</url>
        </repository>
        <!--
                <repository>
                    <id>apache</id>
                    <name>Apache Repository</name>
                    <url>http://cvs.apache.org/repository</url>
                    <layout>legacy</layout>
                    <snapshots>
                       <enabled>false</enabled>
                       <updatePolicy>never</updatePolicy>
                    </snapshots>
                </repository>
                <repository>
                    <id>ode</id>
                    <name>Apache Ode Repository</name>
                    <url>http://incubator.apache.org/ode/m2</url>
                    <layout>legacy</layout>
                    <snapshots>
                       <enabled>false</enabled>
                       <updatePolicy>never</updatePolicy>
                    </snapshots>
                </repository>
-->

    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <name>Intalio Maven2 repository</name>
            <url>http://pxe.intalio.org/public/maven2</url>
        </pluginRepository>
        <pluginRepository>
            <id>apache-incubator</id>
            <name>Apache Incubator Repository</name>
            <url>http://people.apache.org/repo/m2-incubating-repository</url>
        </pluginRepository>


<!-- Safe sex....
        <pluginRepository>
            <id>central-maven</id>
            <name>Maven Repository Switchboard</name>
            <url>http://repo1.maven.org/maven2</url>
        </pluginRepository>


        <pluginRepository>
            <id>codehaus</id>
            <name>Maven Central Plugins Development Repository</name>
            <url>http://snapshots.maven.codehaus.org/maven2</url>
        </pluginRepository>
        <pluginRepository>
            <id>ibiblio</id>
            <name>ibiblio</name>
            <url>http://www.ibiblio.org/maven2</url>
        </pluginRepository>
        <pluginRepository>
            <id>apache-snapshots</id>
            <name>Apache Snapshot Repository</name>
            <url>http://people.apache.org/repo/m2-snapshot-repository</url>
        </pluginRepository>
-->


    </pluginRepositories>


    <!-- |
	 | Repository for distributing new releases.
	 |
    -->
    <distributionManagement>
        <repository>
            <id>ode-maven2</id>
            <url>scpexe://ode.intalio.org/var/www/public/maven2</url>
        </repository>

        <snapshotRepository>
            <id>ode-maven2-snapshot</id>
            <name>ODE Development Repository</name>
            <url>scpexe://ode.intalio.org/var/www/public/maven2</url>
        </snapshotRepository>
    </distributionManagement>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-runtime</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-axis2</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-ql</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-schemas</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-dao</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-epr</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-api-jca</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-compiler</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-obj</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-scripts</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-store</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-connector</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-dao-hibernate</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-dao-hibernate-db-derby</artifactId>
                <version>${project.version}</version>
                <type>tar</type>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-dao-memory</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-jacob</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-jacob-ap</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-jbi</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-jbi-install</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-jca-ra</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-jca-server</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-jca-rar</artifactId>
                <version>${project.version}</version>
                <type>rar</type>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-tools</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-bpel-scheduler-quartz</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-utils</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-tools-bin</artifactId>
                <type>tar</type>
                <version>${project.version}</version>
                <classifier>tar</classifier>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-examples</artifactId>
                <type>tar</type>
                <version>${project.version}</version>
                <classifier>tar</classifier>
            </dependency>

            <dependency>
                <groupId>axis</groupId>
                <artifactId>axis-saaj</artifactId>
                <version>${axisVersion}</version>
            </dependency>
            <dependency>
                <groupId>quartz</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartzVersion}</version>
                <exclusions>
	  	   <exclusion>
		      <groupId>commons-dbcp</groupId>
                      <artifactId>commons-dbcp</artifactId>
		   </exclusion>
	  	   <exclusion>
		      <groupId>javax.mail</groupId>
                      <artifactId>mail</artifactId>
		   </exclusion>
	  	   <exclusion>
		      <groupId>javax.servlet</groupId>
                      <artifactId>servlet</artifactId>
		   </exclusion>
	  	   <exclusion>
		      <groupId>javax.ejb</groupId>
                      <artifactId>ejb</artifactId>
		   </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>activation</artifactId>
                <version>${activationVersion}</version>
            </dependency>
            <!-- Ant required for org.apache.ode.tools.bpelc.ant.BpelCTask  -->
            <dependency>
                <groupId>ant</groupId>
                <artifactId>ant</artifactId>
                <version>${antVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2</artifactId>
                <version>${axis2Version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ws.commons.axiom</groupId>
                <artifactId>axiom-api</artifactId>
                <version>${axiomVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xercesImpl</artifactId>
                        <groupId>xerces</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.ws.commons.axiom</groupId>
                <artifactId>axiom-impl</artifactId>
                <version>${axiomVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ws.commons.axiom</groupId>
                <artifactId>axiom-dom</artifactId>
                <version>${axiomVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commonsCodecVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${commonsCollectionsVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>${commonsHttpClientVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commonsLangVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${commonsLoggingVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-pool</groupId>
                <artifactId>commons-pool</artifactId>
                <version>${commonsPoolVersion}</version>
                <exclusions>
                    <!-- These need to be excluded, we are on JDK5 -->
                    <exclusion>
                        <artifactId>xerces</artifactId>
                        <groupId>xerces</groupId>
                    </exclusion>

                    <exclusion>
                        <artifactId>xml-apis</artifactId>
                        <groupId>xml-apis</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>junit</artifactId>
                        <groupId>junit</groupId>
                    </exclusion>

                </exclusions>
            </dependency>

            <dependency>
                <groupId>springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${springVersion}</version>
            </dependency>

            <dependency>
                <groupId>springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${springVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate</artifactId>
                <version>${hibernateVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.transaction</groupId>
                        <artifactId>jta</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>ant</artifactId>
                        <groupId>ant</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xml-apis</artifactId>
                        <groupId>xml-apis</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xerces</artifactId>
                        <groupId>xercesImpl</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xerces</artifactId>
                        <groupId>xmlParserAPIs</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>stax</artifactId>
                        <groupId>stax-ri</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xalan</artifactId>
                        <groupId>xalan</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jdom</artifactId>
                        <groupId>jdom</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jaxen</groupId>
                <artifactId>jaxen</artifactId>
                <version>${jaxenVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xalan</artifactId>
                        <groupId>xalan</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xerces</artifactId>
                        <groupId>xercesImpl</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xerces</artifactId>
                        <groupId>xmlParserAPIs</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jdom</artifactId>
                        <groupId>jdom</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>dom4j</artifactId>
                        <groupId>dom4j</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>xalan</artifactId>
                <version>${xalanVersion}</version>
            </dependency>

            <dependency>
                <groupId>hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>${hsqlDbVersion}</version>
            </dependency>

            <!--
              | Jetty is used for the standalone-distro. The
              | JASPER modules are actually required by Jetty
              | but the transitive dependencies are not present.
            -->

            <dependency>
                <groupId>jetty</groupId>
                <artifactId>org.mortbay.jetty</artifactId>
                <version>${jettyVersion}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jetty</groupId>
                <artifactId>jasper-compiler</artifactId>
                <version>${jasperVersion}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jetty</groupId>
                <artifactId>jasper-runtime</artifactId>
                <version>${jasperVersion}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jetty</groupId>
                <artifactId>org.mortbay.jmx</artifactId>
                <version>${jettyVersion}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4jVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
                <version>${geronimoSpecsVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
                <version>${geronimoSpecsVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-qname_1.1_spec</artifactId>
                <version>${geronimoSpecsVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-servlet_2.4_spec</artifactId>
                <version>${geronimoSpecsVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jsp_2.0_spec</artifactId>
                <version>${geronimoSpecsVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.modules</groupId>
                <artifactId>geronimo-kernel</artifactId>
                <version>${geronimoVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
              <groupId>org.apache.geronimo.modules</groupId>
              <artifactId>geronimo-transaction</artifactId>
              <version>${geronimoVersion}</version>
              <exclusions>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-j2ee</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-core</artifactId>
                </exclusion>
              </exclusions>
            </dependency>
            <dependency>
              <groupId>org.apache.geronimo.modules</groupId>
              <artifactId>geronimo-connector</artifactId>
              <version>${geronimoVersion}</version>
              <exclusions>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-kernel</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-system</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-security</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-core</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-j2ee</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-common</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-management</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-naming</artifactId>
                </exclusion>
                <exclusion>
                  <groupId>org.apache.geronimo.modules</groupId>
                  <artifactId>geronimo-deployment</artifactId>
                </exclusion>
              </exclusions>
            </dependency>
            <dependency>
              <groupId>tranql</groupId>
              <artifactId>tranql-connector</artifactId>
              <version>${tranqlVersion}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.saxon</groupId>
                <artifactId>saxon</artifactId>
                <version>${saxonVersion}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.saxon</groupId>
                <artifactId>saxon-dom</artifactId>
                <version>${saxonVersion}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.saxon</groupId>
                <artifactId>saxon-xpath</artifactId>
                <version>${saxonVersion}</version>
            </dependency>
            <dependency>
                <groupId>stax</groupId>
                <artifactId>stax-api</artifactId>
                <version>${staxApiVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xmlbeans-jsr173-api</artifactId>
                        <groupId>xmlbeans</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>stax</groupId>
                <artifactId>stax</artifactId>
                <version>${staxVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xmlbeans-jsr173-api</artifactId>
                        <groupId>xmlbeans</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>wsdl4j</groupId>
                <artifactId>wsdl4j</artifactId>
                <version>${wsdl4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>jencks</groupId>
                <artifactId>xapool-without-pool</artifactId>
                <version>${xapoolVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jencks</groupId>
                <artifactId>jencks</artifactId>
                <version>${jencksVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>${xercesVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>xml-resolver</groupId>
                <artifactId>xml-resolver</artifactId>
                <version>${xmlResolverVersion}</version>
            </dependency>
            <dependency>
                <groupId>xmlbeans</groupId>
                <artifactId>xbean</artifactId>
                <version>${xmlbeansVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xmlbeans-jsr173-api</artifactId>
                        <groupId>xmlbeans</groupId>
                    </exclusion>
                </exclusions>

            </dependency>
            <dependency>
                <groupId>xmlbeans</groupId>
                <artifactId>xbean_xpath</artifactId>
                <version>${xmlbeansVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xmlbeans-jsr173-api</artifactId>
                        <groupId>xmlbeans</groupId>
                    </exclusion>
                </exclusions>

            </dependency>
            <dependency>
                <groupId>xmlbeans</groupId>
                <artifactId>xmlpublic</artifactId>
                <version>${xmlbeansVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xmlbeans-jsr173-api</artifactId>
                        <groupId>xmlbeans</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>${xstreamVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derby</artifactId>
                <version>${derbyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbyclient</artifactId>
                <version>${derbyVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.openjpa</groupId>
                <artifactId>openjpa-all</artifactId>
                <version>${openjpaVersion}</version>
            </dependency>
            <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>persistence-api</artifactId>
                <version>${persistenceAPIVersion}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-dao-jpa</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ode</groupId>
                <artifactId>ode-jpa-ojpa-derby</artifactId>
                <version>${project.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

</project>
