From fa496c7bf228ecb243acf0135106f18f27132c6f Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Mon, 24 Mar 2014 12:12:10 -0400 Subject: [PATCH] Null safety during failing tests (BuildTriggerTest.testMavenBuildTrigger in this case). java.lang.NullPointerException at hudson.model.Job.getBuildDir(Job.java:790) at hudson.model.Run.getRootDir(Run.java:993) at hudson.model.Run.getLogFile(Run.java:1306) at hudson.model.Run.execute(Run.java:1664) at hudson.maven.MavenBuild.access$900(MavenBuild.java:94) at hudson.maven.MavenBuild$ProxyImpl2.close(MavenBuild.java:636) at hudson.maven.AbstractMavenBuilder.end(AbstractMavenBuilder.java:106) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:839) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:523) at hudson.model.Run.execute(Run.java:1688) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:519) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231) java.lang.NullPointerException at hudson.model.BuildStepListener.all(BuildStepListener.java:31) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:739) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:714) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.cleanUp(MavenModuleSetBuild.java:1054) at hudson.model.Run.execute(Run.java:1733) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:519) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231) --- core/src/main/java/hudson/model/BuildStepListener.java | 3 +-- core/src/main/java/hudson/model/Job.java | 6 +++++- core/src/main/java/jenkins/model/Jenkins.java | 5 +++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/hudson/model/BuildStepListener.java b/core/src/main/java/hudson/model/BuildStepListener.java index 03f36a0f20..7d9ba256ed 100644 --- a/core/src/main/java/hudson/model/BuildStepListener.java +++ b/core/src/main/java/hudson/model/BuildStepListener.java @@ -5,8 +5,6 @@ import hudson.ExtensionPoint; import hudson.tasks.BuildStep; import jenkins.model.Jenkins; -import java.util.List; - /** * Receives events that happen as a build executes {@link BuildStep}s. * @author Nicolas De Loof @@ -28,6 +26,7 @@ public abstract class BuildStepListener implements ExtensionPoint { * Returns all the registered {@link BuildStepListener}s. */ public static ExtensionList all() { + // TODO should have a null-safe version when Jenkins.getInstance() is null; would require changes in ExtensionList return Jenkins.getInstance().getExtensionList(BuildStepListener.class); } } diff --git a/core/src/main/java/hudson/model/Job.java b/core/src/main/java/hudson/model/Job.java index 56734c0e9f..8818c9e764 100644 --- a/core/src/main/java/hudson/model/Job.java +++ b/core/src/main/java/hudson/model/Job.java @@ -787,7 +787,11 @@ public abstract class Job, RunT extends Run