apply plugin: 'java' apply plugin: 'eclipse' springVersion = '3.0.6.RELEASE' springLdapVersion = '1.3.1.RELEASE' ehcacheVersion = '1.6.2' aspectjVersion = '1.6.10' apacheDsVersion = '1.5.5' jstlVersion = '1.2' jettyVersion = '6.1.26' hsqlVersion = '1.8.0.10' slf4jVersion = '1.6.1' logbackVersion = '0.9.29' cglibVersion = '2.2' bundlorProperties = [ version: version, secRange: "[$version, 3.2.0)", springRange: "[$springVersion, 3.2.0)", aspectjRange: '[1.6.0, 1.7.0)', casRange: '[3.1.1, 3.2.0)', cloggingRange: '[1.0.4, 2.0.0)', ehcacheRange: '[1.4.1, 2.5.0)', openid4javaRange: '[0.9.5, 1.0.0)', springLdapRange: '[1.3.0,1.4.0)', apacheDSRange: '[1.5.5, 1.6)', apacheDSSharedRange: '[0.9.15, 1.0)', ldapSdkRange: '[4.1, 5.0)', aopAllianceRange: '[1.0.0, 2.0.0)' ] configurations { // Configuration which is ONLY used for compileJava and will not be inherited by any others // Revisit post Gradle 1.0 compileOnly // Used to identify deps which should be marked as "provided" in maven poms provided testCompile.extendsFrom provided compile.transitive = false testCompile.transitive = false } // Integration test setup configurations { integrationTestCompile { extendsFrom testCompile } integrationTestRuntime { extendsFrom integrationTestCompile, testRuntime } } sourceSets { integrationTest { java.srcDir file('src/integration-test/java') resources.srcDir file('src/integration-test/resources') compileClasspath = sourceSets.main.classes + sourceSets.test.classes + configurations.integrationTestCompile runtimeClasspath = classes + compileClasspath + configurations.integrationTestRuntime } } task integrationTest(type: Test, dependsOn: jar) { testClassesDir = sourceSets.integrationTest.classesDir logging.captureStandardOutput(LogLevel.INFO) classpath = sourceSets.integrationTest.runtimeClasspath maxParallelForks = 1 testReport = false } dependencies { compileOnly 'commons-logging:commons-logging:1.1.1' compile ("org.springframework:spring-core:$springVersion") { exclude(group: 'commons-logging', module: 'commons-logging') } testCompile 'junit:junit:4.7', 'org.mockito:mockito-core:1.8.5', "org.springframework:spring-test:$springVersion" // Use slf4j/logback for logging testRuntime "org.slf4j:jcl-over-slf4j:$slf4jVersion", "ch.qos.logback:logback-classic:$logbackVersion" } [configurations.runtime, configurations.default]*.exclude(module: 'commons-logging') sourceSets.main.compileClasspath += configurations.compileOnly sourceSets.main.compileClasspath += configurations.provided [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' test { jvmArgs = ['-ea', '-Xmx500m'] maxParallelForks = guessMaxForks() logging.captureStandardOutput(LogLevel.INFO) testReport = false } def guessMaxForks() { int processors = Runtime.runtime.availableProcessors() return Math.max(2, (int) (processors / 2)) }