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.0info.picoclipicocli
- 4.7.3
+ 4.7.4picocliJava 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.0info.picoclipicocli-codegen
- 4.7.3
+ 4.7.4picocli-codegenPicocli Code Generation - Tools to generate documentation, configuration, source code and other files from a picocli model.https://picocli.info
@@ -32,7 +32,7 @@
info.picoclipicocli
- 4.7.3
+ 4.7.4compile
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.0info.picoclipicocli-shell-jline2
- 4.7.3
+ 4.7.4picocli-shell-jline2Picocli Shell JLine2 - easily build interactive shell applications with JLine 2 and picocli.https://picocli.info
@@ -32,7 +32,7 @@
info.picoclipicocli
- 4.7.3
+ 4.7.4compile
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