Change hibernate.properties to take configurable environment settings

This commit is contained in:
Vlad Mihalcea 2016-03-15 18:23:53 +02:00
parent ec4f20a5fb
commit 0ed39c7746
14 changed files with 104 additions and 53 deletions

View File

@ -1,3 +1,5 @@
import org.apache.tools.ant.filters.ReplaceTokens
/* /*
* Hibernate, Relational Persistence for Idiomatic Java * Hibernate, Relational Persistence for Idiomatic Java
* *
@ -8,6 +10,7 @@
apply plugin: 'eclipse' apply plugin: 'eclipse'
apply plugin: 'idea' apply plugin: 'idea'
apply from: "./libraries.gradle" apply from: "./libraries.gradle"
apply from: "./databases.gradle"
buildscript { buildscript {
@ -136,6 +139,8 @@ subprojects { subProject ->
testRuntime( libraries.log4j ) testRuntime( libraries.log4j )
testRuntime( libraries.javassist ) testRuntime( libraries.javassist )
testRuntime( libraries.h2 ) testRuntime( libraries.h2 )
testRuntime( libraries.hsqldb )
testRuntime( libraries.postgresql )
testRuntime( libraries.woodstox ) testRuntime( libraries.woodstox )
// 6.6 gave me some NPE problems from within checkstyle... // 6.6 gave me some NPE problems from within checkstyle...
@ -211,6 +216,12 @@ subprojects { subProject ->
} }
into sourceSets.test.output.classesDir into sourceSets.test.output.classesDir
} }
copy {
ext.targetDir = file( "${buildDir}/resources/test" )
from file('src/test/resources')
into targetDir
filter( ReplaceTokens, tokens: dbBundle[db] );
}
} ) } )
idea { idea {

34
databases.gradle Normal file
View File

@ -0,0 +1,34 @@
/*
* 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 {
db = 'h2'
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',
],
hsqldb : [
'db.dialect' : 'org.hibernate.dialect.HSQLDialect',
'jdbc.driver': 'org.hsqldb.jdbc.JDBCDriver',
'jdbc.user' : 'sa',
'jdbc.pass' : '',
'jdbc.url' : 'jdbc:hsqldb:mem:test'
],
pgsql : [
'db.dialect' : 'org.hibernate.dialect.PostgreSQL94Dialect',
'jdbc.driver': 'org.postgresql.Driver',
'jdbc.user' : 'hibernate_orm_test',
'jdbc.pass' : 'hibernate_orm_test',
'jdbc.url' : 'jdbc:postgresql:hibernate_orm_test'
]
]
}

View File

@ -4,10 +4,11 @@
# License: GNU Lesser General Public License (LGPL), version 2.1 or later. # 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>. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# #
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1 hibernate.connection.url @jdbc.url@
hibernate.connection.username sa hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
hibernate.connection.pool_size 5 hibernate.connection.pool_size 5
hibernate.c3p0.min_size 50 hibernate.c3p0.min_size 50

View File

@ -5,11 +5,11 @@
# See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# #
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
#hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE hibernate.connection.url @jdbc.url@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1 hibernate.connection.username @jdbc.user@
hibernate.connection.username sa hibernate.connection.password @jdbc.pass@
hibernate.connection.pool_size 5 hibernate.connection.pool_size 5

View File

@ -4,10 +4,11 @@
# License: GNU Lesser General Public License (LGPL), version 2.1 or later. # 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>. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# #
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1 hibernate.connection.url @jdbc.url@
hibernate.connection.username sa hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
hibernate.connection.pool_size 5 hibernate.connection.pool_size 5

View File

@ -93,14 +93,9 @@ task copyBundleResources (type: Copy) {
ext.bundlesTargetDir = file( "${buildDir}/bundles" ) ext.bundlesTargetDir = file( "${buildDir}/bundles" )
from file('src/test/bundles') from file('src/test/bundles')
into bundlesTargetDir into bundlesTargetDir
filter(ReplaceTokens, tokens: [ ext.bundleTokens = dbBundle[db]
buildDirName: buildDir.absolutePath, ext.bundleTokens["buildDirName"] = buildDir.absolutePath
'db.dialect': 'org.hibernate.dialect.H2Dialect', filter(ReplaceTokens, tokens: bundleTokens);
'jdbc.driver': 'org.h2.Driver',
'jdbc.user': 'sa',
'jdbc.pass': '',
'jdbc.url': 'jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1',
]);
doFirst { doFirst {
bundlesTargetDir.mkdirs() bundlesTargetDir.mkdirs()
} }
@ -116,3 +111,4 @@ task testJar(type: Jar, dependsOn: testClasses) {
artifacts { artifacts {
tests testJar tests testJar
} }

View File

@ -5,20 +5,21 @@
# See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# #
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;LOCK_TIMEOUT=10000 hibernate.connection.url @jdbc.url@
hibernate.connection.username sa hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
hibernate.connection.pool_size 5 hibernate.connection.pool_size 5
hibernate.show_sql true hibernate.show_sql false
hibernate.format_sql true hibernate.format_sql true
hibernate.max_fetch_depth 5 hibernate.max_fetch_depth 5
hibernate.cache.region_prefix hibernate.test hibernate.cache.region_prefix hibernate.test
hibernate.cache.region.factory_class org.hibernate.testing.cache.CachingRegionFactory hibernate.cache.region.factory_class org.hibernate.testing.cache.CachingRegionFactory
hibernate.jdbc.batch_size 0
hibernate.service.allow_crawling=false hibernate.service.allow_crawling=false
hibernate.session.events.log=true

View File

@ -4,10 +4,11 @@
# License: GNU Lesser General Public License (LGPL), version 2.1 or later. # 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>. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# #
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1 hibernate.connection.url @jdbc.url@
hibernate.connection.username sa hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
hibernate.connection.pool_size 5 hibernate.connection.pool_size 5

View File

@ -4,10 +4,11 @@
# License: GNU Lesser General Public License (LGPL), version 2.1 or later. # 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>. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# #
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1 hibernate.connection.url @jdbc.url@
hibernate.connection.username sa hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
hibernate.jdbc.batch_size 10 hibernate.jdbc.batch_size 10
hibernate.connection.provider_class HikariCPConnectionProvider hibernate.connection.provider_class HikariCPConnectionProvider

View File

@ -4,11 +4,11 @@
# License: GNU Lesser General Public License (LGPL), version 2.1 or later. # 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>. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# #
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1 hibernate.connection.url @jdbc.url@
hibernate.connection.username sa hibernate.connection.username @jdbc.user@
# hibernate.connection.password hibernate.connection.password @jdbc.pass@
hibernate.connection.pool_size 5 hibernate.connection.pool_size 5

View File

@ -5,10 +5,11 @@
# See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# #
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1 hibernate.connection.url @jdbc.url@
hibernate.connection.username sa hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
hibernate.connection.pool_size 5 hibernate.connection.pool_size 5

View File

@ -4,10 +4,11 @@
# License: GNU Lesser General Public License (LGPL), version 2.1 or later. # 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>. # See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# #
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1 hibernate.connection.url @jdbc.url@
hibernate.connection.username sa hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
hibernate.connection.pool_size 5 hibernate.connection.pool_size 5
hibernate.jdbc.batch_size 10 hibernate.jdbc.batch_size 10

View File

@ -13,10 +13,11 @@ hibernate.show_sql true
hibernate.max_fetch_depth 5 hibernate.max_fetch_depth 5
hibernate.dialect org.hibernate.dialect.H2Dialect hibernate.dialect @db.dialect@
hibernate.connection.driver_class org.h2.Driver hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE hibernate.connection.url @jdbc.url@
hibernate.connection.username sa hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
#hibernate.cache.region_prefix hibernate.test #hibernate.cache.region_prefix hibernate.test
#hibernate.cache.region.factory_class org.hibernate.testing.cache.CachingRegionFactory #hibernate.cache.region.factory_class org.hibernate.testing.cache.CachingRegionFactory

View File

@ -83,7 +83,9 @@ ext {
shrinkwrap_api: 'org.jboss.shrinkwrap:shrinkwrap-api:1.0.0-beta-6', shrinkwrap_api: 'org.jboss.shrinkwrap:shrinkwrap-api:1.0.0-beta-6',
shrinkwrap: 'org.jboss.shrinkwrap:shrinkwrap-impl-base:1.0.0-beta-6', shrinkwrap: 'org.jboss.shrinkwrap:shrinkwrap-impl-base:1.0.0-beta-6',
h2: "com.h2database:h2:${h2Version}", h2: "com.h2database:h2:${h2Version}",
hsqldb: "org.hsqldb:hsqldb:2.3.2",
derby: "org.apache.derby:derby:10.11.1.1", derby: "org.apache.derby:derby:10.11.1.1",
postgresql: 'org.postgresql:postgresql:9.4-1202-jdbc41',
jboss_jta: "org.jboss.jbossts:jbossjta:4.16.4.Final", jboss_jta: "org.jboss.jbossts:jbossjta:4.16.4.Final",
xapool: "com.experlog:xapool:1.5.0", xapool: "com.experlog:xapool:1.5.0",
mockito: 'org.mockito:mockito-core:1.9.0', mockito: 'org.mockito:mockito-core:1.9.0',