diff --git a/_service b/_service new file mode 100644 index 0000000..7315ace --- /dev/null +++ b/_service @@ -0,0 +1,20 @@ + + + git + https://github.com/fridrich/picocli.git + 1bc434b + v* + @PARENT_TAG@ + v(.*) + **/*.jar + **/*.zip + **/*.pom + **/*gradle* + docs + + + *.tar + xz + + + diff --git a/picocli-4.7.3.pom b/picocli-4.7.4.pom similarity index 95% rename from picocli-4.7.3.pom rename to picocli-4.7.4.pom index dba2a32..ffacd70 100644 --- a/picocli-4.7.3.pom +++ b/picocli-4.7.4.pom @@ -4,7 +4,7 @@ 4.0.0 info.picocli picocli - 4.7.3 + 4.7.4 picocli Java command line parser with both an annotations API and a programmatic API. Usage help with ANSI styles and colors. Autocomplete. Nested subcommands. Easily included as source to avoid adding a dependency. https://picocli.info diff --git a/picocli-4.7.4.tar.xz b/picocli-4.7.4.tar.xz new file mode 100644 index 0000000..2cdf10f --- /dev/null +++ b/picocli-4.7.4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70ffb424e21867987c6c8df1ea364b834efb24d54b2061aa3c4a5dbde8d64d18 +size 901808 diff --git a/picocli-codegen-4.7.3.pom b/picocli-codegen-4.7.4.pom similarity index 93% rename from picocli-codegen-4.7.3.pom rename to picocli-codegen-4.7.4.pom index f36f0a6..c2cdc83 100644 --- a/picocli-codegen-4.7.3.pom +++ b/picocli-codegen-4.7.4.pom @@ -4,7 +4,7 @@ 4.0.0 info.picocli picocli-codegen - 4.7.3 + 4.7.4 picocli-codegen Picocli Code Generation - Tools to generate documentation, configuration, source code and other files from a picocli model. https://picocli.info @@ -32,7 +32,7 @@ info.picocli picocli - 4.7.3 + 4.7.4 compile diff --git a/picocli-shell-jline2-4.7.3.pom b/picocli-shell-jline2-4.7.4.pom similarity index 93% rename from picocli-shell-jline2-4.7.3.pom rename to picocli-shell-jline2-4.7.4.pom index ca38c1b..eea85f9 100644 --- a/picocli-shell-jline2-4.7.3.pom +++ b/picocli-shell-jline2-4.7.4.pom @@ -4,7 +4,7 @@ 4.0.0 info.picocli picocli-shell-jline2 - 4.7.3 + 4.7.4 picocli-shell-jline2 Picocli Shell JLine2 - easily build interactive shell applications with JLine 2 and picocli. https://picocli.info @@ -32,7 +32,7 @@ info.picocli picocli - 4.7.3 + 4.7.4 compile diff --git a/picocli.changes b/picocli.changes index 2ae6eae..d3e262a 100644 --- a/picocli.changes +++ b/picocli.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Tue Jun 13 12:49:00 UTC 2023 - Fridrich Strba + +- Update to version 4.7.4 + * Fixes: + + API: Add setter for name in + picocli.shell.jline3.PicocliCommands. + + Enhancement: Improved feedback on mistyped subcommands + + Enhancement: prevent + java.nio.charset.UnsupportedCharsetException: cp0 on windows, + and fall back to the default charset if the charset provided + by System property sun.stdout.encoding is invalid + + Bugfix: Option "mapFallbackValue" ignored when inherited to + subcommand + + ugfix: fix issue with required options in ArgGroup becoming + optional when combined with DefaultValueProvider +- Fetch sources using source service: this allows filter out + binaries with spurious legal status and which we don't use for + build +- Due to a bug in the upstream github repository, fetch sources from + our private fork until https://github.com/remkop/picocli/pull/2045 + gets integrated upstream +- Added patch: + * revert-version.patch + + revert a version change between our fixed code and the + upstream tag + ------------------------------------------------------------------- Mon Jun 5 17:59:16 UTC 2023 - Fridrich Strba diff --git a/picocli.spec b/picocli.spec index 3532a96..4515ec8 100644 --- a/picocli.spec +++ b/picocli.spec @@ -17,17 +17,18 @@ Name: picocli -Version: 4.7.3 +Version: 4.7.4 Release: 0 Summary: Tiny Command Line Interface License: Apache-2.0 Group: Development/Libraries/Java URL: https://picocli.info/ -Source0: https://github.com/remkop/%{name}/archive/v%{version}.tar.gz +Source0: %{name}-%{version}.tar.xz Source1: %{name}-build.xml Source2: https://repo1.maven.org/maven2/info/%{name}/%{name}/%{version}/%{name}-%{version}.pom Source3: https://repo1.maven.org/maven2/info/%{name}/%{name}-codegen/%{version}/%{name}-codegen-%{version}.pom Source4: https://repo1.maven.org/maven2/info/%{name}/%{name}-shell-jline2/%{version}/%{name}-shell-jline2-%{version}.pom +Patch0: revert-version.patch BuildRequires: ant BuildRequires: aqute-bnd BuildRequires: fdupes diff --git a/revert-version.patch b/revert-version.patch new file mode 100644 index 0000000..74220aa --- /dev/null +++ b/revert-version.patch @@ -0,0 +1,233 @@ +--- a/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/DynamicProxyConfigGenerator.java ++++ b/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/DynamicProxyConfigGenerator.java +@@ -58,7 +58,7 @@ public class DynamicProxyConfigGenerator { + }, + footerHeading = "%nExample%n", + footer = { +- " java -cp \"myapp.jar;picocli-4.7.5-SNAPSHOT.jar;picocli-codegen-4.7.5-SNAPSHOT.jar\" " + ++ " java -cp \"myapp.jar;picocli-4.7.4.jar;picocli-codegen-4.7.4.jar\" " + + "picocli.codegen.aot.graalvm.DynamicProxyConfigGenerator my.pkg.MyClass" + }, + mixinStandardHelpOptions = true, version = "picocli-codegen gen-proxy-config " + CommandLine.VERSION) +--- a/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/JniConfigGenerator.java ++++ b/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/JniConfigGenerator.java +@@ -31,7 +31,7 @@ public class JniConfigGenerator { + }, + footerHeading = "%nExample%n", + footer = { +- " java -cp \"myapp.jar;picocli-4.7.5-SNAPSHOT.jar;picocli-codegen-4.7.5-SNAPSHOT.jar\" " + ++ " java -cp \"myapp.jar;picocli-4.7.4.jar;picocli-codegen-4.7.4.jar\" " + + "picocli.codegen.aot.graalvm.JniConfigGenerator my.pkg.MyClass" + }, + mixinStandardHelpOptions = true, sortOptions = false, +--- a/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/ReflectionConfigGenerator.java ++++ b/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/ReflectionConfigGenerator.java +@@ -95,7 +95,7 @@ public class ReflectionConfigGenerator { + }, + footerHeading = "%nExample%n", + footer = { +- " java -cp \"myapp.jar;picocli-4.7.5-SNAPSHOT.jar;picocli-codegen-4.7.5-SNAPSHOT.jar\" " + ++ " java -cp \"myapp.jar;picocli-4.7.4.jar;picocli-codegen-4.7.4.jar\" " + + "picocli.codegen.aot.graalvm.ReflectionConfigGenerator my.pkg.MyClass" + }, + mixinStandardHelpOptions = true, sortOptions = false, +--- a/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/ResourceConfigGenerator.java ++++ b/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/ResourceConfigGenerator.java +@@ -54,7 +54,7 @@ public class ResourceConfigGenerator { + }, + footerHeading = "%nExample%n", + footer = { +- " java -cp \"myapp.jar;picocli-4.7.5-SNAPSHOT.jar;picocli-codegen-4.7.5-SNAPSHOT.jar\" " + ++ " java -cp \"myapp.jar;picocli-4.7.4.jar;picocli-codegen-4.7.4.jar\" " + + "picocli.codegen.aot.graalvm.ResourceConfigGenerator my.pkg.MyClass" + }, + mixinStandardHelpOptions = true, version = "picocli-codegen gen-resource-config " + CommandLine.VERSION) +--- a/picocli-codegen/src/main/java/picocli/codegen/docgen/manpage/ManPageGenerator.java ++++ b/picocli-codegen/src/main/java/picocli/codegen/docgen/manpage/ManPageGenerator.java +@@ -190,7 +190,7 @@ public class ManPageGenerator implements Callable { + "", + "Example", + "-------", +- " java -Duser.language=de -cp \"myapp.jar;picocli-4.7.5-SNAPSHOT.jar;picocli-codegen-4.7.5-SNAPSHOT.jar\" " + ++ " java -Duser.language=de -cp \"myapp.jar;picocli-4.7.4.jar;picocli-codegen-4.7.4.jar\" " + + "picocli.codegen.docgen.manpage.ManPageGenerator my.pkg.MyClass" + } + ) +--- a/src/main/java/picocli/AutoComplete.java ++++ b/src/main/java/picocli/AutoComplete.java +@@ -116,7 +116,7 @@ public class AutoComplete { + "", + "Example", + "-------", +- " java -cp \"myapp.jar;picocli-4.7.5-SNAPSHOT.jar\" \\", ++ " java -cp \"myapp.jar;picocli-4.7.4.jar\" \\", + " picocli.AutoComplete my.pkg.MyClass" + }, + exitCodeListHeading = "%nExit Codes:%n", +--- a/src/main/java/picocli/CommandLine.java ++++ b/src/main/java/picocli/CommandLine.java +@@ -148,7 +148,7 @@ import static picocli.CommandLine.Help.Column.Overflow.WRAP; + public class CommandLine { + + /** This is picocli version {@value}. */ +- public static final String VERSION = "4.7.5-SNAPSHOT"; ++ public static final String VERSION = "4.7.4"; + private static final Tracer TRACER = new Tracer(); + + private CommandSpec commandSpec; +@@ -979,7 +979,7 @@ public class CommandLine { + * or whether such values should be rejected with a missing parameter exception. + * The default is {@code false}, so by default input like {@code -x=subcommand} is rejected if {@code -x} is an option that takes a String parameter, and {@code subcommand} is a subcommand of this command. + * @return {@code true} when options can have parameter values that match subcommand names or aliases, {@code false} when such values should be rejected with a missing parameter exception +- * @since 4.7.5-SNAPSHOT ++ * @since 4.7.4 + * @see ParserSpec#allowSubcommandsAsOptionParameters() + */ + public boolean isAllowSubcommandsAsOptionParameters() { +@@ -994,7 +994,7 @@ public class CommandLine { + * subcommands, call the setter last, after adding subcommands.

+ * @param newValue the new setting. When {@code true}, options can have parameter values that match subcommand names or aliases, when {@code false}, such values are rejected with a missing parameter exception + * @return this {@code CommandLine} object, to allow method chaining +- * @since 4.7.5-SNAPSHOT ++ * @since 4.7.4 + * @see ParserSpec#allowSubcommandsAsOptionParameters(boolean) + */ + public CommandLine setAllowSubcommandsAsOptionParameters(boolean newValue) { +@@ -1009,7 +1009,7 @@ public class CommandLine { + * The default is {@code false}, so by default input like {@code -x=--some-option} is rejected if {@code -x} is an option that takes a String parameter, and {@code --some-option} is an option of this command. + *

This method only considers actual options of this command, as opposed to {@link #isUnmatchedOptionsAllowedAsOptionParameters()}, which considers values that resemble options.

+ * @return {@code true} when options can have parameter values that match the name of an option in this command, {@code false} when such values should be rejected with a missing parameter exception +- * @since 4.7.5-SNAPSHOT ++ * @since 4.7.4 + * @see #isUnmatchedOptionsAllowedAsOptionParameters() + * @see ParserSpec#allowOptionsAsOptionParameters() + */ +@@ -1029,7 +1029,7 @@ public class CommandLine { + * subcommands, call the setter last, after adding subcommands.

+ * @param newValue the new setting. When {@code true}, options can have parameter values that match the name of an option in this command, when {@code false}, such values are rejected with a missing parameter exception + * @return this {@code CommandLine} object, to allow method chaining +- * @since 4.7.5-SNAPSHOT ++ * @since 4.7.4 + * @see #setUnmatchedOptionsAllowedAsOptionParameters(boolean) + * @see ParserSpec#allowOptionsAsOptionParameters(boolean) + */ +@@ -4737,7 +4737,7 @@ public class CommandLine { + * Note that picocli cannot reliably detect declaration order in commands that have both {@code @Option}-annotated methods and {@code @Option}-annotated fields. + * The default ({@code true}) is to sort alphabetically. + * @return whether options in the synopsis should be shown in alphabetic order. +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + boolean sortSynopsis() default true; + + /** Prefix required options with this character in the options list. The default is no marker: the synopsis +@@ -5033,7 +5033,7 @@ public class CommandLine { + * + * + * The {@link #convert(String)} method of this class always throws an UnsupportedOperationException. +- * @since 4.7.5-SNAPSHOT ++ * @since 4.7.4 + */ + public static final class UseDefaultConverter implements ITypeConverter { + /** Always throws UnsupportedOperationException. +@@ -8184,7 +8184,7 @@ public class CommandLine { + public boolean sortOptions() { return (sortOptions == null) ? DEFAULT_SORT_OPTIONS : sortOptions; } + + /** Returns whether the options in the synopsis should be sorted alphabetically. +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + public boolean sortSynopsis() { return (sortSynopsis == null) ? DEFAULT_SORT_SYNOPSIS : sortSynopsis; } + + /** Returns the character used to prefix required options in the options list. */ +@@ -8333,7 +8333,7 @@ public class CommandLine { + + /** Sets whether the options in the synopsis should be sorted alphabetically. + * @return this UsageMessageSpec for method chaining +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + public UsageMessageSpec sortSynopsis(boolean newValue) {sortSynopsis = newValue; return this;} + + /** Sets the character used to prefix required options in the options list. +@@ -8599,11 +8599,11 @@ public class CommandLine { + public boolean unmatchedOptionsAllowedAsOptionParameters() { return unmatchedOptionsAllowedAsOptionParameters; } + /** + * @see CommandLine#isAllowSubcommandsAsOptionParameters() +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + public boolean allowSubcommandsAsOptionParameters() { return allowSubcommandsAsOptionParameters; } + /** + * @see CommandLine#isAllowOptionsAsOptionParameters() +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + public boolean allowOptionsAsOptionParameters() { return allowOptionsAsOptionParameters; } + private boolean splitFirst() { return limitSplit(); } + /** Returns true if arguments should be split first before any further processing and the number of +@@ -8663,11 +8663,11 @@ public class CommandLine { + public ParserSpec unmatchedOptionsArePositionalParams(boolean unmatchedOptionsArePositionalParams) { this.unmatchedOptionsArePositionalParams = unmatchedOptionsArePositionalParams; return this; } + /** + * @see CommandLine#setAllowSubcommandsAsOptionParameters(boolean) +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + public ParserSpec allowSubcommandsAsOptionParameters(boolean allowSubcommandsAsOptionParameters) { this.allowSubcommandsAsOptionParameters = allowSubcommandsAsOptionParameters; return this; } + /** + * @see CommandLine#setAllowOptionsAsOptionParameters(boolean) +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + public ParserSpec allowOptionsAsOptionParameters(boolean allowOptionsAsOptionParameters) { this.allowOptionsAsOptionParameters = allowOptionsAsOptionParameters; return this; } + /** Sets whether exceptions during parsing should be collected instead of thrown. + * Multiple errors may be encountered during parsing. These can be obtained from {@link ParseResult#errors()}. +@@ -8884,7 +8884,7 @@ public class CommandLine { + } + + /** Returns the original value of the option's required attribute, regardless of whether the option is used in an exclusive group or not. +- * @since 4.7.5-SNAPSHOT ++ * @since 4.7.4 + * @see Option#required() */ + public boolean originallyRequired(){ + return originallyRequired; +@@ -11675,7 +11675,7 @@ public class CommandLine { + * classpath and thereby cause failures. This method allows for disabling + * loading of resource bundles during annotation processing, preventing such + * errors. +- * @since 4.7.5-SNAPSHOT ++ * @since 4.7.4 + * @param loadBundles true if bundles should be loaded (default), false if bundles should not be loaded + */ + public static final void setLoadBundles(boolean loadBundles) { +@@ -18371,7 +18371,7 @@ public class CommandLine { + } + + /** Enumerates over the trace level values for filtering which internal debug statements should be printed. +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + public enum TraceLevel { OFF, WARN, INFO, DEBUG; + /** Returns whether messages at the specified {@code other} trace level would be printed for the current trace level. */ + public boolean isEnabled(TraceLevel other) { return ordinal() >= other.ordinal(); } +@@ -18384,7 +18384,7 @@ public class CommandLine { + + /** Utility class for printing internal debug statements. + * @see CommandLine#tracer() +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + public static final class Tracer { + private PrintStream stream = System.err; + private TraceLevel level = TraceLevel.lookup(System.getProperty("picocli.trace")); +@@ -18427,7 +18427,7 @@ public class CommandLine { + } + /** Returns the {@code Tracer} used internally for printing internal debug statements. + * @return the {@code Tracer} used internally for printing internal debug statements +- * @since 4.7.5-SNAPSHOT */ ++ * @since 4.7.4 */ + public static Tracer tracer() { + // TRACER is a static variable. + // Refresh to pick up changes to the system property after the CommandLine class was loaded. +--- a/src/test/java/picocli/CommandLineTest.java ++++ b/src/test/java/picocli/CommandLineTest.java +@@ -138,7 +138,7 @@ public class CommandLineTest { + } + @Test + public void testVersion() { +- assertEquals("4.7.5-SNAPSHOT", CommandLine.VERSION); ++ assertEquals("4.7.4", CommandLine.VERSION); + } + @Test + public void testArrayPositionalParametersAreReplacedNotAppendedTo() { diff --git a/v4.7.3.tar.gz b/v4.7.3.tar.gz deleted file mode 100644 index 2686fbc..0000000 --- a/v4.7.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:80ac00b3e60b0c267072d033823f608a5978b28e0809e88896c5bb5a5c5c17e6 -size 57408450