diff --git a/.fmf/version b/.fmf/version
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/.fmf/version
@@ -0,0 +1 @@
+1
diff --git a/.gitignore b/.gitignore
index e1caa32..bb5fe93 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
+/results_*
+/*.src.rpm
+
/beust-jcommander-1.17.tar.xz
/jcommander-1.30.tar.gz
/jcommander-1.35.tar.gz
@@ -12,3 +15,7 @@
/1.66.tar.gz
/1.71.tar.gz
/beust-jcommander-1.71.tar.gz
+/beust-jcommander-1.75.tar.gz
+/beust-jcommander-1.78.tar.gz
+/beust-jcommander-1.82.tar.gz
+/jcommander-1.82.pom
diff --git a/beust-jcommander.pom b/beust-jcommander.pom
deleted file mode 100644
index f36c4ad..0000000
--- a/beust-jcommander.pom
+++ /dev/null
@@ -1,277 +0,0 @@
-
-
-
- 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
index ea01066..94cbb67 100644
--- a/beust-jcommander.spec
+++ b/beust-jcommander.spec
@@ -1,147 +1,57 @@
+%bcond_with bootstrap
+
Name: beust-jcommander
-Version: 1.71
-Release: 6%{?dist}
+Version: 1.82
+Release: %autorelease
Summary: Java framework for parsing command line parameters
-License: ASL 2.0
-URL: http://jcommander.org/
+License: Apache-2.0
+URL: https://jcommander.org
BuildArch: noarch
+ExclusiveArch: %{java_arches} noarch
# ./generate-tarball.sh
Source0: %{name}-%{version}.tar.gz
-# Adapted from earlier version that still shipped poms. It uses kobalt for building now
-Source1: %{name}.pom
-# Cleaned up bundled jars hose licensing cannot be easily verified
+Source1: https://repo1.maven.org/maven2/com/beust/jcommander/%{version}/jcommander-%{version}.pom
+# Cleaned up bundled jars whose licensing cannot be easily verified
Source2: generate-tarball.sh
-Patch0: 0001-ParseValues-NullPointerException-patch.patch
+Patch: 0001-ParseValues-NullPointerException-patch.patch
-BuildRequires: maven-local
+%if %{with bootstrap}
+BuildRequires: javapackages-bootstrap
+%else
+BuildRequires: maven-local-openjdk25
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
-BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:)
BuildRequires: mvn(org.testng:testng)
+%endif
+# TODO Remove in Fedora 46
+Obsoletes: %{name}-javadoc < 1.82-23
%description
JCommander is a very small Java framework that makes it trivial to
parse command line parameters (with annotations).
-%package javadoc
-Summary: API documentation for %{name}
-
-%description javadoc
-This package contains the %{summary}.
-
%prep
-%setup -q -n jcommander-%{version}
-%patch0 -p1
-
+%autosetup -p1 -C
chmod -x license.txt
+
cp -p %SOURCE1 pom.xml
-sed -i 's/@VERSION@/%{version}/g' pom.xml
+%pom_xpath_set "pom:project/pom:version" "%{version}"
+
+# maven-surefire-plugin requires explicit version >= 4.7
+%pom_add_dep org.testng:testng:4.7:test
+
+%mvn_file : %{name}
%build
-%mvn_file : %{name}
-%mvn_build
+%mvn_build -j
%install
%mvn_install
%files -f .mfiles
-%doc license.txt notice.md README.markdown
-
-%files javadoc -f .mfiles-javadoc
-%doc license.txt notice.md
+%license license.txt notice.md
+%doc README.markdown
%changelog
-* Thu Jan 31 2019 Fedora Release Engineering - 1.71-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Mon Jul 30 2018 Michael Simacek - 1.71-5
-- Repack the tarball without binaries
-
-* Thu Jul 12 2018 Fedora Release Engineering - 1.71-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Wed Feb 07 2018 Fedora Release Engineering - 1.71-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Wed Jul 26 2017 Fedora Release Engineering - 1.71-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Tue Jun 13 2017 Roman Vais - 1.71-1
-- Update to upstream version 1.71
-- Add patch for issue https://github.com/cbeust/jcommander/issues/367
-
-* Fri Mar 10 2017 Roman Vais - 1.66-1
-- Update to upstream version 1.66
-
-* Fri Feb 17 2017 Roman Vais - 1.65-1
-- Update to upstream version 1.65
-
-* Thu Jan 26 2017 Roman Vais - 1.62-1
-- Update to upstream version 1.62
-
-* Wed Dec 14 2016 Michael Simacek - 1.60-1
-- Update to upstream version 1.60
-
-* Tue Nov 01 2016 Roman Vais - 1.58-1
-- Update to upstream version 1.58
-
-* Fri Sep 30 2016 Roman Vais - 1.57-1
-- Update to upstream version 1.57
-- Correct directory setup in prep section
-- Change of tarball name in source url to correspond to upstream
-
-* Tue Sep 27 2016 Roman Vais - 1.56-1
-- New version release.
-
-* Wed Feb 03 2016 Fedora Release Engineering - 1.47-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Wed Jun 17 2015 Fedora Release Engineering - 1.47-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Wed Jan 28 2015 Michael Simacek - 1.47-1
-- Update to upstream version 1.47
-- Enable tests
-
-* Mon Oct 13 2014 Mikolaj Izdebski - 1.45-1
-- Update to upstream version 1.45
-
-* Sat Jun 07 2014 Fedora Release Engineering - 1.35-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Wed Feb 26 2014 Mikolaj Izdebski - 1.35-1
-- Update to upstream version 1.35
-
-* Sat Aug 03 2013 Fedora Release Engineering - 1.30-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Wed Feb 06 2013 Java SIG - 1.30-3
-- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
-- Replace maven BuildRequires with maven-local
-
-* Wed Feb 6 2013 Mikolaj Izdebski - 1.30-2
-- Replace BR: xmvn with maven-local
-
-* Thu Jan 10 2013 Mikolaj Izdebski - 1.30-1
-- Update to upstream version 1.30
-- Build with xmvn
-
-* Thu Aug 16 2012 Mikolaj Izdebski - 1.17-6
-- Install NOTICE files
-
-* Wed Jul 18 2012 Fedora Release Engineering - 1.17-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
-
-* Thu Jan 12 2012 Fedora Release Engineering - 1.17-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Wed Nov 30 2011 Alexander Kurtakov 1.17-3
-- Use the new maven macro.
-
-* Mon May 16 2011 Jaromir Capik - 1.17-2
-- Unwanted comment removal
-- Target javadoc:jar replaced with javadoc:aggregate
-
-* Fri May 13 2011 Jaromir Capik - 1.17-1
-- Initial version of the package
+%autochangelog
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..315fc13
--- /dev/null
+++ b/changelog
@@ -0,0 +1,177 @@
+* Wed Jul 17 2024 Fedora Release Engineering - 1.82-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Fri May 31 2024 Mikolaj Izdebski - 1.82-10
+- Switch to a newer patch macro syntax
+
+* Tue Feb 27 2024 Jiri Vanek - 1.82-9
+- Rebuilt for java-21-openjdk as system jdk
+
+* Fri Feb 23 2024 Jiri Vanek - 1.82-8
+- bump of release for for java-21-openjdk as system jdk
+
+* Tue Jan 23 2024 Fedora Release Engineering - 1.82-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Fri Jan 19 2024 Fedora Release Engineering - 1.82-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Tue Oct 31 2023 Mikolaj Izdebski - 1.82-5
+- Fix license directory permissions
+- Resolves: rhbz#2144648
+
+* Fri Sep 01 2023 Mikolaj Izdebski - 1.82-4
+- Convert License tag to SPDX format
+
+* Wed Jul 19 2023 Fedora Release Engineering - 1.82-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Wed Jan 18 2023 Fedora Release Engineering - 1.82-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Wed Sep 07 2022 Marian Koncek - 1.82-1
+- Update to upstream version 1.82
+
+* Wed Jul 20 2022 Fedora Release Engineering - 1.78-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Sat Feb 05 2022 Jiri Vanek - 1.78-9
+- Rebuilt for java-17-openjdk as system jdk
+
+* Wed Jan 19 2022 Fedora Release Engineering - 1.78-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Wed Jul 21 2021 Fedora Release Engineering - 1.78-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon May 17 2021 Mikolaj Izdebski - 1.78-6
+- Bootstrap build
+- Non-bootstrap build
+
+* Tue Jan 26 2021 Fedora Release Engineering - 1.78-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Mon Jul 27 2020 Fedora Release Engineering - 1.78-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jul 10 2020 Jiri Vanek - 1.78-3
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Tue Jun 09 2020 Fedora Release Engineering - 1.78-3
+- skipped tests as they require user input with jdk11, changed way of javadoc generation
+
+* Tue Jan 28 2020 Fedora Release Engineering - 1.78-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sat Nov 09 2019 Fabio Valentini - 1.78-1
+- Update to version 1.78.
+- Remove unnecessary parent from POM file.
+
+* Tue Nov 05 2019 Mikolaj Izdebski - 1.78-2
+- Mass rebuild for javapackages-tools 201902
+
+* Mon Sep 02 2019 Marian Koncek - 1.78-1
+- Update to upstream version 1.78
+
+* Thu Aug 15 2019 Marian Koncek - 1.75-1
+- Update to upstream version 1.75
+
+* Wed Jul 24 2019 Fedora Release Engineering - 1.71-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Fri May 24 2019 Mikolaj Izdebski - 1.71-6
+- Mass rebuild for javapackages-tools 201901
+
+* Thu Jan 31 2019 Fedora Release Engineering - 1.71-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Mon Jul 30 2018 Michael Simacek - 1.71-5
+- Repack the tarball without binaries
+
+* Thu Jul 12 2018 Fedora Release Engineering - 1.71-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Wed Feb 07 2018 Fedora Release Engineering - 1.71-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering - 1.71-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Tue Jun 13 2017 Roman Vais - 1.71-1
+- Update to upstream version 1.71
+- Add patch for issue https://github.com/cbeust/jcommander/issues/367
+
+* Fri Mar 10 2017 Roman Vais - 1.66-1
+- Update to upstream version 1.66
+
+* Fri Feb 17 2017 Roman Vais - 1.65-1
+- Update to upstream version 1.65
+
+* Thu Jan 26 2017 Roman Vais - 1.62-1
+- Update to upstream version 1.62
+
+* Wed Dec 14 2016 Michael Simacek - 1.60-1
+- Update to upstream version 1.60
+
+* Tue Nov 01 2016 Roman Vais - 1.58-1
+- Update to upstream version 1.58
+
+* Fri Sep 30 2016 Roman Vais - 1.57-1
+- Update to upstream version 1.57
+- Correct directory setup in prep section
+- Change of tarball name in source url to correspond to upstream
+
+* Tue Sep 27 2016 Roman Vais - 1.56-1
+- New version release.
+
+* Wed Feb 03 2016 Fedora Release Engineering - 1.47-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Jun 17 2015 Fedora Release Engineering - 1.47-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Wed Jan 28 2015 Michael Simacek - 1.47-1
+- Update to upstream version 1.47
+- Enable tests
+
+* Mon Oct 13 2014 Mikolaj Izdebski - 1.45-1
+- Update to upstream version 1.45
+
+* Sat Jun 07 2014 Fedora Release Engineering - 1.35-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Wed Feb 26 2014 Mikolaj Izdebski - 1.35-1
+- Update to upstream version 1.35
+
+* Sat Aug 03 2013 Fedora Release Engineering - 1.30-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Wed Feb 06 2013 Java SIG - 1.30-3
+- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
+- Replace maven BuildRequires with maven-local
+
+* Wed Feb 6 2013 Mikolaj Izdebski - 1.30-2
+- Replace BR: xmvn with maven-local
+
+* Thu Jan 10 2013 Mikolaj Izdebski - 1.30-1
+- Update to upstream version 1.30
+- Build with xmvn
+
+* Thu Aug 16 2012 Mikolaj Izdebski - 1.17-6
+- Install NOTICE files
+
+* Wed Jul 18 2012 Fedora Release Engineering - 1.17-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Thu Jan 12 2012 Fedora Release Engineering - 1.17-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Wed Nov 30 2011 Alexander Kurtakov 1.17-3
+- Use the new maven macro.
+
+* Mon May 16 2011 Jaromir Capik - 1.17-2
+- Unwanted comment removal
+- Target javadoc:jar replaced with javadoc:aggregate
+
+* Fri May 13 2011 Jaromir Capik - 1.17-1
+- Initial version of the package
diff --git a/ci.fmf b/ci.fmf
new file mode 100644
index 0000000..c5aa0e0
--- /dev/null
+++ b/ci.fmf
@@ -0,0 +1 @@
+resultsdb-testcase: separate
diff --git a/gating.yaml b/gating.yaml
new file mode 100644
index 0000000..0d484d7
--- /dev/null
+++ b/gating.yaml
@@ -0,0 +1,8 @@
+--- !Policy
+product_versions:
+ - fedora-*
+decision_contexts:
+ - bodhi_update_push_testing
+ - bodhi_update_push_stable
+rules:
+ - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional}
diff --git a/generate-tarball.sh b/generate-tarball.sh
index cb89cee..034b6b3 100755
--- a/generate-tarball.sh
+++ b/generate-tarball.sh
@@ -1,20 +1,26 @@
#!/bin/bash
+
set -e
-name=beust-jcommander
+# This commit refers to the state of the sources when they were published to
+# Maven Central
+git_tag='dcf154b6d40dd3865e317de7250b7019044543a9'
version="$(sed -n 's/Version:\s*//p' *.spec)"
-# RETRIEVE
-wget "https://github.com/cbeust/jcommander/archive/${version}.tar.gz" -O "${name}-${version}.orig.tar.gz"
+# Retrieve and set version
+git clone https://github.com/cbeust/jcommander.git
-rm -rf tarball-tmp
-mkdir tarball-tmp
-cd tarball-tmp
-tar xf "../${name}-${version}.orig.tar.gz"
+pushd jcommander
+git reset --hard "${git_tag}"
-# CLEAN TARBALL
-rm -r */gradle* */kobalt* */lib
+# Clean
+find -name '*.jar' -delete
+find -name '*.class' -delete
+rm -rf gradle* kobalt* lib
+rm -rf .git
+popd
-tar cf "../${name}-${version}.tar.gz" *
-cd ..
-rm -r tarball-tmp "${name}-${version}.orig.tar.gz"
+# Pack into tarball
+mv jcommander beust-jcommander-"${version}"
+tar -cvf beust-jcommander-"${version}".tar.gz beust-jcommander-"${version}"/
+rm -rf beust-jcommander-"${version}"
diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf
new file mode 100644
index 0000000..ae17c0c
--- /dev/null
+++ b/plans/javapackages.fmf
@@ -0,0 +1,7 @@
+summary: Run javapackages-specific tests
+discover:
+ how: fmf
+ url: https://gitlab.com/redhat/centos-stream/tests/javapackages.git
+ ref: f43
+execute:
+ how: tmt
diff --git a/sources b/sources
index fc08321..82431ad 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
-SHA512 (beust-jcommander-1.71.tar.gz) = a3f7061f3afacd57092f62b9f8540a1f1e210ad6efc7f41ae10cee725a546b4cdcecee4a4f7056224936a59be18b11f2547002ec18be36626847b79a27a081d1
+SHA512 (beust-jcommander-1.82.tar.gz) = f0d13c021429476120ece6a252695dc7b05af41e7bf2535afed6e0e1cadedaea5300a90e0b7f77b413d1f3a049cbd57f96f322ab5d9dcb022ad2ad4c46bc235a
+SHA512 (jcommander-1.82.pom) = bf24086ad1466ca1c2c9ad4a5a1dc8e8161a1831117b2a8c91c417101252d4526c83e0a7ab5878ff6e8163901127e9e6cf3457a0d1f7746de4bd6d5fea1d0e8e