2019-05-21 17:29:57 -04:00
import org.apache.tools.ant.filters.ReplaceTokens
2016-03-15 12:23:53 -04:00
/ *
* Hibernate , Relational Persistence for Idiomatic Java
*
* 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>.
* /
// build a map of the database settings to use.
ext {
2018-01-17 04:12:07 -05:00
db = project . hasProperty ( 'db' ) ? project . getProperty ( 'db' ) : 'h2'
2022-10-19 13:25:16 -04:00
dbHost = System . getProperty ( 'dbHost' , 'localhost' )
2022-11-28 08:21:42 -05:00
dbService = System . getProperty ( 'dbService' , '' )
2016-03-15 12:23:53 -04:00
dbBundle = [
h2 : [
'db.dialect' : 'org.hibernate.dialect.H2Dialect' ,
'jdbc.driver' : 'org.h2.Driver' ,
'jdbc.user' : 'sa' ,
'jdbc.pass' : '' ,
'jdbc.url' : 'jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;LOCK_TIMEOUT=10000' ,
2023-03-13 14:58:25 -04:00
'connection.init_sql' : '' ,
'hibernate.dialect.native_param_markers' : 'true'
2016-03-15 12:23:53 -04:00
] ,
hsqldb : [
'db.dialect' : 'org.hibernate.dialect.HSQLDialect' ,
'jdbc.driver' : 'org.hsqldb.jdbc.JDBCDriver' ,
'jdbc.user' : 'sa' ,
'jdbc.pass' : '' ,
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:hsqldb:mem:test' ,
'connection.init_sql' : ''
2016-03-15 12:23:53 -04:00
] ,
2016-05-19 01:47:49 -04:00
derby : [
2020-12-17 12:16:09 -05:00
'db.dialect' : 'org.hibernate.dialect.DerbyDialect' ,
2022-11-03 10:15:01 -04:00
'jdbc.driver' : 'org.apache.derby.iapi.jdbc.AutoloadedDriver' ,
2016-05-19 01:47:49 -04:00
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:derby:target/tmp/derby/hibernate_orm_test;databaseName=hibernate_orm_test;create=true' ,
'connection.init_sql' : ''
2016-05-19 01:47:49 -04:00
] ,
2022-11-03 10:15:01 -04:00
derby_old : [
'db.dialect' : 'org.hibernate.dialect.DerbyDialect' ,
'jdbc.driver' : 'org.apache.derby.jdbc.EmbeddedDriver' ,
2016-03-15 12:23:53 -04:00
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
2022-11-03 10:15:01 -04:00
'jdbc.url' : 'jdbc:derby:target/tmp/derby/hibernate_orm_test;databaseName=hibernate_orm_test;create=true' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2016-03-16 10:01:11 -04:00
] ,
2022-11-03 10:15:01 -04:00
pgsql : [
2020-12-17 12:16:09 -05:00
'db.dialect' : 'org.hibernate.dialect.PostgreSQLDialect' ,
2017-09-20 12:02:03 -04:00
'jdbc.driver' : 'org.postgresql.Driver' ,
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
2021-02-03 04:55:07 -05:00
// Disable prepared statement caching due to https://www.postgresql.org/message-id/CAEcMXhmmRd4-%2BNQbnjDT26XNdUoXdmntV9zdr8%3DTu8PL9aVCYg%40mail.gmail.com
2022-12-14 01:18:19 -05:00
'jdbc.url' : 'jdbc:postgresql://' + dbHost + '/hibernate_orm_test?preparedStatementCacheQueries=0&escapeSyntaxCallMode=callIfNoReturn' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2021-02-03 04:55:07 -05:00
] ,
pgsql_ci : [
2021-03-18 06:16:28 -04:00
'db.dialect' : 'org.hibernate.dialect.PostgreSQLDialect' ,
2021-02-03 04:55:07 -05:00
'jdbc.driver' : 'org.postgresql.Driver' ,
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
// Disable prepared statement caching due to https://www.postgresql.org/message-id/CAEcMXhmmRd4-%2BNQbnjDT26XNdUoXdmntV9zdr8%3DTu8PL9aVCYg%40mail.gmail.com
2022-12-14 01:18:19 -05:00
'jdbc.url' : 'jdbc:postgresql://' + dbHost + '/hibernate_orm_test?preparedStatementCacheQueries=0&escapeSyntaxCallMode=callIfNoReturn' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2017-09-20 12:02:03 -04:00
] ,
2021-06-23 08:56:57 -04:00
edb_ci : [
'db.dialect' : 'org.hibernate.dialect.PostgresPlusDialect' ,
'jdbc.driver' : 'org.postgresql.Driver' ,
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
// Disable prepared statement caching due to https://www.postgresql.org/message-id/CAEcMXhmmRd4-%2BNQbnjDT26XNdUoXdmntV9zdr8%3DTu8PL9aVCYg%40mail.gmail.com
2022-12-14 01:18:19 -05:00
'jdbc.url' : 'jdbc:postgresql://' + dbHost + '/hibernate_orm_test?preparedStatementCacheQueries=0&escapeSyntaxCallMode=callIfNoReturn' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2021-06-23 08:56:57 -04:00
] ,
sybase_ci : [
'db.dialect' : 'org.hibernate.dialect.SybaseASEDialect' ,
'jdbc.driver' : 'net.sourceforge.jtds.jdbc.Driver' ,
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
// Disable prepared statement caching to avoid issues with changing schemas
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:jtds:sybase://' + dbHost + ':5000/hibernate_orm_test;maxStatements=0;cacheMetaData=false' ,
'connection.init_sql' : 'set ansinull on'
] ,
2016-03-16 10:01:11 -04:00
mysql : [
2020-12-17 12:16:09 -05:00
'db.dialect' : 'org.hibernate.dialect.MySQLDialect' ,
2021-06-23 08:56:57 -04:00
'jdbc.driver' : 'com.mysql.cj.jdbc.Driver' ,
2016-04-22 06:38:47 -04:00
'jdbc.user' : 'hibernateormtest' ,
'jdbc.pass' : 'hibernateormtest' ,
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:mysql://' + dbHost + '/hibernate_orm_test' ,
'connection.init_sql' : ''
2016-03-29 12:04:48 -04:00
] ,
2021-06-23 08:56:57 -04:00
mysql_ci : [
'db.dialect' : 'org.hibernate.dialect.MySQLDialect' ,
'jdbc.driver' : 'com.mysql.cj.jdbc.Driver' ,
2017-09-11 02:57:09 -04:00
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:mysql://' + dbHost + '/hibernate_orm_test?allowPublicKeyRetrieval=true' ,
'connection.init_sql' : ''
2017-09-11 02:57:09 -04:00
] ,
2016-03-29 12:04:48 -04:00
mariadb : [
2020-12-17 12:16:09 -05:00
'db.dialect' : 'org.hibernate.dialect.MariaDBDialect' ,
2016-03-29 12:04:48 -04:00
'jdbc.driver' : 'org.mariadb.jdbc.Driver' ,
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:mariadb://' + dbHost + '/hibernate_orm_test' ,
'connection.init_sql' : ''
2016-04-17 09:58:15 -04:00
] ,
2020-12-17 12:16:09 -05:00
mariadb_ci : [
'db.dialect' : 'org.hibernate.dialect.MariaDBDialect' ,
'jdbc.driver' : 'org.mariadb.jdbc.Driver' ,
'jdbc.user' : 'root' ,
'jdbc.pass' : 'hibernate_orm_test' ,
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:mariadb://' + dbHost + '/hibernate_orm_test' ,
'connection.init_sql' : ''
2020-12-17 12:16:09 -05:00
] ,
2021-07-20 12:29:18 -04:00
tidb : [
'db.dialect' : 'org.hibernate.dialect.TiDBDialect' ,
'jdbc.driver' : 'com.mysql.jdbc.Driver' ,
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
'jdbc.url' : 'jdbc:mysql://' + dbHost + '/hibernate_orm_test' ,
'connection.init_sql' : ''
] ,
2016-04-24 23:44:04 -04:00
oracle : [
2020-12-17 12:16:09 -05:00
'db.dialect' : 'org.hibernate.dialect.OracleDialect' ,
2020-10-26 07:54:07 -04:00
'jdbc.driver' : 'oracle.jdbc.OracleDriver' ,
2016-04-24 23:44:04 -04:00
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
2023-01-02 10:28:22 -05:00
'jdbc.url' : 'jdbc:oracle:thin:@' + dbHost + ':1521/xepdb1' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2016-04-24 23:44:04 -04:00
] ,
2020-12-17 12:16:09 -05:00
oracle_ci : [
'db.dialect' : 'org.hibernate.dialect.OracleDialect' ,
'jdbc.driver' : 'oracle.jdbc.OracleDriver' ,
2022-11-24 07:41:59 -05:00
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
2023-01-02 10:28:22 -05:00
'jdbc.url' : 'jdbc:oracle:thin:@' + dbHost + ':1521/xepdb1' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2020-12-17 12:16:09 -05:00
] ,
2023-01-04 05:15:43 -05:00
oracle_legacy_ci : [
'db.dialect' : 'org.hibernate.dialect.OracleDialect' ,
'jdbc.driver' : 'oracle.jdbc.OracleDriver' ,
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
// For 11 version that doesn't have any XEPDB1 database service
'jdbc.url' : 'jdbc:oracle:thin:@' + dbHost + ':1521:XE' ,
'connection.init_sql' : ''
] ,
2022-11-28 08:21:42 -05:00
oracle_cloud_autonomous_tls : [
'db.dialect' : 'org.hibernate.dialect.OracleDialect' ,
'jdbc.driver' : 'oracle.jdbc.OracleDriver' ,
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'Oracle_19_Password' ,
// Requires dbHost (pointing to the right cloud region) AND dbService (unique database name).
//
// To avoid hibernate-spatial tests failure, JVM must be enabled as stated in documentation:
// https://docs.oracle.com/en/cloud/paas/autonomous-database/adbsa/autonomous-oracle-java.html
'jdbc.url' : 'jdbc:oracle:thin:@(description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=' + dbHost + '.oraclecloud.com))(connect_data=(service_name=' + dbService + '_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))' ,
'connection.init_sql' : ''
] ,
2016-04-24 23:44:04 -04:00
mssql : [
2020-12-17 12:16:09 -05:00
'db.dialect' : 'org.hibernate.dialect.SQLServerDialect' ,
2016-04-24 23:44:04 -04:00
'jdbc.driver' : 'com.microsoft.sqlserver.jdbc.SQLServerDriver' ,
'jdbc.user' : 'hibernate_orm_test' ,
'jdbc.pass' : 'hibernate_orm_test' ,
2022-08-15 11:44:36 -04:00
'jdbc.url' : 'jdbc:sqlserver://' + dbHost + ';instance=SQLEXPRESS;databaseName=hibernate_orm_test;trustServerCertificate=true' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2016-06-14 03:29:27 -04:00
] ,
2020-12-17 12:16:09 -05:00
mssql_ci : [
'db.dialect' : 'org.hibernate.dialect.SQLServerDialect' ,
'jdbc.driver' : 'com.microsoft.sqlserver.jdbc.SQLServerDriver' ,
'jdbc.user' : 'sa' ,
'jdbc.pass' : 'Hibernate_orm_test' ,
2022-08-15 11:44:36 -04:00
'jdbc.url' : 'jdbc:sqlserver://' + dbHost + ';databaseName=hibernate_orm_test;sendTimeAsDatetime=false;trustServerCertificate=true' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2020-12-17 12:16:09 -05:00
] ,
2016-06-14 03:29:27 -04:00
informix : [
'db.dialect' : 'org.hibernate.dialect.InformixDialect' ,
'jdbc.driver' : 'com.informix.jdbc.IfxDriver' ,
'jdbc.user' : 'informix' ,
'jdbc.pass' : 'in4mix' ,
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:informix-sqli://' + dbHost + ':9088/sysuser:INFORMIXSERVER=dev;user=informix;password=in4mix' ,
'connection.init_sql' : ''
2017-05-08 04:56:35 -04:00
] ,
db2 : [
'db.dialect' : 'org.hibernate.dialect.DB2Dialect' ,
'jdbc.driver' : 'com.ibm.db2.jcc.DB2Driver' ,
'jdbc.user' : 'db2inst1' ,
'jdbc.pass' : 'db2inst1-pwd' ,
2022-11-03 10:15:01 -04:00
'jdbc.url' : 'jdbc:db2://' + dbHost + ':50000/orm_test' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2017-09-14 06:03:41 -04:00
] ,
2020-12-17 12:16:09 -05:00
db2_ci : [
'db.dialect' : 'org.hibernate.dialect.DB2Dialect' ,
'jdbc.driver' : 'com.ibm.db2.jcc.DB2Driver' ,
'jdbc.user' : 'orm_test' ,
'jdbc.pass' : 'orm_test' ,
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:db2://' + dbHost + ':50000/orm_test' ,
'connection.init_sql' : ''
2020-12-17 12:16:09 -05:00
] ,
2020-03-27 12:08:28 -04:00
hana_cloud : [
2022-10-21 10:06:45 -04:00
'db.dialect' : 'org.hibernate.dialect.HANAColumnStoreDialect' ,
2020-03-27 12:08:28 -04:00
'jdbc.driver' : 'com.sap.db.jdbc.Driver' ,
'jdbc.user' : 'HIBERNATE_TEST' ,
'jdbc.pass' : 'H1bernate_test' ,
2021-02-09 07:03:18 -05:00
// Disable prepared statement caching due to https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.04/en-US/78f2163887814223858e4369d18e2847.html
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:sap://' + dbHost + ':443/?encrypt=true&validateCertificate=false&statementCacheSize=0' ,
'connection.init_sql' : ''
2020-03-27 12:08:28 -04:00
] ,
2021-04-06 08:24:13 -04:00
hana_ci : [
'db.dialect' : 'org.hibernate.dialect.HANAColumnStoreDialect' ,
'jdbc.driver' : 'com.sap.db.jdbc.Driver' ,
'jdbc.user' : 'SYSTEM' ,
'jdbc.pass' : 'H1bernate_test' ,
// Disable prepared statement caching due to https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.04/en-US/78f2163887814223858e4369d18e2847.html
2021-09-02 07:08:58 -04:00
'jdbc.url' : 'jdbc:sap://' + dbHost + ':39017/?statementCacheSize=0' ,
'connection.init_sql' : ''
2021-04-06 08:24:13 -04:00
] ,
2019-11-11 14:29:30 -05:00
cockroachdb : [
2020-12-17 12:16:09 -05:00
'db.dialect' : 'org.hibernate.dialect.CockroachDialect' ,
2019-11-11 14:29:30 -05:00
// CockroachDB uses the same pgwire protocol as PostgreSQL, so the driver is the same.
'jdbc.driver' : 'org.postgresql.Driver' ,
'jdbc.user' : 'root' ,
'jdbc.pass' : '' ,
2021-02-03 04:55:07 -05:00
// Disable prepared statement caching due to https://www.postgresql.org/message-id/CAEcMXhmmRd4-%2BNQbnjDT26XNdUoXdmntV9zdr8%3DTu8PL9aVCYg%40mail.gmail.com
2022-12-14 01:18:19 -05:00
'jdbc.url' : 'jdbc:postgresql://' + dbHost + ':26257/defaultdb?sslmode=disable&preparedStatementCacheQueries=0&escapeSyntaxCallMode=callIfNoReturn' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2019-11-11 14:29:30 -05:00
] ,
2021-03-08 08:27:11 -05:00
firebird : [
2022-12-05 06:29:48 -05:00
'db.dialect' : 'org.hibernate.community.dialect.FirebirdDialect' ,
2021-03-08 08:27:11 -05:00
'jdbc.driver' : 'org.firebirdsql.jdbc.FBDriver' ,
'jdbc.user' : 'sysdba' ,
'jdbc.pass' : 'masterkey' ,
// Overriding default transaction definition (5 seconds instead of infinite wait) to prevent problems in test cleanup
// Expects alias 'hibernate_orm_test' in aliases.conf (FB2.5 and earlier) or databases.conf (FB3.0 and later)
// Created database must either use default character set NONE, or UTF8 with page size 16384 or higher (to prevent issues with indexes due to keysize)
2022-12-05 06:29:48 -05:00
'jdbc.url' : 'jdbc:firebirdsql://' + dbHost + '/hibernate_orm_test?charSet=utf-8;TRANSACTION_READ_COMMITTED=read_committed,rec_version,wait,lock_timeout=5' ,
2021-09-02 07:08:58 -04:00
'connection.init_sql' : ''
2021-03-08 08:27:11 -05:00
] ,
2016-03-15 12:23:53 -04:00
]
}
2019-05-21 17:29:57 -04:00
def processTestResourcesTask = project . tasks . findByName ( 'processTestResources' )
if ( processTestResourcesTask ! = null ) {
processTestResourcesTask . inputs . property ( 'db' , db )
2022-10-19 13:25:16 -04:00
processTestResourcesTask . inputs . property ( 'dbHost' , dbHost )
2022-11-03 10:15:01 -04:00
// processTestResourcesTask.inputs.property( "gradle.libs.versions.h2", project.getProperty( "gradle.libs.versions.h2", "2.1.214" ) )
// processTestResourcesTask.inputs.property( "gradle.libs.versions.h2gis", project.getProperty( "gradle.libs.versions.h2gis", "2.1.0" ) )
// processTestResourcesTask.inputs.property( "gradle.libs.versions.hsqldb", project.getProperty( "gradle.libs.versions.hsqldb", "2.7.1" ) )
// processTestResourcesTask.inputs.property( "gradle.libs.versions.derby", project.getProperty( "gradle.libs.versions.derby", "10.15.2.0" ) )
2019-05-21 17:29:57 -04:00
processTestResourcesTask . filter ( ReplaceTokens , tokens: dbBundle [ db ] )
2023-03-13 14:58:25 -04:00
}