Further attempt at capturing reaper error logs

This commit is contained in:
Mark Vieira 2022-08-02 14:47:43 -07:00
parent d2f99f5baf
commit 9e9f19bc9c
3 changed files with 7 additions and 6 deletions

View file

@ -23,7 +23,6 @@ if (buildNumber && performanceTest == null) {
fileset(dir: projectDir) {
Set<File> fileSet = fileTree(projectDir) {
include("**/*.hprof")
include(".gradle/reaper/**")
include("**/build/test-results/**/*.xml")
include("**/build/testclusters/**")
exclude("**/build/testclusters/**/data/**")
@ -49,6 +48,8 @@ if (buildNumber && performanceTest == null) {
}
fileset(dir: "${gradle.gradleUserHomeDir}/workers", followsymlinks: false)
fileset(dir: "${project.projectDir}/.gradle/reaper", followsymlinks: false)
}
} catch (Exception e) {
logger.lifecycle("Failed to archive additional logs", e)

View file

@ -83,17 +83,17 @@ public class Reaper implements Closeable {
delete(inputFile);
}
}
} catch (Exception e) {
} catch (Throwable e) {
failed = true;
logFailure("Failed to reap inputs", e);
}
}
private void logFailure(String message, Exception e) {
private void logFailure(String message, Throwable e) {
System.err.println(message);
if (e != null) {
e.printStackTrace(System.err);
}
failed = true;
}
private void delete(Path toDelete) {

View file

@ -78,7 +78,7 @@ public abstract class ReaperService implements BuildService<ReaperService.Params
logger.info("Waiting for reaper to exit normally");
if (reaperProcess.waitFor() != 0) {
Path inputDir = getParameters().getInputDir().get().getAsFile().toPath();
throw new GradleException("Reaper process failed. Check log at " + inputDir.resolve("error.log") + " for details");
throw new GradleException("Reaper process failed. Check log at " + inputDir.resolve("reaper.log") + " for details");
}
} catch (Exception e) {
throw new RuntimeException(e);
@ -109,7 +109,7 @@ public abstract class ReaperService implements BuildService<ReaperService.Params
builder.redirectInput(ProcessBuilder.Redirect.PIPE);
File logFile = logFilePath().toFile();
builder.redirectOutput(logFile);
builder.redirectError(logFile);
builder.redirectErrorStream();
reaperProcess = builder.start();
} catch (Exception e) {
throw new RuntimeException(e);