提交 eeb04b1f 编写于 作者: V Vojtech Juranek

Allow gc to remove test results from memory in more proper way

上级 b0a39275
......@@ -24,6 +24,7 @@
package hudson.maven.reporters;
import hudson.Extension;
import hudson.Launcher;
import hudson.Util;
import hudson.maven.Maven3Builder;
import hudson.maven.MavenBuild;
......@@ -167,6 +168,20 @@ public class SurefireArchiver extends MavenReporter {
return true;
}
@Override
public boolean end(MavenBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
//Discard unneeded test result objects so they can't waste memory
for(MavenReporter reporter: build.getProject().getReporters()) {
if(reporter instanceof SurefireArchiver) {
SurefireArchiver surefireReporter = (SurefireArchiver) reporter;
if(surefireReporter.result != null) {
surefireReporter.result = null;
}
}
}
return true;
}
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD", justification="It's okay to write to static fields here, as each Maven build is started in its own VM")
private void markBuildAsSuccess(Throwable mojoError, MavenBuildInformation buildInfo) {
if(mojoError == null // in the success case we don't get any exception in Maven 3.0.2+; Maven < 3.0.2 returns no exception anyway
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册