mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-08-24 02:07:11 +00:00
The Platform would like to move to JUnit 4.12 but cannot do so at the moment as Spring Security uses a version of PowerMock which is incompatible with JUnit 4.12. This commit updates Spring Security to use PowerMock 1.6.1 with is compatible with JUnit 4.12.
239 lines
8.7 KiB
Groovy
239 lines
8.7 KiB
Groovy
import org.gradle.plugins.ide.eclipse.model.SourceFolder
|
|
|
|
apply plugin: 'java'
|
|
apply plugin: 'groovy'
|
|
apply plugin: 'javadocHotfix'
|
|
apply plugin: 'eclipse-wtp'
|
|
apply plugin: 'propdeps'
|
|
apply plugin: 'propdeps-maven'
|
|
apply plugin: 'propdeps-idea'
|
|
apply plugin: 'propdeps-eclipse'
|
|
|
|
sourceCompatibility = 1.5
|
|
targetCompatibility = 1.5
|
|
|
|
ext.ehcacheVersion = '1.7.2'
|
|
ext.aspectjVersion = '1.6.10'
|
|
ext.apacheDsVersion = '1.5.5'
|
|
ext.jstlVersion = '1.2.1'
|
|
ext.jettyVersion = '6.1.26'
|
|
ext.hsqlVersion = '2.3.1'
|
|
ext.slf4jVersion = '1.7.5'
|
|
ext.logbackVersion = '0.9.29'
|
|
ext.cglibVersion = '2.2'
|
|
ext.powerMockVersion = '1.6.1'
|
|
ext.servletApiVersion = '3.0.1'
|
|
ext.seleniumVersion = '2.33.0'
|
|
ext.groovyVersion = '2.0.5'
|
|
ext.spockVersion = '0.7-groovy-2.0'
|
|
ext.gebVersion = '0.9.0'
|
|
ext.thymeleafVersion = '2.1.2.RELEASE'
|
|
|
|
ext.spockDependencies = [
|
|
dependencies.create("org.spockframework:spock-spring:$spockVersion") {
|
|
exclude group: 'junit', module: 'junit-dep'
|
|
},
|
|
dependencies.create("org.spockframework:spock-core:$spockVersion") {
|
|
exclude group: 'junit', module: 'junit-dep'
|
|
}
|
|
]
|
|
|
|
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",
|
|
dependencies.create("org.powermock:powermock-api-mockito:$powerMockVersion") {
|
|
exclude group: 'org.mockito', module: 'mockito-all'
|
|
},
|
|
"org.powermock:powermock-reflect:$powerMockVersion"
|
|
]
|
|
|
|
ext.springCoreDependency = [
|
|
dependencies.create("org.springframework:spring-core:$springVersion") {
|
|
exclude(group: 'commons-logging', module: 'commons-logging')
|
|
}
|
|
]
|
|
|
|
ext.jstlDependencies = [
|
|
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
|
"org.apache.taglibs:taglibs-standard-jstlel:1.2.1"
|
|
]
|
|
|
|
ext.apachedsDependencies = [
|
|
"org.apache.directory.server:apacheds-core:$apacheDsVersion",
|
|
"org.apache.directory.server:apacheds-core-entry:$apacheDsVersion",
|
|
"org.apache.directory.server:apacheds-protocol-shared:$apacheDsVersion",
|
|
"org.apache.directory.server:apacheds-protocol-ldap:$apacheDsVersion",
|
|
"org.apache.directory.server:apacheds-server-jndi:$apacheDsVersion",
|
|
'org.apache.directory.shared:shared-ldap:0.9.15'
|
|
]
|
|
|
|
ext.bundlorProperties = [
|
|
version: version,
|
|
secRange: "[$version, 3.3.0)",
|
|
springRange: "[$springVersion, 3.3.0)",
|
|
aspectjRange: '[1.6.0, 1.8.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)'
|
|
]
|
|
|
|
// Integration test setup
|
|
configurations {
|
|
integrationTestCompile {
|
|
extendsFrom testCompile, optional, provided
|
|
}
|
|
integrationTestRuntime {
|
|
extendsFrom integrationTestCompile, testRuntime
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
integrationTest {
|
|
java.srcDir file('src/integration-test/java')
|
|
groovy.srcDirs file('src/integration-test/groovy')
|
|
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
|
|
reports {
|
|
html.destination = project.file("$project.buildDir/reports/integration-tests/")
|
|
junitXml.destination = project.file("$project.buildDir/integration-test-results/")
|
|
}
|
|
}
|
|
project.conf2ScopeMappings.addMapping(MavenPlugin.TEST_COMPILE_PRIORITY + 1, project.configurations.getByName("integrationTestCompile"), Conf2ScopeMappingContainer.TEST)
|
|
project.conf2ScopeMappings.addMapping(MavenPlugin.TEST_COMPILE_PRIORITY + 2, project.configurations.getByName("integrationTestRuntime"), Conf2ScopeMappingContainer.TEST)
|
|
check.dependsOn integrationTest
|
|
|
|
dependencies {
|
|
optional 'commons-logging:commons-logging:1.1.1'
|
|
|
|
testCompile 'junit:junit:4.11',
|
|
'org.mockito:mockito-core:1.9.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, configurations.testCompile]*.exclude(module: 'commons-logging')
|
|
|
|
configurations.all {
|
|
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
|
|
if (details.requested.group == 'org.slf4j') {
|
|
details.useVersion slf4jVersion
|
|
}
|
|
}
|
|
}
|
|
|
|
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
|
|
|
|
project.tasks.matching { it instanceof Test && it.name != 'integrationTest' }.all {
|
|
jvmArgs = ['-ea', '-Xmx500m', '-XX:MaxPermSize=256M']
|
|
maxParallelForks = guessMaxForks()
|
|
logging.captureStandardOutput(LogLevel.INFO)
|
|
}
|
|
|
|
def guessMaxForks() {
|
|
int processors = Runtime.runtime.availableProcessors()
|
|
return Math.max(2, (int) (processors / 2))
|
|
}
|
|
|
|
javadoc {
|
|
title = "Spring Security $version API"
|
|
source = sourceSets.main.allJava
|
|
options {
|
|
memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
|
|
author = true
|
|
header = project.name
|
|
outputLevel = org.gradle.external.javadoc.JavadocOutputLevel.QUIET
|
|
links = [
|
|
"http://static.springsource.org/spring/docs/3.2.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*'],
|
|
]
|
|
}
|
|
}
|
|
|
|
eclipse.classpath.downloadSources = true
|
|
|
|
// http://forums.gradle.org/gradle/topics/eclipse_wtp_deploys_testcode_to_server_example_provided
|
|
eclipse.classpath {
|
|
defaultOutputDir = file('bin/main')
|
|
file.whenMerged { cp ->
|
|
cp.entries.findAll { it instanceof SourceFolder && (it.path.contains("test") || it.path.contains("Test")) }*.output = "bin/test"
|
|
}
|
|
}
|
|
|
|
// GRADLE-1116
|
|
project.eclipse.classpath.file.whenMerged { classpath ->
|
|
classpath.entries.removeAll { entry -> entry.path.endsWith('/build/resources/test') }
|
|
classpath.entries.removeAll { entry -> entry.path.endsWith('/build/classes/test') }
|
|
classpath.entries.removeAll { entry -> entry.path.endsWith('/build/resources/main') }
|
|
classpath.entries.removeAll { entry -> entry.path.endsWith('/build/classes/main') }
|
|
}
|
|
|
|
// GRADLE-1422
|
|
project.eclipseClasspath.doFirst {
|
|
// delay adding whenMerged till the entryAttributes are added (must be the last whenMerged)
|
|
project.eclipse.classpath.file.whenMerged { classpath ->
|
|
def includeDeps = project.configurations.getByName('runtime').collect {f -> f.absolutePath } as Set
|
|
classpath.entries.each { cp ->
|
|
if(cp instanceof org.gradle.plugins.ide.eclipse.model.Library) {
|
|
def include = includeDeps.contains(cp.path)
|
|
def attr = 'org.eclipse.jst.component.dependency'
|
|
if(!include) {
|
|
cp.entryAttributes.remove(attr)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
project.idea.module {
|
|
scopes.TEST.plus += [project.configurations.integrationTestRuntime]
|
|
testSourceDirs += sourceSets.integrationTest.resources.srcDirs
|
|
}
|
|
|
|
task javadocJar(type: Jar) {
|
|
classifier = 'javadoc'
|
|
from javadoc
|
|
}
|
|
|
|
artifacts {
|
|
archives javadocJar
|
|
}
|