apply plugin: 'java' apply plugin: 'eclipse' ext.springVersion = '3.0.7.RELEASE' ext.springLdapVersion = '1.3.1.RELEASE' ext.ehcacheVersion = '1.6.2' ext.aspectjVersion = '1.6.10' ext.apacheDsVersion = '1.5.5' ext.jstlVersion = '1.2' ext.jettyVersion = '6.1.26' ext.hsqlVersion = '1.8.0.10' ext.slf4jVersion = '1.6.1' ext.logbackVersion = '0.9.29' ext.cglibVersion = '2.2' ext.powerMockVersion = '1.4.12' ext.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.output + sourceSets.test.output + configurations.integrationTestCompile runtimeClasspath = output + compileClasspath + configurations.integrationTestRuntime } } task integrationTest(type: Test, dependsOn: jar) { testClassesDir = sourceSets.integrationTest.output.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)) }