diff --git a/.gitignore b/.gitignore
index fc4a83c..c9ee5db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/javacc-maven-plugin-2.6.tar.bz2
+SOURCES/javacc-maven-plugin-3.1.0.tar.gz
diff --git a/.javacc-maven-plugin.metadata b/.javacc-maven-plugin.metadata
index c6ee85b..2aabcef 100644
--- a/.javacc-maven-plugin.metadata
+++ b/.javacc-maven-plugin.metadata
@@ -1 +1 @@
-a4a1ca433b3bd043d89d4316e9bb12bca0fc451c SOURCES/javacc-maven-plugin-2.6.tar.bz2
+08daa62a0dab7156ec612d85ee9ba4a33f1e65b0 SOURCES/javacc-maven-plugin-3.1.0.tar.gz
diff --git a/SOURCES/javacc-maven-plugin-pom.patch b/SOURCES/javacc-maven-plugin-pom.patch
deleted file mode 100644
index 1d89ede..0000000
--- a/SOURCES/javacc-maven-plugin-pom.patch
+++ /dev/null
@@ -1,79 +0,0 @@
---- pom.xml.sav 2009-09-30 01:25:34.000000000 +0300
-+++ pom.xml 2010-03-23 23:37:07.136383912 +0200
-@@ -85,15 +85,6 @@ under the License.
- 1.5.6
-
-
-- edu.ucla.cs.compilers
-- jtb
-- 1.3.2
--
-- runtime
--
--
- org.apache.maven.reporting
- maven-reporting-api
- 2.0.4
-@@ -127,60 +118,5 @@ under the License.
-
-
-
--
--
-- run-its
--
--
-- maven.test.skip
-- !true
--
--
--
-- 2.0.1
--
--
--
--
-- org.apache.maven.plugins
-- maven-invoker-plugin
-- 1.4
--
-- src/it
-- ${project.build.directory}/it
--
-- */pom.xml
--
-- verify.bsh
-- src/it/settings.xml
-- ${project.build.directory}/local-repo
-- true
--
--
--
-- integration-test
--
-- install
-- run
--
--
--
--
--
--
--
--
-- maven-3
--
--
--
-- ${basedir}
--
--
--
-- 3.0-beta-1-SNAPSHOT
--
--
--
-
-
diff --git a/SPECS/javacc-maven-plugin.spec b/SPECS/javacc-maven-plugin.spec
index 46765d7..2858257 100644
--- a/SPECS/javacc-maven-plugin.spec
+++ b/SPECS/javacc-maven-plugin.spec
@@ -1,46 +1,75 @@
+# Break dependency loops in a bootstrap situation
+%bcond bootstrap 0
+
+# Disable Maven reporting in bootstrap mode and in RHEL
+%bcond maven_reporting %[!(%{with bootstrap} || 0%{?rhel})]
+
+%global giturl https://github.com/mojohaus/javacc-maven-plugin
+
Name: javacc-maven-plugin
-Version: 2.6
-Release: 27%{?dist}
+Version: 3.1.0
+Release: 8%{?dist}
Summary: JavaCC Maven Plugin
-License: ASL 2.0
-URL: http://mojo.codehaus.org/javacc-maven-plugin/
+
+License: Apache-2.0
BuildArch: noarch
+ExclusiveArch: %{java_arches} noarch
+URL: https://www.mojohaus.org/javacc-maven-plugin/
+VCS: git:%{giturl}.git
+Source0: %{giturl}/archive/v%{version}/%{name}-%{version}.tar.gz
+Source1: https://www.apache.org/licenses/LICENSE-2.0.txt
-#svn export http://svn.codehaus.org/mojo/tags/javacc-maven-plugin-2.6
-#tar cjf javacc-maven-plugin-2.6.tar.bz2 javacc-maven-plugin-2.6
-Source0: javacc-maven-plugin-2.6.tar.bz2
-Source1: http://www.apache.org/licenses/LICENSE-2.0.txt
-
-Patch0: javacc-maven-plugin-pom.patch
-
+%if %{with bootstrap}
+BuildRequires: javapackages-bootstrap
+%else
BuildRequires: maven-local
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(net.java.dev.javacc:javacc)
-BuildRequires: mvn(org.apache.maven.doxia:doxia-sink-api)
-BuildRequires: mvn(org.apache.maven.doxia:doxia-site-renderer)
+BuildRequires: mvn(org.apache.maven:maven-artifact)
+BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-model)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
-BuildRequires: mvn(org.apache.maven:maven-project)
-BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-api)
-BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-impl)
+BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
+BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.codehaus.mojo:mojo-parent:pom:)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
-BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
+BuildRequires: mvn(org.codehaus.plexus:plexus-xml)
+%endif
+
+%if %{with maven_reporting}
+BuildRequires: mvn(org.apache.maven.doxia:doxia-sink-api)
+BuildRequires: mvn(org.apache.maven.doxia:doxia-site-renderer)
+BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-api)
+BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-impl)
+%endif
%description
Maven Plugin for processing JavaCC grammar files.
-%package javadoc
-Summary: Javadoc for %{name}
-
-%description javadoc
-API documentation for %{name}.
+%{?javadoc_package}
%prep
-%setup -q
-%patch0 -b .sav
+%autosetup -p1
cp -p %{SOURCE1} .
+# Do not use jtb, which is unmaintained. It is accessed only via reflection to
+# avoid depending on Java 1.5 for compilation.
+%pom_remove_dep edu.ucla.cs.compilers:jtb
+
+# Disable integration tests
+%pom_remove_plugin org.apache.maven.plugins:maven-invoker-plugin
+rm -fr src/it
+
+# Disable building the web site
+rm -fr src/site
+
+# In bootstrap mode, disable documentation and reporting
+%if %{without maven_reporting}
+%pom_remove_dep org.apache.maven.doxia:
+%pom_remove_dep org.apache.maven.reporting:
+rm src/main/java/org/codehaus/mojo/javacc/JJDocMojo.java
+%endif
+
%build
%mvn_build
@@ -48,17 +77,87 @@ cp -p %{SOURCE1} .
%mvn_install
%files -f .mfiles
-%doc LICENSE-2.0.txt src/main/resources/NOTICE
-
-%files javadoc -f .mfiles-javadoc
-%doc LICENSE-2.0.txt src/main/resources/NOTICE
+%license LICENSE-2.0.txt src/main/resources/NOTICE
%changelog
-* Tue Nov 05 2019 Mikolaj Izdebski - 2.6-27
-- Mass rebuild for javapackages-tools 201902
+* Fri Nov 29 2024 Mikolaj Izdebski - 3.1.0-8
+- Update javapackages test plan to f42
-* Fri May 24 2019 Mikolaj Izdebski - 2.6-26
-- Mass rebuild for javapackages-tools 201901
+* Wed Nov 20 2024 Jerry James - 3.1.0-7
+- Avoid unexpanded macro in package %%description
+
+* Thu Jul 18 2024 Fedora Release Engineering - 3.1.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Sun Mar 3 2024 Jerry James - 3.1.0-1
+- Version 3.1.0
+
+* Tue Feb 27 2024 Jiri Vanek - 3.0.1-8
+- Rebuilt for java-21-openjdk as system jdk
+
+* Fri Feb 23 2024 Jiri Vanek - 3.0.1-7
+- bump of release for for java-21-openjdk as system jdk
+
+* Wed Jan 24 2024 Fedora Release Engineering - 3.0.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Sat Jan 20 2024 Fedora Release Engineering - 3.0.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Fri Sep 01 2023 Mikolaj Izdebski - 3.0.1-4
+- Rebuild
+
+* Sat Aug 26 2023 Mikolaj Izdebski - 3.0.1-3
+- Bootstrap using javapackages-bootstrap
+
+* Thu Jul 20 2023 Fedora Release Engineering - 3.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Wed Jul 19 2023 Jerry James - 3.0.1-1
+- Add bootstrap mode to break a dependency loop
+
+* Wed Mar 29 2023 Jerry James - 3.0.1-1
+- Version 3.0.1
+- Convert License tag to SPDX
+
+* Thu Jan 19 2023 Fedora Release Engineering - 2.6-38
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Thu Jul 21 2022 Fedora Release Engineering - 2.6-37
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jul 08 2022 Jiri Vanek - 2.6-36
+- Rebuilt for Drop i686 JDKs
+
+* Sat Feb 05 2022 Jiri Vanek - 2.6-35
+- Rebuilt for java-17-openjdk as system jdk
+
+* Thu Jan 20 2022 Fedora Release Engineering - 2.6-34
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Thu Jul 22 2021 Fedora Release Engineering - 2.6-33
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Tue Jan 26 2021 Fedora Release Engineering - 2.6-32
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Tue Jul 28 2020 Fedora Release Engineering - 2.6-31
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jul 10 2020 Jiri Vanek - 2.6-30
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Wed Jan 29 2020 Fedora Release Engineering - 2.6-29
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Thu Jul 25 2019 Fedora Release Engineering - 2.6-28
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Fri Feb 01 2019 Fedora Release Engineering - 2.6-27
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Fri Jul 13 2018 Fedora Release Engineering - 2.6-26
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering - 2.6-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild