123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- apply plugin: 'base'
- allprojects {
- version = '3.0.6.CI-SNAPSHOT'
- releaseBuild = version.endsWith('RELEASE')
- snapshotBuild = version.endsWith('SNAPSHOT')
- group = 'org.springframework.security'
- repositories {
- mavenRepo name:'Local', urls: "file://" + System.properties['user.home'] + "/.m2/repository"
- mavenCentral()
- mavenRepo name: 'SpringSource Milestone Repo', urls: 'http://repository.springsource.com/maven/bundles/milestone'
- mavenRepo name: 'SpringSource Maven Snapshot Repo', urls: 'http://maven.springframework.org/snapshot/'
- mavenRepo name: 'SpringSource Enterprise Release', urls: 'http://repository.springsource.com/maven/bundles/release'
- mavenRepo name: 'SpringSource Enterprise External', urls: 'http://repository.springsource.com/maven/bundles/external'
- }
- }
- configure(javaProjects) {
- apply from: "$rootDir/gradle/javaprojects.gradle"
- apply from: "$rootDir/gradle/maven.gradle"
- }
- configure(coreModuleProjects) {
- apply from: "$rootDir/gradle/bundlor.gradle"
- // Gives better names in structure101 jar diagram
- sourceSets.main.classesDir = new File(buildDir, "classes/" + project.name.substring("spring-security".length() + 1))
- }
- configure (aspectjProjects) {
- apply from: "$rootDir/gradle/aspectj.gradle"
- }
- configurations {
- antlibs
- }
- dependencies {
- antlibs "org.springframework.build:org.springframework.build.aws.ant:3.0.3.RELEASE",
- "net.java.dev.jets3t:jets3t:0.6.1"
- }
- task apidocs(type: Javadoc) {
- destinationDir = new File(buildDir, 'apidocs')
- title = "Spring Security $version API"
- optionsFile = file("$buildDir/tmp/javadoc.options")
- source coreModuleProjects.collect {project ->
- project.sourceSets.main.allJava
- }
- classpath = files(coreModuleProjects.collect {project ->
- project.sourceSets.main.compileClasspath
- })
- }
- task docSiteLogin(type: Login) {
- if (project.hasProperty('sshHost')) {
- host = project.property('sshHost')
- }
- }
- // Define remoteSiteDir and sshHost in gradle.properties
- def remoteDocsDir = null
- if (hasProperty('remoteSiteDir')) {
- remoteDocsDir="$remoteSiteDir/docs/3.0.x"
- }
- task uploadApidocs(type: TarUpload) {
- dependsOn apidocs
- classifier = 'apidocs'
- remoteDir = remoteDocsDir
- login = docSiteLogin
- into('apidocs') {
- from apidocs.destinationDir
- }
- }
- def docsDir = new File(project(':manual').buildDir, 'docs')
- task uploadDoc(type: TarUpload) {
- dependsOn ':manual:doc'
- classifier = 'doc'
- remoteDir = remoteDocsDir
- login = docSiteLogin
- into('reference') {
- from docsDir
- }
- }
- task uploadFaq(type: TarUpload) {
- dependsOn ':faq:docbookHtmlSingle'
- classifier = 'faq'
- if (project.hasProperty('remoteSiteDir')) {
- remoteDir = project.property('remoteSiteDir')
- }
- login = docSiteLogin
- def faqDir = new File(project(':faq').buildDir, 'docs')
- into('faq') {
- from faqDir
- }
- }
- task dist(type: Zip) {
- def zipRootDir = "${project.name}-$version"
- into(zipRootDir) {
- into('docs/apidocs') {
- from apidocs.destinationDir
- }
- into('docs/reference') {
- from docsDir
- }
- into('dist') {
- from coreModuleProjects.collect {project -> project.libsDir }
- from project(':spring-security-samples-tutorial').libsDir
- from project(':spring-security-samples-contacts').libsDir
- }
- }
- }
- dist {
- dependsOn apidocs, ':manual:doc', subprojects.collect { "$it.path:assemble" }
- doLast {
- ant.checksum(file: archivePath, algorithm: 'SHA1', fileext: '.sha1')
- }
- }
- task uploadDist(type: UploadDist) {
- archiveFile = dist.archivePath
- shaFile = "${dist.archivePath}.sha1" as File
- archiveName = dist.archiveName
- classpath = configurations.antlibs
- }
- def getJavaProjects() {
- subprojects.findAll {project -> project.name != 'faq' && project.name != 'manual' }
- }
- def getSampleProjects() {
- subprojects.findAll {project -> project.name.startsWith('spring-security-samples') }
- }
- def getItestProjects() {
- subprojects.findAll {project -> project.name.startsWith('itest') }
- }
- def getCoreModuleProjects() {
- javaProjects - sampleProjects - itestProjects - aspectjProjects
- }
- def getAspectjProjects() {
- subprojects.findAll {project -> project.name == 'spring-security-aspects' || project.name == 'spring-security-samples-aspectj'}
- }
- class UploadDist extends DefaultTask {
- @InputFile
- File shaFile
- @InputFile
- File archiveFile
- @Input
- String archiveName
- @InputFiles
- def classpath
- @TaskAction
- def upload() {
- def accessKey = project.s3AccessKey
- def secretKey = project.s3SecretAccessKey
- def version = project.version
- project.ant {
- taskdef(resource: 'org/springframework/build/aws/ant/antlib.xml', classpath: classpath.asPath)
- s3(accessKey: accessKey, secretKey: secretKey) {
- upload(bucketName: 'dist.springframework.org', file: archiveFile,
- toFile: releaseType() + "/SEC/${archiveName}", publicRead: 'true') {
- metadata(name: 'project.name', value: 'Spring Security')
- metadata(name: 'release.type', value: releaseType())
- metadata(name: 'bundle.version', value: version)
- metadata(name: 'package.file.name', value: archiveName)
- }
- upload(bucketName: 'dist.springframework.org', file: shaFile,
- toFile: releaseType() + "/SEC/${archiveName}.sha1", publicRead: 'true')
- }
- }
- }
- def releaseType() {
- if (project.releaseBuild) {
- 'release'
- } else if (project.snapshotBuild) {
- 'snapshot'
- } else {
- 'milestone'
- }
- }
- }
|