<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ Hibernate, Relational Persistence for Idiomatic Java
  ~
  ~ Copyright (c) 2008, Red Hat Middleware LLC 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 Middleware LLC.
  ~
  ~ 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/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-parent</artifactId>
        <version>3.3.1.GA</version>
        <relativePath>../parent/pom.xml</relativePath>
    </parent>

    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-tutorials</artifactId>
    <packaging>pom</packaging>

    <name>Hibernate Tutorials</name>
    <description>Series of tutorials demonstrating Hibernate functionality</description>

    <modules>
        <module>eg</module>
        <module>web</module>
    </modules>

    <dependencies>
        <dependency>
            <groupId>${groupId}</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${version}</version>
        </dependency>
        <dependency>
            <groupId>${groupId}</groupId>
            <artifactId>hibernate-testing</artifactId>
            <version>${version}</version>
        </dependency>
        <!-- these are optional on core... :( -->
        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.4.GA</version>
        </dependency>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
            <version>2.1_3</version>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm-attrs</artifactId>
            <version>1.5.3</version>
        </dependency>
        <!-- optional dom4j dependency; needed here for dom4j (de)serialization -->
        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
            <version>1.1</version>
        </dependency>
        <!-- the tutorials use HSQLDB -->
         <dependency>
             <groupId>hsqldb</groupId>
             <artifactId>hsqldb</artifactId>
             <version>1.8.0.2</version>
        </dependency>
        <!-- logging setup -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.2</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>99.0-does-not-exist</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
            <version>99.0-does-not-exist</version>
        </dependency>
    </dependencies>

    <build>
        <testResources>
            <testResource>
                <filtering>false</filtering>
                <directory>src/test/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </testResource>
            <testResource>
                <filtering>true</filtering>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
              </plugin>
        </plugins>
    </build>

    <profiles>
        <!-- HSQLDB is the default (eventually move to H2) -->
        <profile>
            <id>hsqldb</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>hsqldb</groupId>
                    <artifactId>hsqldb</artifactId>
                    <version>1.8.0.2</version>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.HSQLDialect</db.dialect>
                <jdbc.driver>org.hsqldb.jdbcDriver</jdbc.driver>
                <jdbc.url>jdbc:hsqldb:target/test/db/hsqldb/hibernate</jdbc.url>
                <jdbc.user>sa</jdbc.user>
                <jdbc.pass />
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The H2 test envionment -->
        <profile>
            <id>h2</id>
            <dependencies>
                <dependency>
                    <groupId>org.h2database</groupId>
                    <artifactId>h2database</artifactId>
                    <version>1.0.20061217</version>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.H2Dialect</db.dialect>
                <jdbc.driver>org.h2.Driver</jdbc.driver>
                <jdbc.url>jdbc:h2:mem:target/test/db/h2/hibernate</jdbc.url>
                <jdbc.user>sa</jdbc.user>
                <jdbc.pass />
                <jdbc.isolation />
            </properties>
        </profile>

        <!--
            ###################################################################
            Profiles naming db instances in the Red Hat QA/QE lab

            First, those with OSS drivers
            ###################################################################
        -->

        <!-- The MySQL5 test envionment -->
        <profile>
            <id>mysql5</id>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.0.5</version>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</db.dialect>
                <jdbc.driver>com.mysql.jdbc.Driver</jdbc.driver>
                <jdbc.url>jdbc:mysql://dev02.qa.atl.jboss.com/cruisecontrol</jdbc.url>
                <jdbc.user>cruisecontrol</jdbc.user>
                <jdbc.pass>cruisecontrol</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The PostgreSQL test envionment -->
        <profile>
            <id>pgsql8</id>
            <dependencies>
                <dependency>
                    <groupId>postgresql</groupId>
                    <artifactId>postgresql</artifactId>
                    <version>8.2-504</version>
                    <classifier>jdbc3</classifier>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.PostgreSQLDialect</db.dialect>
                <jdbc.driver>org.postgresql.Driver</jdbc.driver>
                <jdbc.url>jdbc:postgresql://dev01.qa.atl.jboss.com:5432:cruisecontrol</jdbc.url>
                <jdbc.user>cruisecontrol</jdbc.user>
                <jdbc.pass>cruisecontrol</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!--
            ###################################################################
            Then, those with commercial drivers
            ###################################################################
        -->

        <!-- The Oracle9i test envionment -->
        <profile>
            <id>oracle9i</id>
            <dependencies>
                <dependency>
                    <groupId>com.oracle</groupId>
                    <artifactId>ojdbc14</artifactId>
                    <!-- use the 10g drivers which are surprisingly largely bug free -->
                    <version>10.0.2.0</version>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.Oracle9iDialect</db.dialect>
                <jdbc.driver>oracle.jdbc.driver.OracleDriver</jdbc.driver>
                <jdbc.url>jdbc:oracle:thin:@dev20.qa.atl.jboss.com:1521:qa</jdbc.url>
                <jdbc.user>cruisecontrol</jdbc.user>
                <jdbc.pass>cruisecontrol</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The Oracle10g test envionment -->
        <profile>
            <id>oracle10g</id>
            <dependencies>
                <dependency>
                    <groupId>com.oracle</groupId>
                    <artifactId>ojdbc14</artifactId>
                    <!-- use the 10g drivers which are surprisingly largely bug free -->
                    <version>10.0.2.0</version>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.Oracle10gDialect</db.dialect>
                <jdbc.driver>oracle.jdbc.driver.OracleDriver</jdbc.driver>
                <jdbc.url>jdbc:oracle:thin:@dev01.qa.atl.jboss.com:1521:qadb01</jdbc.url>
                <jdbc.user>cruisecontrol</jdbc.user>
                <jdbc.pass>cruisecontrol</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The DB2 8.x test envionment (using 9x drivers)-->
        <profile>
            <id>db2-8</id>
            <dependencies>
                <dependency>
                    <groupId>com.ibm</groupId>
                    <artifactId>db2jcc</artifactId>
                    <version>3.1.57</version>
                </dependency>
                <dependency>
                    <groupId>com.ibm</groupId>
                    <artifactId>db2jcc_license_cu</artifactId>
                    <version>3.1.57</version>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.DB2Dialect</db.dialect>
                <jdbc.driver>com.ibm.db2.jcc.DB2Driver</jdbc.driver>
                <jdbc.url>jdbc:db2://dev32.qa.atl.jboss.com:50000/jbossqa</jdbc.url>
                <jdbc.user>hiber</jdbc.user>
                <jdbc.pass>hiber</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The Sybase 12 test envionment -->
        <profile>
            <id>sybase12</id>
            <dependencies>
                <dependency>
                    <groupId>com.sybase</groupId>
                    <artifactId>jconnect</artifactId>
                    <version>6.0.5</version>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.SybaseDialect</db.dialect>
                <jdbc.driver>com.sybase.jdbc3.jdbc.SybDriver</jdbc.driver>
                <jdbc.url>jdbc:sybase:Tds:dev01.qa.atl.jboss.com:4100/cruisecontrol</jdbc.url>
                <jdbc.user>cruisecontrol</jdbc.user>
                <jdbc.pass>cruisecontrol</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The SQLServer2005 (jTDS) test envionment -->
        <profile>
            <id>sqlserver-jtds</id>
            <dependencies>
                <dependency>
                    <groupId>net.sourceforge.jtds</groupId>
                    <artifactId>jtds</artifactId>
                    <version>1.2</version>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.SQLServerDialect</db.dialect>
                <jdbc.driver>net.sourceforge.jtds.jdbc.Driver</jdbc.driver>
                <jdbc.url>jdbc:jtds:sqlserver://dev30.qa.atl.jboss.com:3918/cruisecontrol</jdbc.url>
                <jdbc.user>cruisecontrol</jdbc.user>
                <jdbc.pass>cruisecontrol</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The SQLServer2005 (MS JDBC) test envionment -->
        <profile>
            <id>sqlserver-msjdbc</id>
            <dependencies>
                <dependency>
                    <groupId>com.microsoft.sqlserver</groupId>
                    <artifactId>msjdbc</artifactId>
                    <version>1.1</version>
                </dependency>
            </dependencies>
            <properties>
                <db.dialect>org.hibernate.dialect.SQLServerDialect</db.dialect>
                <jdbc.driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</jdbc.driver>
                <jdbc.url>jdbc:sqlserver://dev30.qa.atl.jboss.com:3918</jdbc.url>
                <jdbc.user>cruisecontrol</jdbc.user>
                <jdbc.pass>cruisecontrol</jdbc.pass>
                <jdbc.isolation>4096</jdbc.isolation>
            </properties>
        </profile>

    </profiles>
</project>