<?xml version="1.0" encoding="UTF-8"?>
<!--
 ~ Hibernate OGM, Domain model persistence for NoSQL datastores
 ~
 ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later
 ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
  -->
<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>

    <parent>
        <groupId>org.hibernate.ogm</groupId>
        <artifactId>hibernate-ogm-parent</artifactId>
        <version>4.1.0.Final</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <artifactId>hibernate-ogm-bom</artifactId>
    <packaging>pom</packaging>

    <name>Hibernate OGM Bill of Materials</name>
    <description>Hibernate OGM Bill of Materials POM</description>

    <dependencyManagement>
        <dependencies>
            <!-- standards APIs -->
            <dependency>
                <groupId>org.jboss.spec.javax.transaction</groupId>
                <artifactId>jboss-transaction-api_1.2_spec</artifactId>
                <version>1.0.0.Final</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.1-api</artifactId>
                <version>1.0.0.Final</version>
            </dependency>

            <!-- Hibernate Core -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${hibernateVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.logging</groupId>
                        <artifactId>jboss-logging-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${hibernateVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.logging</groupId>
                        <artifactId>jboss-logging-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-envers</artifactId>
                <version>${hibernateVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-infinispan</artifactId>
                <version>${hibernateVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jipijapa</groupId>
                <artifactId>jipijapa-hibernate4-3</artifactId>
                <version>${jipiJapaVersion}</version>
            </dependency>

            <!-- Hibernate Search -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-orm</artifactId>
                <version>${hibernateSearchVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>hibernate-search-analyzers</artifactId>
                        <groupId>org.hibernate</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>slf4j-api</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-engine</artifactId>
                <version>${hibernateSearchVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>hibernate-search-analyzers</artifactId>
                        <groupId>org.hibernate</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>slf4j-api</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.logging</groupId>
                        <artifactId>jboss-logging-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-infinispan</artifactId>
                <version>${hibernateSearchVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>hibernate-search-analyzers</artifactId>
                        <groupId>org.hibernate</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>slf4j-api</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- OGM modules -->
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-ogm-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-ogm-core</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-ogm-ehcache</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-ogm-infinispan</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-ogm-mongodb</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-ogm-neo4j</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-ogm-couchdb</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- Logging -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.16</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${jbossLoggingVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-annotations</artifactId>
                <version>${jbossLoggingProcessorVersion}</version>
            </dependency>

            <!-- slf4j is not used by OGM itself; Still setting the version to make sure different versions pulled in
                 transitively converge -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4jVersion}</version>
            </dependency>

            <!-- HQL Parsing and Lucene Query creation support -->
            <dependency>
                <groupId>org.hibernate.hql</groupId>
                <artifactId>hibernate-hql-parser</artifactId>
                <version>${hibernateParserVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.hql</groupId>
                <artifactId>hibernate-hql-lucene</artifactId>
                <version>${hibernateParserVersion}</version>
                <!-- TODO Remove once parser is updated -->
                <exclusions>
                    <exclusion>
                        <groupId>org.hibernate.javax.persistence</groupId>
                        <artifactId>hibernate-jpa-2.0-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate.hql</groupId>
                <artifactId>hibernate-hql-mongodb</artifactId>
                <version>${hibernateParserVersion}</version>
            </dependency>

            <!-- NoSQL databases -->

            <!-- Ehcache -->
            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache-core</artifactId>
                <version>${ehcacheVersion}</version>
            </dependency>

            <!-- Infinispan -->
            <dependency>
                <groupId>org.infinispan</groupId>
                <artifactId>infinispan-core</artifactId>
                <version>${infinispanVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.transaction</groupId>
                        <artifactId>jboss-transaction-api_1.1_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.infinispan</groupId>
                <artifactId>infinispan-lucene-directory</artifactId>
                <version>${infinispanVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.infinispan</groupId>
                <artifactId>infinispan-core</artifactId>
                <version>${infinispanVersion}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>

            <!-- MongoDB -->
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongo-java-driver</artifactId>
                <version>${mongodbVersion}</version>
            </dependency>

            <!-- Neo4j -->
            <dependency>
                <groupId>org.neo4j</groupId>
                <artifactId>neo4j</artifactId>
                <version>${neo4jVersion}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>neo4j-cypher-compiler-1.9</artifactId>
                        <groupId>org.neo4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>neo4j-cypher-compiler-2.0</artifactId>
                        <groupId>org.neo4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>opencsv</artifactId>
                        <groupId>net.sf.opencsv</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>geronimo-jta_1.1_spec</artifactId>
                        <groupId>org.apache.geronimo.specs</groupId>
                    </exclusion>
                </exclusions>
            </dependency>


        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j-cypher-compiler-1.9</artifactId>
            <version>${neo4jCypherCompilerOlderVersion}</version>
            <exclusions>
                <exclusion>
                    <artifactId>neo4j-graph-matching</artifactId>
                    <groupId>org.neo4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>neo4j-kernel</artifactId>
                    <groupId>org.neo4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>neo4j-graph-algo</artifactId>
                    <groupId>org.neo4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>neo4j-lucene-index</artifactId>
                    <groupId>org.neo4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>scala-library</artifactId>
                    <groupId>org.scala-lang</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j-cypher-compiler-2.0</artifactId>
            <version>${neo4jCypherCompilerOlderVersion}</version>
            <exclusions>
                <exclusion>
                    <artifactId>neo4j-graph-matching</artifactId>
                    <groupId>org.neo4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>neo4j-kernel</artifactId>
                    <groupId>org.neo4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>neo4j-graph-algo</artifactId>
                    <groupId>org.neo4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>neo4j-lucene-index</artifactId>
                    <groupId>org.neo4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>scala-library</artifactId>
                    <groupId>org.scala-lang</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>opencsv</artifactId>
                    <groupId>net.sf.opencsv</groupId>
                </exclusion>
            </exclusions>
        </dependency>

            <!-- RESTEasy for accessing CouchDB -->
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-client</artifactId>
                <version>${resteasyVersion}</version>
                <exclusions>
                    <!-- Javassist changed its group id and is already pulled in with the new id -->
                    <exclusion>
                        <groupId>javassist</groupId>
                        <artifactId>javassist</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxrs</artifactId>
                <version>${resteasyVersion}</version>
                <exclusions>
                    <!-- Actually RESTEasy shouldn't depend on a slf4j backend -->
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-simple</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jackson2-provider</artifactId>
                <version>${resteasyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>jaxrs-api</artifactId>
                <version>${resteasyVersion}</version>
            </dependency>

            <!-- utils -->
            <dependency>
                <groupId>org.hibernate.common</groupId>
                <artifactId>hibernate-commons-annotations</artifactId>
                <version>${hibernateCommonsAnnotationsVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.logging</groupId>
                        <artifactId>jboss-logging-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.18.1-GA</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml</groupId>
                <artifactId>classmate</artifactId>
                <version>${classmateVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.parboiled</groupId>
                <artifactId>parboiled-java</artifactId>
                <version>${parboiledVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.jbossts</groupId>
                <artifactId>jbossjta</artifactId>
                <version>${jbossjtaVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.ws.native</groupId>
                        <artifactId>jbossws-native-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>emma</artifactId>
                        <groupId>emma</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>emma_ant</artifactId>
                        <groupId>emma</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>hornetq-core</artifactId>
                        <groupId>org.hornetq</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>netty</artifactId>
                        <groupId>org.jboss.netty</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>wrapper</artifactId>
                        <groupId>tanukisoft</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jacorb</artifactId>
                        <groupId>jacorb</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jfreechart</artifactId>
                        <groupId>jfree</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-corba-ots-spi</artifactId>
                        <groupId>org.jboss.integration</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-server-manager</artifactId>
                        <groupId>org.jboss.jbossas</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-ejb-api_3.1_spec</artifactId>
                        <groupId>org.jboss.spec.javax.ejb</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jnp-client</artifactId>
                        <groupId>org.jboss.naming</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-servlet-api_3.0_spec</artifactId>
                        <groupId>org.jboss.spec.javax.servlet</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jbossws-common</artifactId>
                        <groupId>org.jboss.ws</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jcl-over-slf4j</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>stax-api</artifactId>
                        <groupId>stax</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>idl</artifactId>
                        <groupId>jacorb</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-connector-api_1.5_spec</artifactId>
                        <groupId>org.jboss.spec.javax.resource</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-transaction-spi</artifactId>
                        <groupId>org.jboss.integration</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-remoting</artifactId>
                        <groupId>org.jboss.remoting</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>slf4j-api</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>dom4j</artifactId>
                        <groupId>dom4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-codec</artifactId>
                        <groupId>commons-codec</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-logmanager</artifactId>
                        <groupId>org.jboss.logmanager</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>hibernate-jpa-2.0-api</artifactId>
                        <groupId>org.hibernate.javax.persistence</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jcommon</artifactId>
                        <groupId>jfree</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-transaction-api_1.1_spec</artifactId>
                        <groupId>org.jboss.spec.javax.transaction</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-httpclient</artifactId>
                        <groupId>commons-httpclient</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-logging-processor</artifactId>
                        <groupId>org.jboss.logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-logging-generator</artifactId>
                        <groupId>org.jboss.logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>
