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>