47 lines
1.5 KiB
Groovy
47 lines
1.5 KiB
Groovy
import java.nio.file.Files
|
|
|
|
String buildNumber = System.getenv('BUILD_NUMBER')
|
|
|
|
if (buildNumber) {
|
|
File uploadFile = file("build/${buildNumber}.tar.bz2")
|
|
project.gradle.buildFinished { result ->
|
|
println "build complete, generating: $uploadFile"
|
|
if (uploadFile.exists()) {
|
|
project.delete(uploadFile)
|
|
}
|
|
|
|
try {
|
|
ant.tar(destfile: uploadFile, compression: "bzip2", longfile: "gnu") {
|
|
fileset(dir: projectDir) {
|
|
Set<File> fileSet = fileTree(projectDir) {
|
|
include("**/*.hprof")
|
|
include("**/reaper.log")
|
|
include("**/build/testclusters/**")
|
|
exclude("**/build/testclusters/**/data/**")
|
|
exclude("**/build/testclusters/**/distro/**")
|
|
exclude("**/build/testclusters/**/repo/**")
|
|
exclude("**/build/testclusters/**/extract/**")
|
|
}
|
|
.files
|
|
.findAll { Files.isRegularFile(it.toPath()) }
|
|
|
|
if (fileSet.empty) {
|
|
// In cases where we don't match any workspace files, exclude everything
|
|
ant.exclude(name: "**/*")
|
|
} else {
|
|
fileSet.each {
|
|
ant.include(name: projectDir.toPath().relativize(it.toPath()))
|
|
}
|
|
}
|
|
}
|
|
|
|
fileset(dir: "${gradle.gradleUserHomeDir}/daemon/${gradle.gradleVersion}", followsymlinks: false) {
|
|
include(name: "**/daemon-${ProcessHandle.current().pid()}*.log")
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
logger.lifecycle("Failed to archive additional logs", e)
|
|
}
|
|
}
|
|
}
|