<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Hibernate, Relational Persistence for Idiomatic Java
  ~
  ~  Copyright (c) 2010-2014, Red Hat, Inc. and/or its affiliates or third-party contributors as
  ~  indicated by the @author tags or express copyright attribution
  ~  statements applied by the authors.  All third-party contributions are
  ~  distributed under license by Red Hat, Inc.
  ~
  ~  This copyrighted material is made available to anyone wishing to use, modify,
  ~  copy, or redistribute it subject to the terms and conditions of the GNU
  ~  Lesser General Public License, as published by the Free Software Foundation.
  ~
  ~  This program is distributed in the hope that it will be useful,
  ~  but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  ~  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
  ~  for more details.
  ~
  ~  You should have received a copy of the GNU Lesser General Public License
  ~  along with this distribution; if not, write to:
  ~  Free Software Foundation, Inc.
  ~  51 Franklin Street, Fifth Floor
  ~  Boston, MA  02110-1301  USA
  -->
<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>

    <groupId>org.hibernate.ogm</groupId>
    <artifactId>hibernate-ogm-parent</artifactId>
    <version>4.1.0.Beta1</version>
    <packaging>pom</packaging>

    <name>Hibernate OGM Aggregator</name>
    <description>Hibernate OGM Aggregator POM</description>
    <url>http://ogm.hibernate.org</url>

    <inceptionYear>2010</inceptionYear>

    <modules>
        <module>core</module>
        <module>ehcache</module>
        <module>infinispan</module>
        <module>mongodb</module>
        <module>neo4j</module>
        <module>couchdb</module>
        <module>modules</module>
    </modules>

    <prerequisites>
       <maven>3.0.4</maven>
    </prerequisites>

    <issueManagement>
        <system>JIRA</system>
        <url>https://hibernate.onjira.com/browse/OGM</url>
    </issueManagement>

    <scm>
        <connection>scm:git:git://github.com/hibernate/hibernate-ogm.git</connection>
        <developerConnection>scm:git:git@github.com:hibernate/hibernate-ogm.git</developerConnection>
        <url>http://github.com/hibernate/hibernate-ogm</url>
    </scm>

    <organization>
        <name>Hibernate</name>
        <url>http://www.hibernate.org</url>
    </organization>

    <licenses>
        <license>
            <name>GNU Lesser General Public License</name>
            <url>http://www.gnu.org/licenses/lgpl-2.1.html</url>
        </license>
    </licenses>

    <ciManagement>
        <url>http://ci.jboss.org/jenkins/view/hibernate/job/hibernate-ogm/</url>
        <system>Jenkins</system>
    </ciManagement>

    <developers>
        <developer>
            <id>emmanuelbernard</id>
            <name>Emmanuel Bernard</name>
            <email>emmanuel@hibernate.org</email>
            <url>http://in.relation.to/Bloggers/Emmanuel</url>
        </developer>
        <developer>
            <id>sannegrinovero</id>
            <name>Sanne Grinovero</name>
            <email>sanne@hibernate.org</email>
            <url>http://in.relation.to/Bloggers/Sanne</url>
        </developer>
        <developer>
            <id>gunnarmorling</id>
            <name>Gunnar Morling</name>
            <email>gunnar@hibernate.org</email>
            <url>http://in.relation.to/Bloggers/Gunnar</url>
        </developer>
    </developers>

    <mailingLists>
        <mailingList>
            <name>Hibernate Announcements</name>
            <post>hibernate-announce@lists.jboss.org</post>
            <subscribe>https://lists.jboss.org/mailman/listinfo/hibernate-announce</subscribe>
            <unsubscribe>https://lists.jboss.org/mailman/listinfo/hibernate-announce</unsubscribe>
            <archive>http://lists.jboss.org/pipermail/hibernate-dev/</archive>
        </mailingList>
        <mailingList>
            <name>Hibernate Commit Notifications</name>
            <post>hibernate-commits@lists.jboss.org</post>
            <subscribe>https://lists.jboss.org/mailman/listinfo/hibernate-commits</subscribe>
            <unsubscribe>https://lists.jboss.org/mailman/listinfo/hibernate-commits</unsubscribe>
            <archive>http://lists.jboss.org/pipermail/hibernate-commits/</archive>
        </mailingList>
        <mailingList>
            <name>Hibernate Developers</name>
            <post>hibernate-dev@lists.jboss.org</post>
            <subscribe>https://lists.jboss.org/mailman/listinfo/hibernate-dev</subscribe>
            <unsubscribe>https://lists.jboss.org/mailman/listinfo/hibernate-dev</unsubscribe>
            <archive>http://lists.jboss.org/pipermail/hibernate-dev/</archive>
            <otherArchives>
                <otherArchive>http://www.mail-archive.com/hibernate-dev%40lists.jboss.org/index.html</otherArchive>
            </otherArchives>
        </mailingList>
        <mailingList>
            <name>Hibernate Issue Notifications</name>
            <post>hibernate-issues@lists.jboss.org</post>
            <subscribe>https://lists.jboss.org/mailman/listinfo/hibernate-issues</subscribe>
            <unsubscribe>https://lists.jboss.org/mailman/listinfo/hibernate-issues</unsubscribe>
            <archive>http://lists.jboss.org/pipermail/hibernate-issues/</archive>
        </mailingList>
    </mailingLists>

    <properties>
        <ehcacheVersion>2.6.6</ehcacheVersion>
        <infinispanVersion>6.0.0.Final</infinispanVersion>
        <mongodbVersion>2.10.1</mongodbVersion>
        <neo4jVersion>2.0.0-M03</neo4jVersion>
        <hibernateVersion>4.3.1.Final</hibernateVersion>
        <hibernateSearchVersion>4.5.0.CR1</hibernateSearchVersion>
        <hibernateParserVersion>1.0.0.Alpha6</hibernateParserVersion>
        <jbossjtaVersion>4.16.4.Final</jbossjtaVersion>
        <jbossNamingVersion>7.1.0.Final</jbossNamingVersion>
        <jbossLoggingVersion>3.1.1.GA</jbossLoggingVersion>
        <jbossLoggingProcessorVersion>1.0.3.Final</jbossLoggingProcessorVersion>
        <shrinkwrapVersion>1.1.1</shrinkwrapVersion>
        <slf4jVersion>1.7.5</slf4jVersion>
        <resteasyVersion>3.0.6.Final</resteasyVersion>
        <jacksonVersion>1.9.13</jacksonVersion>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- 
             Following is the default jgroups mcast address.  If you find the testsuite runs very slowly, there
             may be problems with multicast on the interface JGroups uses by default on your machine. You can
             try to resolve setting 'jgroups.bind_addr' as a system-property to the jvm launching maven and
             setting the value to an interface where you know multicast works
          -->
        <jgroups.bind_addr>127.0.0.1</jgroups.bind_addr>
        <skipUnitTests>false</skipUnitTests>

        <!-- The following properties configure the embedded MongoDB instance used for tests -->
        <embeddedMongoDbBindIp>127.0.0.1</embeddedMongoDbBindIp>
        <embeddedMongoDbTempDir>${project.build.directory}/embeddedMongoDb/extracted</embeddedMongoDbTempDir>
        <embeddedMongoDbLogDir>${project.build.directory}/embeddedMongoDb/logs</embeddedMongoDbLogDir>
        <!-- Not using default port to reduce chances of shutting down an external MongoDB instance -->
        <embeddedMongoDbPort>27018</embeddedMongoDbPort>
    </properties>

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

            <!-- Hibernate Core -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${hibernateVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${hibernateVersion}</version>
            </dependency>
            <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>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-engine</artifactId>
                <version>${hibernateSearchVersion}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </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>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${jbossLoggingVersion}</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>
            </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>

            <!-- 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-jackson-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>4.0.4.Final</version>
            </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>0.8.0</version>
            </dependency>

            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>

            <!-- Tests -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.easytesting</groupId>
                <artifactId>fest-assert</artifactId>
                <version>1.4</version>
                <scope>test</scope>
            </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>
            <dependency>
                <groupId>com.experlog</groupId>
                <artifactId>xapool</artifactId>
                <scope>test</scope>
                <version>1.5.0</version>
            </dependency>
            <dependency>
              <groupId>org.jboss.naming</groupId>
              <artifactId>jnp-client</artifactId>
              <scope>test</scope>
              <version>${jbossNamingVersion}</version>
            </dependency>
            <dependency>
              <groupId>org.jboss.naming</groupId>
              <artifactId>jnpserver</artifactId>
              <scope>test</scope>
              <version>${jbossNamingVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap</groupId>
                <artifactId>shrinkwrap-impl-base</artifactId>
                <version>${shrinkwrapVersion}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap</groupId>
                <artifactId>shrinkwrap-api</artifactId>
                <version>${shrinkwrapVersion}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap</groupId>
                <artifactId>shrinkwrap-spi</artifactId>
                <version>${shrinkwrapVersion}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>1.9.5</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <defaultGoal>install</defaultGoal>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <showWarnings>true</showWarnings>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF-8</encoding>
                    <!-- needed because of compiler bug: http://bugs.sun.com/view_bug.do?bug_id=6512707 -->
                    <proc>none</proc>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Implementation-Title>${project.name}</Implementation-Title>
                            <Implementation-Version>${project.version}</Implementation-Version>
                            <Implementation-Vendor>hibernate.org</Implementation-Vendor>
                            <Implementation-Vendor-Id>hibernate.org</Implementation-Vendor-Id>
                            <Implementation-URL>http://hibernate.org</Implementation-URL>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-rules</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <rules>
                        <requireJavaVersion>
                            <!-- require JDK 1.7 to run the build -->
                            <version>[1.7,)</version>
                        </requireJavaVersion>
                        <DependencyConvergence />
                    </rules>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <goals>deploy assembly:assembly</goals>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>animal-sniffer-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>check-java-api-signature</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <configuration>
                            <signature>
                                <groupId>org.codehaus.mojo.signature</groupId>
                                <artifactId>java16</artifactId>
                                <version>1.0</version>
                            </signature>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.9</version>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals><goal>jar</goal></goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.4.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.3.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.5</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>1.3.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.10</version>
                    <configuration>
                        <configLocation>src/main/build-config/checkstyle.xml</configLocation>
                        <consoleOutput>true</consoleOutput>
                        <failsOnError>true</failsOnError>
                        <violationSeverity>error</violationSeverity>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <id>check-style</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>checkstyle</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>2.2</version>
                    <executions>
                        <execution>
                            <id>generate-archetype-install</id>
                            <phase>install</phase>
                            <configuration>
                                <archetypePostPhase>install</archetypePostPhase>
                                <propertyFile>archetype.properties</propertyFile>
                            </configuration>
                            <goals>
                                <goal>create-from-project</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>generate-archetype-deploy</id>
                            <phase>deploy</phase>
                            <configuration>
                                <archetypePostPhase>deploy</archetypePostPhase>
                                <propertyFile>archetype.properties</propertyFile>
                            </configuration>
                            <goals>
                                <goal>create-from-project</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.bsc.maven</groupId>
                    <artifactId>maven-processor-plugin</artifactId>
                    <version>2.0.5</version>
                    <executions>
                        <!-- Run annotation processors on src/main/java sources -->
                        <execution>
                            <id>process</id>
                            <goals>
                                <goal>process</goal>
                            </goals>
                            <phase>generate-sources</phase>
                            <configuration>
                                <processors>
                                    <processor>org.jboss.logging.processor.apt.LoggingToolsProcessor</processor>
                                </processors>
                                <compilerArguments>-AtranslationFilesPath=${project.basedir}/src/main/resources/ -source 1.6 -target 1.6</compilerArguments>
                            </configuration>
                        </execution>
                        <!-- Run annotation processors on src/test/java sources -->
                        <execution>
                            <id>process-test</id>
                            <goals>
                                <goal>process-test</goal>
                            </goals>
                            <phase>generate-test-sources</phase>
                            <configuration>
                                <processors>
                                    <processor>org.jboss.logging.processor.apt.LoggingToolsProcessor</processor>
                                </processors>
                                <compilerArguments>-AtranslationFilesPath=${project.basedir}/src/main/resources/ -source 1.6 -target 1.6</compilerArguments>
                            </configuration>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.jboss.logging</groupId>
                            <artifactId>jboss-logging-processor</artifactId>
                            <version>${jbossLoggingProcessorVersion}</version>
                            <scope>compile</scope>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>animal-sniffer-maven-plugin</artifactId>
                    <version>1.9</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.12</version>
                    <configuration>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <systemPropertyVariables>
                           <!-- See test org.hibernate.ogm.test.utils.EnvironmentTest -->
                           <hibernate.service.allow_crawling>false</hibernate.service.allow_crawling>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <!-- Generate the docbook xml from the asciidoc -->
                <plugin>
                    <groupId>org.asciidoctor</groupId>
                    <artifactId>asciidoctor-maven-plugin</artifactId>
                    <version>0.1.3</version>
                </plugin>
                <!-- Process the docbook xml -->
                <plugin>
                    <groupId>org.jboss.maven.plugins</groupId>
                    <artifactId>maven-jdocbook-plugin</artifactId>
                    <version>2.3.6</version>
                    <extensions>true</extensions>
                    <dependencies>
                        <!-- used for code highlighting -->
                        <dependency>
                            <groupId>org.jboss.pressgang</groupId>
                            <artifactId>pressgang-xslt</artifactId>
                            <version>2.0.2</version>
                        </dependency>
                        <!-- Hibernate look -->
                        <dependency>
                            <groupId>org.hibernate</groupId>
                            <artifactId>hibernate-jdocbook-style</artifactId>
                            <version>2.0.1</version>
                            <type>jdocbook-style</type>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.jboss.maven.plugins</groupId>
                    <artifactId>maven-jdocbook-style-plugin</artifactId>
                    <version>2.0.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.4</version>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <descriptors>
                                    <descriptor>${basedir}/src/main/assembly/dist.xml</descriptor>
                                </descriptors>
                                <finalName>${assembly.name}</finalName>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.2.2</version>
                    <configuration>
                        <preparationGoals>clean install</preparationGoals>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <allowTimestampedSnapshots>true</allowTimestampedSnapshots>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.jboss.maven.plugins</groupId>
                    <artifactId>maven-injection-plugin</artifactId>
                    <version>1.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.1.2</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.7</version>
                </plugin>
                <plugin>
                    <artifactId>maven-help-plugin</artifactId>
                    <version>2.1.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.12.4</version>
                </plugin>
                <!-- Unpack test from hibernate-ogm-core to re-run them on each other module database integration -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.4</version>
                    <executions>
                        <execution>
                            <id>unpack</id>
                            <phase>process-test-classes</phase>
                            <goals>
                                <goal>unpack</goal>
                            </goals>
                            <configuration>
                                <artifactItems>
                                    <artifactItem>
                                        <groupId>org.hibernate.ogm</groupId>
                                        <artifactId>hibernate-ogm-core</artifactId>
                                        <version>${project.version}</version>
                                        <type>test-jar</type>
                                        <outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
                                    </artifactItem>
                                </artifactItems>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <!-- This plugin's configuration is used in m2e only. -->
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.jboss.maven.plugins</groupId>
                                        <artifactId>maven-injection-plugin</artifactId>
                                        <versionRange>[1.0.2,)</versionRange>
                                        <goals>
                                            <goal>bytecode</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.1,)</versionRange>
                                        <goals>
                                            <goal>unpack</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.github.joelittlejohn.embedmongo</groupId>
                                        <artifactId>embedmongo-maven-plugin</artifactId>
                                        <versionRange>[0.1.9,)</versionRange>
                                        <goals>
                                            <goal>start</goal>
                                            <goal>stop</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.gmaven</groupId>
                                        <artifactId>gmaven-plugin</artifactId>
                                        <versionRange>[1.4,)</versionRange>
                                        <goals>
                                            <goal>execute</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.github.joelittlejohn.embedmongo</groupId>
                    <artifactId>embedmongo-maven-plugin</artifactId>
                    <version>0.1.9</version>
                    <configuration>
                        <port>${embeddedMongoDbPort}</port>
                        <logging>file</logging>
                        <logFile>${embeddedMongoDbLogDir}/embedded-mongodb.log</logFile>
                        <bindIp>${embeddedMongoDbBindIp}</bindIp>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>gmaven-plugin</artifactId>
                    <version>1.4</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <repositories>
        <!--
        To build Hibernate OGM you have to add the JBoss Maven repository to your settings.xml
        See also http://community.jboss.org/wiki/OverviewofHibernateOGM
        -->
    </repositories>


    <distributionManagement>
        <repository>
            <id>jboss-releases-repository</id>
            <name>JBoss Releases Repository</name>
            <url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
        </repository>
        <snapshotRepository>
            <id>jboss-snapshots-repository</id>
            <name>JBoss Snapshots Repository</name>
            <url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <profiles>
        <profile>
            <id>integrationtest</id>
            <activation>
                <property>
                    <name>skipITs</name>
                    <value>!true</value>
                </property>
            </activation>
            <modules>
                <module>integrationtest</module>
            </modules>
        </profile>
        <profile>
            <id>doc</id>
            <activation>
                <property>
                    <name>skipDocs</name>
                    <value>!true</value>
                </property>
            </activation>
            <modules>
                <module>documentation</module>
            </modules>
        </profile>
        <profile>
            <id>distro</id>
            <activation>
                <property>
                    <name>skipDistro</name>
                    <value>!true</value>
                </property>
            </activation>
            <modules>
                <module>distribution</module>
            </modules>
        </profile>
    </profiles>
</project>

