123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- apply plugin: 'base'
- allprojects {
- version = '3.1.0.CI-SNAPSHOT'
- releaseBuild = version.endsWith('RELEASE')
- snapshotBuild = version.endsWith('SNAPSHOT')
- group = 'org.springframework.security'
- repositories {
- mavenLocal()
- mavenCentral()
- }
- }
- // Set up different subproject lists for individual configuration
- javaProjects = subprojects.findAll { project -> project.name != 'docs' && project.name != 'faq' && project.name != 'manual' }
- sampleProjects = subprojects.findAll { project -> project.name.startsWith('spring-security-samples') }
- itestProjects = subprojects.findAll { project -> project.name.startsWith('itest') }
- coreModuleProjects = javaProjects - sampleProjects - itestProjects
- aspectjProjects = [project(':spring-security-aspects'), project(':spring-security-samples-aspectj')]
- configure(javaProjects) {
- apply from: "$rootDir/gradle/javaprojects.gradle"
- }
- configure(coreModuleProjects) {
- // Gives better names in structure101 jar diagram
- sourceSets.main.classesDir = new File(buildDir, "classes/" + project.name.substring("spring-security".length() + 1))
- apply plugin: 'bundlor'
- bundlor.expansions = bundlorProperties
- apply from: "$rootDir/gradle/maven-deployment.gradle"
- apply plugin: 'emma'
- }
- task coreBuild {
- dependsOn coreModuleProjects*.tasks*.matching { task -> task.name == 'build' }
- }
- configure (aspectjProjects) {
- apply plugin: 'aspectj'
- }
- apply from: "$rootDir/gradle/dist.gradle"
- apply plugin: 'idea'
- configure(javaProjects) {
- apply plugin: 'idea'
- apply plugin: 'eclipse'
- ideaModule {
- downloadJavadoc=false
- excludeDirs.add(buildDir)
- gradleCacheVariable = 'GRADLE_CACHE'
- outputDir = "$rootProject.projectDir/intellij/out" as File
- testOutputDir = "$rootProject.projectDir/intellij/testOut" as File
- whenConfigured { module ->
- def allClasses = module.dependencies.findAll() { dep ->
- if (dep instanceof org.gradle.plugins.idea.model.ModuleLibrary
- && dep.classes.find { path ->
- path.url.matches('.*jcl-over-slf4j.*') ||
- path.url.matches('.*servlet-api.*') ||
- path.url.matches('.*jsp-api.*')
- }) {
- dep.scope = 'COMPILE'
- dep.exported = false
- }
- }
- }
- }
- // GRADLE-1116
- eclipseClasspath.whenConfigured { classpath ->
- classpath.entries.removeAll { entry -> entry.path.endsWith('/build/classes/test') }
- }
- eclipseClasspath.doFirst {
- eclipseClasspath.whenConfigured { classpath ->
- def includeDeps = project.configurations.getByName('runtime')?.collect { f-> f.absolutePath } as Set
- classpath.entries.each { cp ->
- if(cp instanceof org.gradle.plugins.eclipse.model.Library) {
- def include = includeDeps.contains(cp.path)
- def attr = 'org.eclipse.jst.component.dependency'
- if(include && project.hasProperty('war')) {
- // GRADLE-1426 (part a)
- cp.entryAttributes.put(attr,'/WEB-INF/lib')
- } else if(!include) {
- // GRADLE-1422
- cp.entryAttributes.remove(attr)
- }
- }
- }
- }
- }
- // GRADLE-1426 (part b)
- project.plugins.withType(org.gradle.api.plugins.WarPlugin.class).all {
- eclipseWtpComponent.whenConfigured { wtpComp ->
- wtpComp.wbModuleEntries.findAll { it instanceof org.gradle.plugins.eclipse.model.WbDependentModule }.each { e ->
- if(!e.handle.startsWith('module:/resource/')) {
- wtpComp.wbModuleEntries.remove(e)
- }
- }
- }
- }
- tasks.withType(org.gradle.plugins.eclipse.EclipseWtpComponent) {
- whenConfigured { wtpComponent ->
- wtpComponent.contextPath = project.tasks.findByName('jettyRun')?.contextPath?.replaceFirst('/','')
- }
- }
- }
- ideaModule {
- excludeDirs += file('.gradle')
- excludeDirs += file('buildSrc/build')
- excludeDirs += file('buildSrc/.gradle')
- }
- ideaProject {
- javaVersion = '1.6'
- subprojects = [rootProject] + javaProjects
- withXml { node ->
- // Use git
- def vcsConfig = node.component.find { it.'@name' == 'VcsDirectoryMappings' }
- vcsConfig.mapping[0].'@vcs' = 'Git'
- }
- }
- task wrapper(type: Wrapper) {
- gradleVersion = '1.0-milestone-1'
- }
|