hibernate-orm/hibernate-testing/hibernate-testing.gradle

84 lines
2.3 KiB
Groovy

/*
* 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>.
*/
import org.gradle.plugins.ide.eclipse.model.ProjectDependency
apply from: rootProject.file( 'gradle/published-java-module.gradle' )
description = 'Support for testing Hibernate ORM functionality'
dependencies {
compile project( ':hibernate-core' )
compile( libraries.junit )
compile( libraries.junit5_api )
compile( libraries.junit5_jupiter )
compile( libraries.junit5_params )
compile( 'org.hamcrest:hamcrest-all:1.3' )
runtime( libraries.junit5_vintage )
runtime( libraries.junit5_jupiter )
compile( libraries.byteman )
compile( libraries.byteman_install )
compile( libraries.byteman_bmunit )
compile( libraries.xapool )
compile( libraries.log4j )
compile( libraries.jboss_jta ) {
transitive = false;
}
compile( 'javax.money:money-api:1.0.1' )
compile( 'org.javamoney:moneta:1.1' )
annotationProcessor( project( ':hibernate-jpamodelgen' ) )
testRuntime( libraries.h2 )
testRuntime( libraries.log4j )
}
// resources inherently exclude sources
sourceSets.test.resources {
setSrcDirs( ['src/test/java'] )
}
tasks.eclipse.dependsOn(cleanEclipse)
eclipse {
classpath {
file {
whenMerged { classpath ->
Set exclusionSourceSet = [
//May be a saide efect of 'gradlew_process_test_resources' on hibernate-core.gradle. It will be?!
'/org.eclipse.ui.externaltools.ExternalToolBuilder'
]
List newSourceSet = []
classpath.entries.each { item ->
if( !exclusionSourceSet.contains( item.path ) ) {
//println( 'INCLUDING: ' + item )
newSourceSet.add( item )
} else {
//println( 'NOT INCLUDING: ' + item )
}
}
println( 'newSourceSet:' )
println( newSourceSet )
def hibernateCore = new ProjectDependency('/hibernate-core')
newSourceSet += [
hibernateCore
]
classpath.entries = newSourceSet
}
}
}
}
// todo : Fold into hibernate-core and publish in separate publications
// once http://issues.gradle.org/browse/GRADLE-2966 is resolved;
// that will allow us to keep the same artifactId and publish the pom
// with proper dependencies