spring-security/gradle/javaprojects.gradle

158 lines
5.3 KiB
Groovy

apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = 1.5
targetCompatibility = 1.5
ext.springVersion = '3.2.0.BUILD-SNAPSHOT'
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.servletApiVersion = '7.0.33'
ext.powerMockDependencies = [
"org.powermock:powermock-core:$powerMockVersion",
"org.powermock:powermock-api-support:$powerMockVersion",
"org.powermock:powermock-module-junit4-common:$powerMockVersion",
"org.powermock:powermock-module-junit4:$powerMockVersion",
"org.powermock:powermock-api-mockito:$powerMockVersion",
"org.powermock:powermock-reflect:$powerMockVersion"
]
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",
'org.easytesting:fest-assert:1.4'
// 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))
}
javadoc {
title = "Spring Security $version API"
source = sourceSets.main.allJava
classpath += configurations.compileOnly + configurations.provided
options {
memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
author = true
header = project.name
outputLevel = org.gradle.external.javadoc.JavadocOutputLevel.QUIET
links = [
"http://static.springframework.org/spring/docs/3.0.x/javadoc-api",
"http://static.springsource.org/spring-ldap/docs/1.3.x/apidocs/",
"http://download.oracle.com/javase/6/docs/api/"
]
groups = [
'Spring Security Core':[
'org.springframework.security.core*',
'org.springframework.security.authentication*',
'org.springframework.security.access*',
'org.springframework.security.remoting*',
'org.springframework.security.provisioning*',
'org.springframework.security.util*'],
'Spring Security Web':['org.springframework.security.web*'],
'Spring Security LDAP':['org.springframework.security.ldap*'],
'Spring Security Crypto':['org.springframework.security.crypto*'],
'Spring Security OpenID':['org.springframework.security.openid*'],
'Spring Security CAS':['org.springframework.security.cas*'],
'Spring Security ACL':['org.springframework.security.acls*'],
'Spring Security Config':['org.springframework.security.config*'],
'Spring Security Taglibs':['org.springframework.security.taglibs*'],
]
}
}
task javadocJar(type: Jar) {
classifier = 'javadoc'
from javadoc
}