From d5b8cf4a28ea41caf84528656f9b931695cb3fb5 Mon Sep 17 00:00:00 2001 From: Christoph Kutzinski Date: Thu, 2 Jun 2011 16:28:31 +0200 Subject: [PATCH] [FIXED JENKINS-9848] if POM parsing failed, do a full build next time (for incremental builds) --- changelog.html | 3 ++ .../hudson/maven/MavenModuleSetBuild.java | 29 +++++++++++++++---- .../hudson/maven/NeedsFullBuildAction.java | 24 +++++++++++++++ 3 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 maven-plugin/src/main/java/hudson/maven/NeedsFullBuildAction.java diff --git a/changelog.html b/changelog.html index d57c2dec20..e1978fd4ce 100644 --- a/changelog.html +++ b/changelog.html @@ -59,6 +59,9 @@ Upcoming changes Output correct version from java -jar jenkins.war --version (broken since 1.410)
  • Correct usage text from java -jar jenkins.war --help +
  • + Incremental maven jobs: if POM parsing failed, do a full build next time. + (issue 9848)
  • CLI command page now lists all the available commands (issue 9789) diff --git a/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java b/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java index 32c11ab083..e780f88c61 100644 --- a/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java +++ b/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java @@ -374,7 +374,7 @@ public class MavenModuleSetBuild extends AbstractMavenBuild getModuleLastBuilds() { @@ -672,6 +672,7 @@ public class MavenModuleSetBuild extends AbstractMavenBuild= 0; - if (project.isIncrementalBuild() && maven2_1orLater && !changedModules.isEmpty()) { + boolean needsFullBuild = getPreviousCompletedBuild() != null && + getPreviousCompletedBuild().getAction(NeedsFullBuildAction.class) != null; + if (project.isIncrementalBuild() && !needsFullBuild && maven2_1orLater && !changedModules.isEmpty()) { margs.add("-amd"); margs.add("-pl", Util.join(changedModules, ",")); } @@ -816,12 +823,22 @@ public class MavenModuleSetBuild extends AbstractMavenBuild