PHOENIX-6575 Replace patched commons-cli with original one when a release with CLI-254 is available
diff --git a/phoenix-shaded-commons-cli/pom.xml b/phoenix-shaded-commons-cli/pom.xml
index cc286c0..6f85993 100644
--- a/phoenix-shaded-commons-cli/pom.xml
+++ b/phoenix-shaded-commons-cli/pom.xml
@@ -28,112 +28,24 @@
   <artifactId>phoenix-shaded-commons-cli</artifactId>
   <name>Apache Phoenix Patched and Relocated (Shaded) Commons-CLI</name>
   <description>
-    Pulls down commons-cli, patches it, compiles, and then relocates/shades.
+    Pulls down commons-cli, relocates it and then makes a new jar with it.
   </description>
   <build>
     <plugins>
       <plugin>
-        <!--Clean needs to purge src/main/java since this is where
-             the unpack of commons-cli is overlaid. Do it for usual
-             clean goal but also before we unpack in case patches
-             delete/add files. We use src/main/java instead of dir
-             under 'target' because the jar plugin is dumb, hard to
-             make it source from other then src/main/java.-->
         <artifactId>maven-clean-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>pre-generate-sources</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>clean</goal>
-            </goals>
-          </execution>
-        </executions>
         <configuration>
           <filesets>
             <fileset>
-              <directory>${basedir}/src/main/java</directory>
+              <directory>${basedir}</directory>
               <includes>
-                <include>**/**</include>
+                <include>dependency-reduced-pom.xml</include>
               </includes>
-              <followSymlinks>false</followSymlinks>
             </fileset>
           </filesets>
         </configuration>
       </plugin>
       <plugin>
-        <!--Download our dependency src, i.e. commons-cli, and
-             unpack it. Overlays src/main/java so ready for
-            compile-time (the jar plugin expects src in
-            src/main/java)-->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>unpack</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>unpack</goal>
-            </goals>
-            <configuration>
-              <artifactItems>
-                <artifactItem>
-                  <groupId>commons-cli</groupId>
-                  <artifactId>commons-cli</artifactId>
-                  <version>${commons-cli.version}</version>
-                  <classifier>sources</classifier>
-                  <type>jar</type>
-                  <overWrite>true</overWrite>
-                  <outputDirectory>${basedir}/src/main/java</outputDirectory>
-                </artifactItem>
-              </artifactItems>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-      </plugin>
-      <!--Apply our patches to the unpacked commons-cli src-->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-patch-plugin</artifactId>
-        <version>1.2</version>
-        <configuration>
-          <targetDirectory>${basedir}</targetDirectory>
-          <skipApplication>false</skipApplication>
-        </configuration>
-        <executions>
-          <execution>
-            <id>patch</id>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>apply</goal>
-            </goals>
-            <configuration>
-              <strip>0</strip>
-              <patchDirectory>${basedir}/src/main/patches</patchDirectory>
-              <patchTrackingFile>${project.build.directory}/patches-applied.txt</patchTrackingFile>
-              <naturalOrderProcessing>true</naturalOrderProcessing>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-source-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>attach-sources</id>
-            <goals>
-              <goal>jar-no-fork</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <!--Above we built a jar. Now at package step, do relocation/shade-->
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
         <executions>
@@ -157,4 +69,11 @@
       </plugin>
     </plugins>
   </build>
+  <dependencies>
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+      <version>${commons-cli.version}</version>
+    </dependency>
+  </dependencies>
 </project>
\ No newline at end of file
diff --git a/phoenix-shaded-commons-cli/src/main/patches/CLI-254-1.4.patch b/phoenix-shaded-commons-cli/src/main/patches/CLI-254-1.4.patch
deleted file mode 100644
index 4616fab..0000000
--- a/phoenix-shaded-commons-cli/src/main/patches/CLI-254-1.4.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git src/main/java/org/apache/commons/cli/DefaultParser.java src/main/java/org/apache/commons/cli/DefaultParser.java
-index d762a3e..ebc324f 100644
---- src/main/java/org/apache/commons/cli/DefaultParser.java
-+++ src/main/java/org/apache/commons/cli/DefaultParser.java
-@@ -54,7 +54,44 @@ public class DefaultParser implements CommandLineParser
-  
-     /** The required options and groups expected to be found when parsing the command line. */
-     protected List expectedOpts;
-- 
-+
-+    public DefaultParser() {
-+        this.stripLeadingAndTrailingQuotes = true;
-+    }
-+
-+    /** Flag indicating if balanced leading and trailing double quotes should be stripped from option arguments. */
-+    private final  boolean stripLeadingAndTrailingQuotes;
-+
-+    /**
-+     * Create a new DefaultParser instance with the specified partial matching and quote
-+     * stripping policy.
-+     *
-+     * By "partial matching" we mean that given the following code:
-+     * <pre>
-+     *     {@code
-+     *          final Options options = new Options();
-+     *      options.addOption(new Option("d", "debug", false, "Turn on debug."));
-+     *      options.addOption(new Option("e", "extract", false, "Turn on extract."));
-+     *      options.addOption(new Option("o", "option", true, "Turn on option with argument."));
-+     *      }
-+     * </pre>
-+     * with "partial matching" turned on, <code>-de</code> only matches the
-+     * <code>"debug"</code> option. However, with "partial matching" disabled,
-+     * <code>-de</code> would enable both <code>debug</code> as well as
-+     * <code>extract</code> options.
-+     * with "stripping of balanced leading and trailing double quotes from option arguments" turned
-+     * on, the outermost balanced double quotes of option arguments values will be removed.
-+     * ie.
-+     * for <code>-o '"x"'</code> getValue() will return <code>x</code>, instead of <code>"x"</code>
-+     * @param allowPartialMatching if partial matching of long options shall be enabled
-+     * @param stripLeadingAndTrailingQuotes if balanced outer double quoutes should be stripped
-+     */
-+    public DefaultParser(final boolean allowPartialMatching,
-+            final boolean stripLeadingAndTrailingQuotes) {
-+        // We do not care about allowPartialMatching in this patch
-+        this.stripLeadingAndTrailingQuotes = stripLeadingAndTrailingQuotes;
-+    }
-+
-     public CommandLine parse(Options options, String[] arguments) throws ParseException
-     {
-         return parse(options, arguments, null);
-@@ -232,7 +269,7 @@ public class DefaultParser implements CommandLineParser
-         }
-         else if (currentOption != null && currentOption.acceptsArg() && isArgument(token))
-         {
--            currentOption.addValueForProcessing(Util.stripLeadingAndTrailingQuotes(token));
-+            currentOption.addValueForProcessing(conditionallyStripLeadingAndTrailingQuotes(token));
-         }
-         else if (token.startsWith("--"))
-         {
-@@ -704,4 +741,12 @@ public class DefaultParser implements CommandLineParser
-             }
-         }
-     }
-+
-+    protected String conditionallyStripLeadingAndTrailingQuotes(final String token) {
-+        if(stripLeadingAndTrailingQuotes) {
-+            return Util.stripLeadingAndTrailingQuotes(token);
-+        } else {
-+            return token;
-+        }
-+    }
- }
diff --git a/pom.xml b/pom.xml
index 9bd30b5..0b31dc9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,7 +69,7 @@
   <properties>
     <rename.offset>org.apache.phoenix.thirdparty</rename.offset>
     <guava.version>29.0-android</guava.version>
-    <commons-cli.version>1.4</commons-cli.version>
+    <commons-cli.version>1.5.0</commons-cli.version>
   </properties>
 
   <build>