You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
238 lines
8.7 KiB
238 lines
8.7 KiB
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.2' |
|
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, 5)", |
|
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.10.19', |
|
"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 = [ |
|
"https://docs.spring.io/spring/docs/3.2.x/javadoc-api/", |
|
"https://docs.spring.io/spring-ldap/docs/1.3.x/apidocs/", |
|
"https://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 |
|
|
|
// https://discuss.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 |
|
}
|
|
|