blob: 1b33096cebc7a7fef4138f6f63945f3fe58bfacc [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<!--
Maven release plugin requires the project tag to be on a single line.
-->
<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.apache.openjpa</groupId>
<artifactId>openjpa-persistence-jdbc</artifactId>
<packaging>jar</packaging>
<name>OpenJPA JPA JDBC</name>
<description>OpenJPA JPA JDBC</description>
<url>http://openjpa.apache.org</url>
<parent>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-parent</artifactId>
<version>1.0.5-SNAPSHOT</version>
</parent>
<properties>
<openjpa.Log>DefaultLevel=INFO</openjpa.Log>
<!-- to set debug arguments, you might set the following at the command line:
-Dtest.jvm.arguments="-Xmx500m -agentlib:jdwp=transport=dt_socket,server=y,address=8000"
-->
<test.jvm.arguments>-Xmx500m</test.jvm.arguments>
<dbcp.maxActive>10</dbcp.maxActive>
<dbcp.maxIdle>5</dbcp.maxIdle>
<dbcp.minIdle>2</dbcp.minIdle>
<dbcp.maxWait>10000</dbcp.maxWait>
<dbcp.args>MaxActive=${dbcp.maxActive},MaxIdle=${dbcp.maxIdle},MinIdle=${dbcp.minIdle},MaxWait=${dbcp.maxWait}</dbcp.args>
<derby.locks.waitTimeout>6</derby.locks.waitTimeout>
<derby.locks.deadlockTimeout>5</derby.locks.deadlockTimeout>
</properties>
<profiles>
<!-- Profile for testing with Apache Derby -->
<profile>
<id>test-derby</id>
<activation>
<activeByDefault>true</activeByDefault>
<property><name>test-derby</name></property>
</activation>
<dependencies>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<scope>test</scope>
<version>10.2.2.0</version>
</dependency>
</dependencies>
<properties>
<connection.driver.name>org.apache.derby.jdbc.EmbeddedDriver</connection.driver.name>
<connection.url>jdbc:derby:target/database/openjpa-derby-database;create=true</connection.url>
<connection.username />
<connection.password />
</properties>
</profile>
<!-- Profile for testing with HSQL DB -->
<profile>
<id>test-hsqldb</id>
<activation><property><name>test-hsqldb</name></property></activation>
<dependencies>
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.7</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<connection.driver.name>org.hsqldb.jdbcDriver</connection.driver.name>
<connection.url>jdbc:hsqldb:target/database/openjpa-hsqldb-database;create=true</connection.url>
<connection.username>sa</connection.username>
<connection.password />
</properties>
</profile>
<!-- Profile for testing with MySQL DB -->
<profile>
<id>test-mysql</id>
<activation><property><name>test-mysql</name></property></activation>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<connection.driver.name>com.mysql.jdbc.Driver</connection.driver.name>
<connection.url>${openjpa.mysql.url}</connection.url>
<connection.username>${openjpa.mysql.username}</connection.username>
<connection.password>${openjpa.mysql.password}</connection.password>
</properties>
</profile>
<!-- Profile for testing with PostgreSQL DB -->
<profile>
<id>test-postgresql</id>
<activation><property><name>test-postgresql</name></property></activation>
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>8.1-407.jdbc3</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<connection.driver.name>org.postgresql.Driver</connection.driver.name>
<connection.url>${openjpa.postgresql.url}</connection.url>
<connection.username>${openjpa.postgresql.username}</connection.username>
<connection.password>${openjpa.postgresql.password}</connection.password>
</properties>
</profile>
<!-- Profile for testing with SQLServer DB using the jTDS driver -->
<profile>
<id>test-sqlserver</id>
<activation><property><name>test-sqlserver</name></property></activation>
<dependencies>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<connection.driver.name>net.sourceforge.jtds.jdbc.Driver</connection.driver.name>
<connection.url>${openjpa.sqlserver.url}</connection.url>
<connection.username>${openjpa.sqlserver.username}</connection.username>
<connection.password>${openjpa.sqlserver.password}</connection.password>
</properties>
</profile>
<!-- Profile for testing with Sybase DB using the jTDS driver -->
<profile>
<id>test-sybase</id>
<activation><property><name>test-sybase</name></property></activation>
<dependencies>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<connection.driver.name>net.sourceforge.jtds.jdbc.Driver</connection.driver.name>
<connection.url>${openjpa.sybase.url}</connection.url>
<connection.username>${openjpa.sybase.username}</connection.username>
<connection.password>${openjpa.sybase.password}</connection.password>
</properties>
</profile>
<!-- Profile for testing with a custom DB using a system jar -->
<!--
For example, to test with Oracle, you might run:
mvn test -Dtest=TestPersistence -Ptest-custom \
-Dopenjpa.custom.driverjar=$(pwd)/drivers/jdbc-oracle-10_2_0_1_0.jar \
-Dopenjpa.custom.driverclass=oracle.jdbc.driver.OracleDriver \
-Dopenjpa.custom.url=jdbc:oracle:thin:@HOST:PORT:DBNAME \
-Dopenjpa.custom.username=USERNAME \
-Dopenjpa.custom.password=PASSWORD
-->
<profile>
<id>test-custom</id>
<activation><property><name>test-custom</name></property></activation>
<dependencies>
<dependency>
<groupId>openjpa.customdriver</groupId>
<artifactId>openjpa.customdriver</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${openjpa.custom.driverjar}</systemPath>
</dependency>
</dependencies>
<properties>
<connection.driver.name>${openjpa.custom.driverclass}</connection.driver.name>
<connection.url>${openjpa.custom.url}</connection.url>
<connection.username>${openjpa.custom.username}</connection.username>
<connection.password>${openjpa.custom.password}</connection.password>
</properties>
</profile>
<!-- Profile for testing with a custom DB using two system jars.
Some databases (DB2) use more than one jar for their JDBC provider.
Functionally this is identical to the previous profile, with a
second system dependency added.
-->
<!--
For example, to test with DB2, you might run:
mvn test -Dtest=TestPersistence -Ptest-custom2 \
-Dopenjpa.custom.driverjar1=$(pwd)/drivers/db2jcc.jar \
-Dopenjpa.custom.driverjar2=$(pwd)/drviers/db2jcc_license_cu.jar \
-Dopenjpa.custom.driverclass=com.ibm.db2.jcc.DB2Driver \
-Dopenjpa.custom.url=jdbc:db2://HOST:PORT/DBNAME \
-Dopenjpa.custom.username=USERNAME \
-Dopenjpa.custom.password=PASSWORD
-->
<profile>
<id>test-custom2</id>
<activation><property><name>test-custom2</name></property></activation>
<dependencies>
<dependency>
<groupId>openjpa.customdriver1</groupId>
<artifactId>openjpa.customdriver1</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${openjpa.custom.driverjar1}</systemPath>
</dependency>
<dependency>
<groupId>openjpa.customdriver2</groupId>
<artifactId>openjpa.customdriver2</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${openjpa.custom.driverjar2}</systemPath>
</dependency>
</dependencies>
<properties>
<connection.driver.name>${openjpa.custom.driverclass}</connection.driver.name>
<connection.url>${openjpa.custom.url}</connection.url>
<connection.username>${openjpa.custom.username}</connection.username>
<connection.password>${openjpa.custom.password}</connection.password>
</properties>
</profile>
<!--
The test-custom2 profile does not work very well when used with a
continuous build system. As a convenience I've added profiles for
some of the proprietary databases to make testing easier.
-->
<profile>
<!--
Example db2 profile. You can use this profile if you:
1) have the DB2 artifacts installed in a local repo and supply
the URL:
-Ddb2.maven.repo=http://my.local.repo
2) have a copy of the DB2 JCC driver and run the following
commands :
mvn install:install-file -Dfile=${path to db2jcc.jar} \
-DgroupId=com.ibm.db2 \
-DartifactId=jcc-driver \
-Dversion=9.5 \
-Dpackaging=jar
mvn install:install-file -Dfile=${path to db2jcc_license.jar} \
-DgroupId=com.ibm.db2 \
-DartifactId=jcc-license \
-Dversion=9.5 \
-Dpackaging=jar
You must also set the following properties:
-Dopenjpa.db2.url=jdbc:db2://<HOST>:<PORT>/<DBNAME>
-Dopenjpa.db2.username=<db2_uid>
-Dopenjpa.db2.password=<db2_pwd>
Optionally, you can override the default DB2 groupId and version
by also supplying the following properties:
-Ddb2.groupid=com.ibm.db2
-Ddb2.version=9.5
-->
<id>test-db2-jcc</id>
<dependencies>
<dependency>
<groupId>${db2.groupid}</groupId>
<artifactId>jcc-driver</artifactId>
<version>${db2.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${db2.groupid}</groupId>
<artifactId>jcc-license</artifactId>
<version>${db2.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<db2.maven.repo>http://not.a.real.repository</db2.maven.repo>
<db2.groupid>com.ibm.db2</db2.groupid>
<db2.version>9.5</db2.version>
<connection.driver.name>com.ibm.db2.jcc.DB2Driver</connection.driver.name>
<connection.url>${openjpa.db2.url}</connection.url>
<connection.username>${openjpa.db2.username}</connection.username>
<connection.password>${openjpa.db2.password}</connection.password>
</properties>
<repositories>
<repository>
<id>db2.repository</id>
<name>DB2 Repository</name>
<url>${db2.maven.repo}</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
<checksumPolicy>ignore</checksumPolicy>
</releases>
</repository>
</repositories>
</profile>
<profile>
<!--
Example oracle profile. You can use this profile if you:
1) have the Oracle artifacts installed in a local repo and
supply the URL:
-Doracle.maven.repo=http://my.local.repo
2) have a copy of the Oracle driver and run the following
command:
mvn install:install-file -Dfile=${path to ojdbc.jar} \
-DgroupId=com.oracle \
-DartifactId=jdbc-driver \
-Dversion=10g \
-Dpackaging=jar
You must also set the following properties:
-Dopenjpa.oracle.url
-Dopenjpa.oracle.username
-Dopenjpa.oracle.password
Optionally, you can override the default Oracle groupId and
version by also supplying the following properties:
-Doracle.groupid=com.oracle
-Doracle.version=10g
-->
<id>test-oracle</id>
<dependencies>
<dependency>
<groupId>${oracle.groupid}</groupId>
<artifactId>jdbc-driver</artifactId>
<version>${oracle.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<oracle.maven.repo>http://not.a.real.repository</oracle.maven.repo>
<oracle.groupid>com.oracle</oracle.groupid>
<oracle.version>10g</oracle.version>
<connection.driver.name>oracle.jdbc.driver.OracleDriver</connection.driver.name>
<connection.url>${openjpa.oracle.url}</connection.url>
<connection.username>${openjpa.oracle.username}</connection.username>
<connection.password>${openjpa.oracle.password}</connection.password>
</properties>
<repositories>
<repository>
<id>oracle.repository</id>
<name>Oracle Repository</name>
<url>${oracle.maven.repo}</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
<checksumPolicy>ignore</checksumPolicy>
</releases>
</repository>
</repositories>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-jdbc-5</artifactId>
<version>${pom.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-persistence</artifactId>
<version>${pom.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>test-compile</phase>
<configuration>
<tasks>
<ant antfile="src/main/ant/enhancer.xml" target="enhance" inheritRefs="true">
<!--
InheritAll doesn't seem to work. Pass in
properties manually.
-->
<property name="maven.test.skip" value="${maven.test.skip}" />
<property name="test" value="${test}" />
<property name="outdir" value="${project.build.outputDirectory}" />
<property name="project.build.testOutputDirectory" value="${project.build.testOutputDirectory}" />
<property name="openjpa.Log" value="${openjpa.Log}" />
</ant>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>${test.jvm.arguments}</argLine>
<systemProperties>
<property>
<name>openjpa.Log</name>
<value>${openjpa.Log}</value>
</property>
<property>
<name>openjpa.ConnectionDriverName</name>
<value>org.apache.commons.dbcp.BasicDataSource</value>
</property>
<property>
<name>derby.stream.error.file</name>
<value>target/derby.log</value>
</property>
<property>
<name>derby.locks.deadlockTimeout</name>
<value>${derby.locks.deadlockTimeout}</value>
</property>
<property>
<name>derby.locks.waitTimeout</name>
<value>${derby.locks.waitTimeout}</value>
</property>
<property>
<name>openjpa.ConnectionProperties</name>
<value>DriverClassName=${connection.driver.name},Url=${connection.url},Username=${connection.username},Password=${connection.password},${dbcp.args}</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>
</build>
</project>