From f3098c26ce8bd1dc4dcfb96d83a5a859f6ad4e21 Mon Sep 17 00:00:00 2001
From: Charles Honton
Date: Mon, 31 May 2021 11:00:16 -0700
Subject: [PATCH] Document that installAtEnd must be set consistently
---
.../maven/plugins/install/InstallMojo.java | 13 +++++++++++--
src/site/fml/faq.fml | 17 +++++++++++++++++
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/install/InstallMojo.java b/src/main/java/org/apache/maven/plugins/install/InstallMojo.java
index 277687f8..38d8b6ef 100644
--- a/src/main/java/org/apache/maven/plugins/install/InstallMojo.java
+++ b/src/main/java/org/apache/maven/plugins/install/InstallMojo.java
@@ -67,8 +67,17 @@ public class InstallMojo
private List reactorProjects;
/**
- * Whether every project should be installed during its own install-phase or at the end of the multimodule build. If
- * set to {@code true} and the build fails, none of the reactor projects is installed.
+ * Whether every project should be installed during its own install-phase or at the end of the
+ * multi-module build. If set to {@code true} and the build fails, none of the reactor projects
+ * is installed.
+ *
+ * In order for this flag to work properly, all modules of the multi-module must set this
+ * property to the same value and all modules must have the same value for the skip property.
+ * If this property or the skip property are inconsistently set in different projects, any
+ * project with this property set to true will not be installed either immediately nor at the
+ * end of the build. See details in
+ * MINSTALL-115
+ *
* (experimental)
*
* @since 2.5
diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml
index e94afa96..4f72595b 100644
--- a/src/site/fml/faq.fml
+++ b/src/site/fml/faq.fml
@@ -34,5 +34,22 @@ under the License.
+
+ Why isn't installAtEnd property working?
+
+
+ The installAtEnd property must be set consistently in all modules and the skip
+ property must be set consistently in all modules. If either property is not consistent, any
+ module with installAtEnd set to true will not be installed.
+
+
+ An alternative to using installAtEnd is to have the build script invoke Maven twice:
+
+ mvn verify
+ mvn install:install
+
+
+
+