This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix-thirdparty.git
The following commit(s) were added to refs/heads/master by this push: new 4af3ab6 PHOENIX-6575 Replace patched commons-cli with original one when a release with CLI-254 is available 4af3ab6 is described below commit 4af3ab6457248840566ec39d90496a9199360d11 Author: Istvan Toth <st...@apache.org> AuthorDate: Mon Nov 8 10:16:24 2021 +0100 PHOENIX-6575 Replace patched commons-cli with original one when a release with CLI-254 is available --- phoenix-shaded-commons-cli/pom.xml | 101 ++------------------- .../src/main/patches/CLI-254-1.4.patch | 72 --------------- pom.xml | 2 +- 3 files changed, 11 insertions(+), 164 deletions(-) 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>