plexus-cli/0001-Do-not-use-commons-cli-deprecated-classes.patch

141 lines
5.8 KiB
Diff

From c35c0ecf6be620469b50cc904efc2152ba3d7dbc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Thu, 19 May 2022 09:30:24 +0200
Subject: [PATCH 1/2] Do not use commons-cli deprecated classes
---
.../plexus/tools/cli/AbstractCli.java | 60 ++++++++++---------
.../codehaus/plexus/tools/cli/TestCli.java | 9 +--
2 files changed, 38 insertions(+), 31 deletions(-)
diff --git a/src/main/java/org/codehaus/plexus/tools/cli/AbstractCli.java b/src/main/java/org/codehaus/plexus/tools/cli/AbstractCli.java
index 505c128..7e72f08 100644
--- a/src/main/java/org/codehaus/plexus/tools/cli/AbstractCli.java
+++ b/src/main/java/org/codehaus/plexus/tools/cli/AbstractCli.java
@@ -24,9 +24,9 @@ import java.util.Properties;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.GnuParser;
+import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
-import org.apache.commons.cli.OptionBuilder;
+import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.codehaus.plexus.ContainerConfiguration;
@@ -45,17 +45,17 @@ public abstract class AbstractCli implements Cli {
// These are standard options that we would want to use for all our projects.
// ----------------------------------------------------------------------------
- public static final char QUIET = 'q';
+ public static final String QUIET = "q";
- public static final char DEBUG = 'X';
+ public static final String DEBUG = "X";
- public static final char ERRORS = 'e';
+ public static final String ERRORS = "e";
- public static final char HELP = 'h';
+ public static final String HELP = "h";
- public static final char VERSION = 'v';
+ public static final String VERSION = "v";
- public static final char SET_SYSTEM_PROPERTY = 'D';
+ public static final String SET_SYSTEM_PROPERTY = "D";
// ----------------------------------------------------------------------------
// Abstract methods
@@ -284,25 +284,31 @@ public abstract class AbstractCli implements Cli {
public Options buildDefaultCliOptions() {
options = new Options();
- options.addOption(OptionBuilder.withLongOpt("define")
+ options.addOption(Option.builder( SET_SYSTEM_PROPERTY )
+ .longOpt( "define" )
.hasArg()
- .withDescription("Define a system property")
- .create(SET_SYSTEM_PROPERTY));
- options.addOption(OptionBuilder.withLongOpt("help")
- .withDescription("Display help information")
- .create(HELP));
- options.addOption(OptionBuilder.withLongOpt("version")
- .withDescription("Display version information")
- .create(VERSION));
- options.addOption(OptionBuilder.withLongOpt("quiet")
- .withDescription("Quiet output - only show errors")
- .create(QUIET));
- options.addOption(OptionBuilder.withLongOpt("debug")
- .withDescription("Produce execution debug output")
- .create(DEBUG));
- options.addOption(OptionBuilder.withLongOpt("errors")
- .withDescription("Produce execution error messages")
- .create(ERRORS));
+ .desc( "Define a system property" )
+ .build() );
+ options.addOption(Option.builder( HELP )
+ .longOpt( "help" )
+ .desc( "Display help information" )
+ .build() );
+ options.addOption(Option.builder( VERSION )
+ .longOpt( "version" )
+ .desc( "Display version information" )
+ .build() );
+ options.addOption(Option.builder( QUIET )
+ .longOpt( "quiet" )
+ .desc( "Quiet output - only show errors" )
+ .build() );
+ options.addOption(Option.builder( DEBUG )
+ .longOpt( "debug" )
+ .desc( "Produce execution debug output" )
+ .build() );
+ options.addOption(Option.builder( ERRORS )
+ .longOpt( "errors" )
+ .desc( "Produce execution error messages" )
+ .build() );
return buildCliOptions(options);
}
@@ -311,7 +317,7 @@ public abstract class AbstractCli implements Cli {
// We need to eat any quotes surrounding arguments...
String[] cleanArgs = cleanArgs(args);
- CommandLineParser parser = new GnuParser();
+ CommandLineParser parser = new DefaultParser();
return parser.parse(buildDefaultCliOptions(), cleanArgs);
}
diff --git a/src/test/java/org/codehaus/plexus/tools/cli/TestCli.java b/src/test/java/org/codehaus/plexus/tools/cli/TestCli.java
index 90f487c..9e2b318 100644
--- a/src/test/java/org/codehaus/plexus/tools/cli/TestCli.java
+++ b/src/test/java/org/codehaus/plexus/tools/cli/TestCli.java
@@ -19,7 +19,7 @@ package org.codehaus.plexus.tools.cli;
import java.io.File;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.OptionBuilder;
+import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.util.FileUtils;
@@ -33,10 +33,11 @@ public class TestCli extends AbstractCli {
}
public Options buildCliOptions(Options options) {
- options.addOption(OptionBuilder.withLongOpt("name")
- .withDescription("Display name.")
+ options.addOption(Option.builder( "n" )
+ .longOpt( "name" )
+ .desc( "Display name." )
.hasArg()
- .create('n'));
+ .build() );
return options;
}
--
2.45.2