From b9f10025b9afcf2af8ffc9184888078eb279e1b7cc872d974cdbf7f60cb0ee4a Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Thu, 5 Sep 2024 17:55:33 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/Java:packages/beust-jcommander?expand=0&rev=24 --- .gitattributes | 23 ++ .gitignore | 1 + ...rseValues-NullPointerException-patch.patch | 61 ++++ _service | 19 ++ beust-jcommander-build.xml | 136 +++++++++ beust-jcommander.changes | 178 +++++++++++ beust-jcommander.pom | 277 ++++++++++++++++++ beust-jcommander.spec | 88 ++++++ jcommander-1.83.tar.xz | 3 + jcommander-1.85.tar.xz | 3 + 10 files changed, 789 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-ParseValues-NullPointerException-patch.patch create mode 100644 _service create mode 100644 beust-jcommander-build.xml create mode 100644 beust-jcommander.changes create mode 100644 beust-jcommander.pom create mode 100644 beust-jcommander.spec create mode 100644 jcommander-1.83.tar.xz create mode 100644 jcommander-1.85.tar.xz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-ParseValues-NullPointerException-patch.patch b/0001-ParseValues-NullPointerException-patch.patch new file mode 100644 index 0000000..8496759 --- /dev/null +++ b/0001-ParseValues-NullPointerException-patch.patch @@ -0,0 +1,61 @@ +From 4409f9ac0d8d1f64cfd00e91b91cf822d328d526 Mon Sep 17 00:00:00 2001 +From: Roman Vais +Date: Tue, 13 Jun 2017 13:24:24 +0200 +Subject: [PATCH] ParseValues-NullPointerException-patch + +--- + .../com/beust/jcommander/Parameterized.java | 27 +++++++++++++++++-- + 1 file changed, 25 insertions(+), 2 deletions(-) + +diff --git a/src/main/java/com/beust/jcommander/Parameterized.java b/src/main/java/com/beust/jcommander/Parameterized.java +index ba92301..eb24ce7 100644 +--- a/src/main/java/com/beust/jcommander/Parameterized.java ++++ b/src/main/java/com/beust/jcommander/Parameterized.java +@@ -6,6 +6,8 @@ import com.beust.jcommander.internal.Sets; + import java.lang.annotation.Annotation; + import java.lang.reflect.*; + import java.util.*; ++import java.util.logging.Level; ++import java.util.logging.Logger; + import java.util.stream.Collectors; + + /** +@@ -208,12 +210,33 @@ public class Parameterized { + String fieldName = Character.toLowerCase(name.charAt(3)) + name.substring(4); + Object result = null; + try { +- Field field = method.getDeclaringClass().getDeclaredField(fieldName); ++ Field field = object.getClass().getDeclaredField(fieldName); + if (field != null) { + setFieldAccessible(field); + result = field.get(object); + } +- } catch(NoSuchFieldException | IllegalAccessException ex) { ++ } catch(NoSuchFieldException ex) { ++ Class clazz = object.getClass(); ++ Field found = null; ++ while (clazz != null && method.getDeclaringClass().isAssignableFrom(clazz)) { ++ try { ++ found = clazz.getDeclaredField(fieldName); ++ } catch (NoSuchFieldException nfex) { ++ // ignore ++ } ++ if (found != null) break; ++ clazz = clazz.getSuperclass(); ++ } ++ if (found != null) { ++ setFieldAccessible(found); ++ try { ++ result = found.get(object); ++ } catch (IllegalAccessException iex) { ++ // ignore ++ } ++ } ++ ++ } catch(IllegalAccessException ex) { + // ignore + } + return result; +-- +2.46.0 + diff --git a/_service b/_service new file mode 100644 index 0000000..96419b7 --- /dev/null +++ b/_service @@ -0,0 +1,19 @@ + + + git + https://github.com/cbeust/jcommander.git + 1.85 + @PARENT_TAG@ + **.jar + **.class + gradle* + cobalt* + lib + .git + + + *.tar + xz + + + diff --git a/beust-jcommander-build.xml b/beust-jcommander-build.xml new file mode 100644 index 0000000..585d592 --- /dev/null +++ b/beust-jcommander-build.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/beust-jcommander.changes b/beust-jcommander.changes new file mode 100644 index 0000000..6fd78f5 --- /dev/null +++ b/beust-jcommander.changes @@ -0,0 +1,178 @@ +------------------------------------------------------------------- +Thu Sep 5 17:12:06 UTC 2024 - Fridrich Strba + +- Update to version 1.85 + * Changes of 1.84 + + Changed the method processing to only ignore bridge and + synthetic methods which are not duplicate of other normal + methods. + + Renamed BuilderExample to BridgeMethodsExample. + + Exclude methods which are bridge or synthetic when parsing + + Added public IMainParameter interface to fix + cbeust/jcommander#559 + + Fixed: A default fulfils requirement, but does not count as + assignment. + + Expand dynamic arg expands non dynamic args + + Order parameters with the same order by name in usage() + + Asserting that double quotes are not removed. + + Replace arrayOf with array literals in Kotlin sample + + Keep original exception thrown by the parameter setter method + + Fixes #557: Now validates BEFORE conversion + + Fixed: Broken link to TestNG example + + Allow acceptUnknownOption with variableArity + + Fixed: Default value of primitive type must not satisfy + required = true + + Simplified code: No need for public class + + No ParameterException if a default value assigned for + required params + + Fixed documentation: Contributor fixed inidex.html instead of + index.adoc + + Example for @Parameter on setter method + + Fixed docs formatting + + Mentioning Charset converter in docs + + Improved ByteOrderConverterTest: Removing unused Exception + + Adds a CharsetConverter. + + Mentioning ByteOrder converter in docs + + Improved ByteOrderConverterTest: Proofs that parameter may be + in mixed case + + Adds a ByteOrderConverter. + + Improved VariableArityTest: Proofs that unknown options are + safely passed through + + Test for dontShowNullForMissingCommandDescription + + Fix usage() for missing description on commands + + Moved description of defaultValueDescription to usage chapter + + Fixed backwards compatiblity fail: + ParameterDescription.getDefault() must not produce different + result as existing code relies on current behavior + + Fixed test fail: NullPointerException in ParameterDescription + + Fixed #471 @Param(default = ) + + Clarification: List and Set can be comma-separated + + Modify convertValue() to fix issue 509 and add a test + + Performance: String.isEmpty() is faster than .equals() + + Return an empty list when parsing an empty string + + Using secret GPG_PASSPHRASE for improved security + + Fixed: Deprecation Warning about new Integer(int) + + Ignore default value for required parameter + * Changes of 1.85 + + Fixed: Compilation fails due to Java 11 API used on Java 8 + target + + Cleanup configFile after enabledAtSignExpansionTest + + Simplified AtSignExpansion code + + Improved testing of AtSignExpansion + + Fix: enable parameter values to start with @ + + Simplified Strings::startsWith + + Simplified Strings::join(String, List) + + Simplified Strings::join(String, List) +- Modified patch: + * 0001-ParseValues-NullPointerException-patch.patch + + rebase + +------------------------------------------------------------------- +Mon May 20 16:56:11 UTC 2024 - Fridrich Strba + +- Update to version 1.83 + * Fixes: + + Fixed Docs Timestamp + + Fixed: #563 - JCommander does not recognize command by alias. + + fixed: missing null check + + renamed IRule to IParametersValidator + + `@Parameters(rules = )` + + Unit Test for #532 + + Fixed #532: @-syntax not working with command objects + + enable testng tests + + Fix regression with removed usage methods + + Add OSGi entries in MANIFEST.MF during jar creation + +------------------------------------------------------------------- +Wed Feb 21 08:20:16 UTC 2024 - Fridrich Strba + +- Use %patch -P N instead of deprecated %patchN. + +------------------------------------------------------------------- +Wed May 3 09:07:55 UTC 2023 - Fridrich Strba + +- Update to version 1.82 + * Fixes: + + #392: fixed bug when parsing arguments is ignoring case + sensitivity option + + Add a test for Parameter order usage + + add a test for Path converter + + Add automatic module name to manifest + + Add check if Boolean parameter is default null, then do not + flip value + + Added testing modules + + Add format tests for DefaultUsageFormatter, + UnixStyleUsageFormatter + + add Path converter change #414 to changelog + + Add test case for issue 367 + + Add testing for UnixStyleUsageFormatter + + Add unix-style formatter, allow DefaultUsageFormatter to be + extended easier + + Allow generics of type and in + parameters + + Allow main parameters to be a single field. + + allow System.out to be replaced by something else (f.e. + System.err) + + Allow UsageFormatter to be set in JCommander Builder + + Change UsageFormatter into an interface + + Clean up DefaultUsageFormatter + + Create MyDelegate.java + + Create UsageFormatter (preliminary) + + Enable usage() ordering for DynamicParameter + + Encapsulate MainParameter. + + encode user input to massage error message + + Expose more of the UsageFormatter implementations + + Fields annotated with @ParametersDelegate are now allowed to + be final. + + FIX #380 Main parameter doesn't support Converter + + Fix error message when failing to convert a Path + + Fixing: squid:ModifiersOrderCheck and squid:S2444 + + Fix locale-related issues in usage formatter tests + + Get boolean/Boolean getter with "is" prefix + + GH-477 Environment Variable Default Provider + + make console configurable by JCommander.Builder + + Make UsageFormatter abstract, Create DefaultUsageFormatter + + Only one DefaultConverterFactory + + Remove String.join usage - resolves #381 + + Remove the generic in IStringConverterFactory + + Restrict access to JCommander.Options again + + Support arity for main parameters. + + Update DefaultParameterizedParser.java + + Update IParameterizedParser.java + + Update JCommander.java + + usage() hides 'Comments:' header when only hidden commands + exist + + Use Builder API as constructor is deprecated + + Use get default getter approach if is + method is not found + * Upgrade needed by new code in xmvn 4.2.0 +- Fetch sources using source service and clean the tarball of + unnecessary binary files + +------------------------------------------------------------------- +Mon Apr 8 18:11:28 UTC 2019 - Fridrich Strba + +- Remove reference to pom parent from pom.xml file, since we are + not building with maven. + +------------------------------------------------------------------- +Thu Feb 7 16:28:14 UTC 2019 - Jan Engelhardt + +- Avoid double shipping of documentation. +- Ensure neutrality of descriptions. + +------------------------------------------------------------------- +Thu Dec 6 12:25:36 UTC 2018 - Fridrich Strba + +- Fix javadoc build with older JDK versions + +------------------------------------------------------------------- +Thu Oct 25 20:55:17 UTC 2018 - Fridrich Strba + +- Build with java source/target levels 8 since the code uses + String.join() which does not exist before java 8 + +------------------------------------------------------------------- +Wed Oct 24 06:47:17 UTC 2018 - Fridrich Strba + +- Initial packaging built without maven, adapted from Fedora rpm diff --git a/beust-jcommander.pom b/beust-jcommander.pom new file mode 100644 index 0000000..70f5b62 --- /dev/null +++ b/beust-jcommander.pom @@ -0,0 +1,277 @@ + + + + 4.0.0 + com.beust + jcommander + jar + JCommander + @VERSION@ + A Java framework to parse command line options with annotations. + http://beust.com/jcommander + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + scm:git:git@github.com:cbeust/jcommander.git + scm:git:git@github.com:cbeust/jcommander.git + git@github.com:cbeust/jcommander.git + + + + + jcenter + bintray + http://jcenter.bintray.com + + + + + + + sonatype-nexus-staging + Nexus Staging Repository + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + Cedric Beust + + + + + org.sonatype.oss + oss-parent + 3 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.1 + + 1.8 + 1.8 + UTF-8 + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.4.1 + + UTF-8 + + + + + + org.apache.felix + maven-bundle-plugin + 2.1.0 + + + bundle-manifest + process-classes + + manifest + + + + <_versionpolicy>$(@) + + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 2.3.1 + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.10 + + false + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.7 + + *.internal + + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + org.apache.felix + + maven-bundle-plugin + + + [2.1.0,) + + + manifest + + + + + + + + + + + + + + + + + org.testng + testng + 6.8.21 + jar + test + + + jcommander + com.beust + + + + + + + + + + license + + + + com.mycila.maven-license-plugin + maven-license-plugin + 1.7.0 + + false +
src/main/license/license-header.txt
+ + src/** + pom.xml + + + **/.git/** + + **/target/** + + false +
+ + + + check + + + +
+
+
+
+ + + + sign + + + + maven-gpg-plugin + 1.4 + + + sign-artifacts + verify + + sign + + + + + + + +
+ +
diff --git a/beust-jcommander.spec b/beust-jcommander.spec new file mode 100644 index 0000000..5fe7346 --- /dev/null +++ b/beust-jcommander.spec @@ -0,0 +1,88 @@ +# +# spec file for package beust-jcommander +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define __requires_exclude java-headless +%global short_name jcommander +Name: beust-%{short_name} +Version: 1.85 +Release: 0 +Summary: Java framework for parsing command line parameters +License: Apache-2.0 +Group: Development/Libraries/Java +URL: https://jcommander.org/ +Source0: %{short_name}-%{version}.tar.xz +# Adapted from earlier version that still shipped poms. It uses kobalt for building now +Source1: %{name}.pom +Source2: %{name}-build.xml +Patch0: 0001-ParseValues-NullPointerException-patch.patch +BuildRequires: ant +BuildRequires: fdupes +BuildRequires: java-devel >= 9 +BuildRequires: javapackages-local >= 6 +Requires: java >= 1.8 +Obsoletes: %{short_name} < %{version}-%{release} +Provides: %{short_name} = %{version}-%{release} +BuildArch: noarch + +%description +JCommander is a Java framework that allows parsing command line +parameters (with annotations). + +%package javadoc +Summary: API documentation for %{name} +Group: Development/Libraries/Java + +%description javadoc +This package contains the %{summary}. + +%prep +%setup -q -n %{short_name}-%{version} +%patch -P 0 -p1 + +chmod -x license.txt +cp -p %{SOURCE1} pom.xml +cp -p %{SOURCE2} build.xml +sed -i 's/@VERSION@/%{version}/g' pom.xml build.xml + +%build +%{ant} jar javadoc + +%install +# jars +install -d -m 0755 %{buildroot}%{_javadir} +install -m 644 target/%{short_name}-%{version}.jar \ + %{buildroot}%{_javadir}/%{name}.jar + +# pom +install -d -m 755 %{buildroot}%{_mavenpomdir} +%{mvn_install_pom} pom.xml %{buildroot}%{_mavenpomdir}/%{name}.pom +%add_maven_depmap %{name}.pom %{name}.jar + +# javadoc +install -dm 755 %{buildroot}%{_javadocdir}/%{name} +cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/ +%fdupes -s %{buildroot}%{_javadocdir}/%{name}/ + +%files -f .mfiles +%license license.txt +%doc notice.md README.markdown + +%files javadoc +%{_javadocdir}/%{name} + +%changelog diff --git a/jcommander-1.83.tar.xz b/jcommander-1.83.tar.xz new file mode 100644 index 0000000..db76282 --- /dev/null +++ b/jcommander-1.83.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:124cc4dcf342042f82bd4732ff575ebc3e5e26ad6e288713f0a56c87931562b0 +size 89548 diff --git a/jcommander-1.85.tar.xz b/jcommander-1.85.tar.xz new file mode 100644 index 0000000..473d354 --- /dev/null +++ b/jcommander-1.85.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:217b845c53531f23497851c22a89354e1ad9c0e7049975cb0555d81350e1650c +size 370532