From 1fc3a25299bf78871a7fc8050f469b08af6311c4 Mon Sep 17 00:00:00 2001 From: Arturo Bernal Date: Thu, 4 Sep 2025 12:30:34 +0200 Subject: [PATCH] fix help default text Include --infer alongside --model and --plugins in help footer. Align CLI help with runtime defaults. --- .../mvnup/CommonsCliUpgradeOptions.java | 2 +- .../invoker/mvnup/PluginUpgradeCliTest.java | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnup/CommonsCliUpgradeOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnup/CommonsCliUpgradeOptions.java index d3f668c899cf..995550becadd 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnup/CommonsCliUpgradeOptions.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnup/CommonsCliUpgradeOptions.java @@ -126,7 +126,7 @@ public void displayHelp(ParserRequest request, Consumer printStream) { printStream.accept( " -a, --all Apply all upgrades (equivalent to --model-version 4.1.0 --infer --model --plugins)"); printStream.accept(""); - printStream.accept("Default behavior: --model and --plugins are applied if no other options are specified"); + printStream.accept("Default behavior: --model --plugins --infer are applied if no other options are specified"); printStream.accept(""); } diff --git a/impl/maven-cli/src/test/java/org/apache/maven/cling/invoker/mvnup/PluginUpgradeCliTest.java b/impl/maven-cli/src/test/java/org/apache/maven/cling/invoker/mvnup/PluginUpgradeCliTest.java index 32ad1473b90a..d890d984bf15 100644 --- a/impl/maven-cli/src/test/java/org/apache/maven/cling/invoker/mvnup/PluginUpgradeCliTest.java +++ b/impl/maven-cli/src/test/java/org/apache/maven/cling/invoker/mvnup/PluginUpgradeCliTest.java @@ -18,8 +18,13 @@ */ package org.apache.maven.cling.invoker.mvnup; +import java.io.ByteArrayOutputStream; +import java.nio.charset.StandardCharsets; + import org.apache.commons.cli.ParseException; import org.apache.maven.api.cli.mvnup.UpgradeOptions; +import org.apache.maven.cling.MavenUpCling; +import org.codehaus.plexus.classworlds.ClassWorld; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -190,4 +195,25 @@ void testInterpolationWithPluginsOption() throws ParseException { assertTrue(interpolated.plugins().isPresent(), "Interpolated options should preserve --plugins"); assertTrue(interpolated.plugins().get(), "Interpolated --plugins should be true"); } + + @Test + void helpMentionsInferInDefault() throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + ByteArrayOutputStream err = new ByteArrayOutputStream(); + + int exit = MavenUpCling.main( + new String[] {"--help"}, + new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader()), + null, + out, + err); + + String help = out.toString(StandardCharsets.UTF_8); + assertEquals(0, exit, "mvnup --help should exit 0"); + assertTrue( + help.contains("Default behavior: --model --plugins --infer"), + "Help footer should advertise --infer as part of the defaults"); + assertFalse( + help.contains("Default behavior: --model and --plugins"), "Old/incorrect default text must be gone"); + } }