From 26d00c38b23e53f4859c0fc454e496706f568504 Mon Sep 17 00:00:00 2001 From: Houston Putman Date: Fri, 30 Aug 2024 13:13:46 -0500 Subject: [PATCH] SOLR-17429, SOLR-17338: Use stderr for SolrCLI deprecation logs (#2679) --- .../src/java/org/apache/solr/cli/SolrCLI.java | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index e02f81a0abc..a4f11a5815f 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -371,6 +371,20 @@ public static Options getToolOptions(Tool tool) { return options; } + // TODO: SOLR-17429 - remove the custom logic when CommonsCLI is upgraded and + // makes stderr the default, or makes Option.toDeprecatedString() public. + private static void deprecatedHandlerStdErr(Option o) { + if (o.isDeprecated()) { + final StringBuilder buf = + new StringBuilder().append("Option '-").append(o.getOpt()).append('\''); + if (o.getLongOpt() != null) { + buf.append(",'--").append(o.getLongOpt()).append('\''); + } + buf.append(": ").append(o.getDeprecated()); + CLIO.err(buf.toString()); + } + } + /** Parses the command-line arguments passed by the user. */ public static CommandLine processCommandLineArgs(Tool tool, String[] args) { List