import java.nio.file.Files import org.elasticsearch.gradle.OS 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) } OS.current() .conditional() .onUnix { project.exec { ignoreExitValue = true workingDir projectDir commandLine 'bash', '-c', 'journalctl --since "1 hour ago" 2>&1 > journalctl.log' } } .onWindows { } .onMac { } ant.tar(destfile: uploadFile, compression: "bzip2", longfile: "gnu") { fileTree(projectDir) .include("**/*.hprof") .include("**/reaper.log") .include("**/journalctl.log") .include("**/build/testclusters/**") .exclude("**/build/testclusters/**/data/**") .exclude("**/build/testclusters/**/distro/**") .exclude("**/build/testclusters/**/repo/**") .exclude("**/build/testclusters/**/extract/**") .filter { Files.isRegularFile(it.toPath()) } .each { fileset(file: it) } fileset(dir: "${gradle.gradleUserHomeDir}/daemon/${gradle.gradleVersion}", followsymlinks: false) { include(name: "**/daemon-${ProcessHandle.current().pid()}*.log") } if (Files.isReadable(file("/var/log/").toPath())) { Files.list(file("/var/log/").toPath()) .filter { it.fileName.endsWith(".log") } .filter { Files.isReadable(it) } .filter { Files.isRegularFile(it) } .forEach { fileset(file: it) } } } } }