86 lines
2.5 KiB
Groovy
86 lines
2.5 KiB
Groovy
|
|
// Task for creating the distro zip
|
|
|
|
configurations {
|
|
antaws
|
|
}
|
|
|
|
dependencies {
|
|
antaws "org.springframework.build:org.springframework.build.aws.ant:3.0.3.RELEASE",
|
|
"net.java.dev.jets3t:jets3t:0.6.1"
|
|
}
|
|
|
|
task dist(type: Zip) {
|
|
dependsOn subprojects*.tasks*.matching { task -> task.name == 'assemble' }
|
|
|
|
evaluationDependsOn(':docs')
|
|
|
|
def zipRootDir = "${project.name}-$version"
|
|
into(zipRootDir) {
|
|
from(rootDir) {
|
|
include '*.txt'
|
|
}
|
|
into('docs') {
|
|
with(project(':docs').apiSpec)
|
|
with(project(':docs:manual').spec)
|
|
}
|
|
into('dist') {
|
|
from coreModuleProjects.collect {project -> project.libsDir }
|
|
from project(':spring-security-samples-tutorial').libsDir
|
|
from project(':spring-security-samples-contacts').libsDir
|
|
}
|
|
}
|
|
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
|
|
}
|
|
|
|
class UploadDist extends DefaultTask {
|
|
@InputFile
|
|
File shaFile
|
|
|
|
@InputFile
|
|
File archiveFile
|
|
|
|
@Input
|
|
String archiveName
|
|
|
|
@TaskAction
|
|
def upload() {
|
|
def accessKey = project.s3AccessKey
|
|
def secretKey = project.s3SecretAccessKey
|
|
def version = project.version
|
|
def classpath = project.configurations.antaws
|
|
|
|
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'
|
|
}
|
|
}
|
|
} |