diff --git a/changelog.html b/changelog.html
index d57c2dec2033a6212028554d7991d622d86c0212..e1978fd4ce6838ddfb3122bd0e69fc5c9479a4da 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 32c11ab083126d022e5515c412bdde1bc379bf38..e780f88c618b09d914a68a3a6f78ea4a7de90ab6 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