This is an automated email from the ASF dual-hosted git repository. ppalaga pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-mvnd.git
commit 7d9a39be1a49e56cdc3792ffcd503b9c42af86bd Author: Peter Palaga <ppal...@redhat.com> AuthorDate: Mon May 22 14:30:30 2023 +0200 JAVA_HOME should be documented as discriminating #852 --- .../java/org/mvndaemon/mvnd/common/Environment.java | 21 ++++++++++++++++++--- .../org/apache/maven/cli/MvndHelpFormatter.java | 2 +- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/org/mvndaemon/mvnd/common/Environment.java b/common/src/main/java/org/mvndaemon/mvnd/common/Environment.java index 63d299d7..c0892f74 100644 --- a/common/src/main/java/org/mvndaemon/mvnd/common/Environment.java +++ b/common/src/main/java/org/mvndaemon/mvnd/common/Environment.java @@ -76,8 +76,8 @@ public enum Environment { // // System properties // - /** Java home for starting the daemon */ - JAVA_HOME("java.home", "JAVA_HOME", null, OptionType.PATH, Flags.NONE), + /** Java home for starting the daemon. */ + JAVA_HOME("java.home", "JAVA_HOME", null, OptionType.PATH, Flags.DOCUMENTED_AS_DISCRIMINATING), /** * The daemon installation directory. The client normally sets this according to where its <code>mvnd</code> * executable is located @@ -346,7 +346,11 @@ public enum Environment { this.property = property; this.environmentVariable = environmentVariable; this.default_ = default_ != null ? default_.toString() : null; - this.flags = flags; + if ((flags & Flags.DISCRIMINATING) != 0) { + this.flags = (flags | Flags.DOCUMENTED_AS_DISCRIMINATING); + } else { + this.flags = flags; + } this.type = type; if (options.length == 0) { this.options = Collections.emptyMap(); @@ -400,6 +404,10 @@ public enum Environment { return (flags & Flags.DISCRIMINATING) != 0; } + public boolean isDocumentedAsDiscriminating() { + return (flags & Flags.DOCUMENTED_AS_DISCRIMINATING) != 0; + } + public boolean isInternal() { return (flags & Flags.INTERNAL) != 0; } @@ -602,8 +610,15 @@ public enum Environment { static class Flags { private static final int NONE = 0b0; + /** + * Implies {@link #DOCUMENTED_AS_DISCRIMINATING} - this is implemented in + * {@link Environment#Environment(String, String, Object, OptionType, int, String...)} + */ private static final int DISCRIMINATING = 0b1; + private static final int INTERNAL = 0b10; private static final int OPTIONAL = 0b100; + /** Set automatically for entries having {@link #DISCRIMINATING} */ + private static final int DOCUMENTED_AS_DISCRIMINATING = 0b1000; } } diff --git a/daemon/src/main/java/org/apache/maven/cli/MvndHelpFormatter.java b/daemon/src/main/java/org/apache/maven/cli/MvndHelpFormatter.java index f3c56268..95430aaa 100644 --- a/daemon/src/main/java/org/apache/maven/cli/MvndHelpFormatter.java +++ b/daemon/src/main/java/org/apache/maven/cli/MvndHelpFormatter.java @@ -121,7 +121,7 @@ public class MvndHelpFormatter { spaces(help, indentPos - help.length()); wrap(help, toPlainText(entry.getJavaDoc()), terminalWidth, lineEnd, indent); - if (env.isDiscriminating()) { + if (env.isDocumentedAsDiscriminating()) { indentedLine(help, terminalWidth, "This is a discriminating start parameter.", indent); } if (env.getDefault() != null) {