diff --git a/.gitignore b/.gitignore
index 6ec3897..cb3e809 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/google-guice-4.2.2.tar.xz
+SOURCES/google-guice-5.1.0.tar.xz
diff --git a/.google-guice.metadata b/.google-guice.metadata
index ec966a9..acafa90 100644
--- a/.google-guice.metadata
+++ b/.google-guice.metadata
@@ -1 +1 @@
-b6026a2dca56aae1b1f7ebab2cd28b2d8445c2d8 SOURCES/google-guice-4.2.2.tar.xz
+4f026d37309ceb48e0a6377b91f12ad0334de976 SOURCES/google-guice-5.1.0.tar.xz
diff --git a/SOURCES/create-tarball.sh b/SOURCES/create-tarball.sh
index 5220cf9..d2b2f58 100755
--- a/SOURCES/create-tarball.sh
+++ b/SOURCES/create-tarball.sh
@@ -2,7 +2,7 @@
set -e -x
test $# -eq 1
test ! -d guice
-git clone git://github.com/google/guice.git
+git clone https://github.com/google/guice.git
cd ./guice
git checkout ${1}
git branch unbundled-${1}
diff --git a/SPECS/google-guice.spec b/SPECS/google-guice.spec
index 1175a32..1064499 100644
--- a/SPECS/google-guice.spec
+++ b/SPECS/google-guice.spec
@@ -1,31 +1,37 @@
+%bcond_with bootstrap
+
Name: google-guice
-Version: 4.2.2
-Release: 4%{?dist}
+Version: 5.1.0
+Release: 23%{?dist}
Summary: Lightweight dependency injection framework for Java 5 and above
-License: ASL 2.0
+License: Apache-2.0
URL: https://github.com/google/guice
BuildArch: noarch
+ExclusiveArch: %{java_arches} noarch
# ./create-tarball.sh %%{version}
Source0: %{name}-%{version}.tar.xz
Source1: create-tarball.sh
-BuildRequires: maven-local-openjdk8
-BuildRequires: %{?module_prefix}mvn(aopalliance:aopalliance)
-BuildRequires: mvn(cglib:cglib)
-BuildRequires: %{?module_prefix}mvn(com.google.guava:guava)
-BuildRequires: %{?module_prefix}mvn(javax.inject:javax.inject)
+BuildRequires: jurand
+%if %{with bootstrap}
+BuildRequires: javapackages-bootstrap
+%else
+BuildRequires: maven-local
+BuildRequires: mvn(aopalliance:aopalliance)
+BuildRequires: mvn(com.google.code.findbugs:jsr305)
+BuildRequires: mvn(com.google.guava:guava)
+BuildRequires: mvn(javax.inject:javax.inject)
BuildRequires: mvn(javax.servlet:servlet-api)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-remote-resources-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
-BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.ow2.asm:asm)
-BuildRequires: mvn(org.slf4j:slf4j-api)
-BuildRequires: mvn(org.sonatype.plugins:munge-maven-plugin)
+%endif
+%if %{without bootstrap}
# xmvn-builddep misses this:
BuildRequires: mvn(org.apache:apache-jar-resource-bundle)
-
+%endif
%description
Put simply, Guice alleviates the need for factories and the use of new
@@ -88,14 +94,6 @@ Summary: JNDI extension module for Guice
Guice is a lightweight dependency injection framework for Java 5
and above. This package provides JNDI module for Guice.
-%package -n guice-multibindings
-Summary: MultiBindings extension module for Guice
-
-%description -n guice-multibindings
-Guice is a lightweight dependency injection framework for Java 5
-and above. This package provides MultiBindings module for Guice.
-
-
%package -n guice-servlet
Summary: Servlet extension module for Guice
@@ -103,7 +101,6 @@ Summary: Servlet extension module for Guice
Guice is a lightweight dependency injection framework for Java 5
and above. This package provides Servlet module for Guice.
-
%package -n guice-throwingproviders
Summary: ThrowingProviders extension module for Guice
@@ -118,11 +115,18 @@ Summary: Bill of Materials for Guice
Guice is a lightweight dependency injection framework for Java 5
and above. This package provides Bill of Materials module for Guice.
-%{?module_package}
-%{?javadoc_package}
+%package javadoc
+Summary: API documentation for %{name}
+
+%description javadoc
+API documentation for %{name}.
%prep
-%setup -q
+%autosetup -p1
+
+%java_remove_annotations core/src/ \
+ -p ^com.google.common.annotations. \
+ -p ^com.google.errorprone.annotations. \
# We don't have struts2 in Fedora yet.
%pom_disable_module struts2 extensions
@@ -150,59 +154,162 @@ and above. This package provides Bill of Materials module for Guice.
# remove test dependency to make sure we don't produce requires
# see #1007498
%pom_remove_dep :guava-testlib extensions
-%pom_xpath_remove "pom:dependency[pom:classifier[text()='tests']]" extensions
+%pom_xpath_remove "pom:dependency[pom:classifier='tests']" extensions
%pom_remove_parent
-%pom_set_parent com.google.inject:guice-parent:%{version} jdk8-tests
%pom_disable_module persist extensions
%pom_disable_module spring extensions
-
-%pom_disable_module jdk8-tests
-
-# Require a newer compiler
-%pom_xpath_set "pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:source" "1.8"
-%pom_xpath_set "pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:target" "1.8"
-
%pom_disable_module testlib extensions
-%build
-%mvn_alias "com.google.inject.extensions:" "org.sonatype.sisu.inject:"
+#%pom_remove_dep :aopalliance core
+#%pom_remove_dep :asm core
+#%pom_remove_dep :cglib core
+#%pom_xpath_remove "pom:plugin[pom:artifactId='maven-jar-plugin']/pom:configuration"
+#%pom_xpath_remove "pom:plugin[pom:artifactId='maven-jar-plugin']/pom:executions"
+#%pom_xpath_set "pom:plugin[pom:artifactId='munge-maven-plugin']/pom:executions/pom:execution/pom:phase" generate-sources core
+#%pom_xpath_set "pom:plugin[pom:artifactId='munge-maven-plugin']/pom:executions/pom:execution/pom:goals/pom:goal" munge core
-%mvn_package :::no_aop: guice
+#%pom_xpath_inject "pom:dependency[pom:artifactId='guice']" "provided" extensions
+
+%build
+#%mvn_alias "com.google.inject.extensions:" "org.sonatype.sisu.inject:"
+
+#%mvn_package :::no_aop: guice
+#%mvn_package :guice:jar:{}: __noinstall
%mvn_file ":guice-{*}" guice/guice-@1
%mvn_file ":guice" guice/%{name} %{name}
-%mvn_alias ":guice" "org.sonatype.sisu:sisu-guice"
+#%mvn_alias ":guice" "org.sonatype.sisu:sisu-guice"
# Skip tests because of missing dependency guice-testlib
%mvn_build -f -s
%install
%mvn_install
-%files -n %{?module_prefix}%{name} -f .mfiles-guice
+%files -f .mfiles-guice
%files -n guice-parent -f .mfiles-guice-parent
%license COPYING
%files -n guice-assistedinject -f .mfiles-guice-assistedinject
+
%files -n guice-extensions -f .mfiles-extensions-parent
+
%files -n guice-grapher -f .mfiles-guice-grapher
+
%files -n guice-jmx -f .mfiles-guice-jmx
+
%files -n guice-jndi -f .mfiles-guice-jndi
-%files -n guice-multibindings -f .mfiles-guice-multibindings
+
%files -n guice-servlet -f .mfiles-guice-servlet
+
%files -n guice-throwingproviders -f .mfiles-guice-throwingproviders
%files -n guice-bom -f .mfiles-guice-bom
+%files javadoc -f .mfiles-javadoc
+%license COPYING
+
%changelog
+* Fri Nov 29 2024 Mikolaj Izdebski - 5.1.0-20
+- Update javapackages test plan to f42
+
+* Tue Jul 30 2024 Mikolaj Izdebski - 5.1.0-13
+- Drop unneeded Obsoletes
+
+* Thu Jul 18 2024 Fedora Release Engineering - 5.1.0-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Tue Feb 27 2024 Jiri Vanek - 5.1.0-11
+- Rebuilt for java-21-openjdk as system jdk
+
+* Fri Feb 23 2024 Jiri Vanek - 5.1.0-10
+- bump of release for for java-21-openjdk as system jdk
+
+* Wed Jan 24 2024 Fedora Release Engineering - 5.1.0-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Sat Jan 20 2024 Fedora Release Engineering - 5.1.0-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Wed Sep 20 2023 Mikolaj Izdebski - 5.1.0-7
+- Rebuild to regenerate auto-Requires on java
+
+* Fri Sep 01 2023 Mikolaj Izdebski - 5.1.0-6
+- Convert License tag to SPDX format
+
+* Wed Aug 30 2023 Mikolaj Izdebski - 5.1.0-5
+- Build with Jurand instead of deprecated javapackages-extra
+
+* Tue Aug 15 2023 Mikolaj Izdebski - 5.1.0-4
+- Build with default JDK 17
+
+* Thu Jul 20 2023 Fedora Release Engineering - 5.1.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Fri Mar 31 2023 Mikolaj Izdebski - 5.1.0-2
+- Rebuild with no changes
+
+* Tue Mar 21 2023 Mikolaj Izdebski - 5.1.0-1
+- Update to upstream version 5.1.0
+
+* Thu Jan 19 2023 Fedora Release Engineering - 4.2.3-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Thu Jul 21 2022 Fedora Release Engineering - 4.2.3-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Sat Feb 05 2022 Jiri Vanek - 4.2.3-8
+- Rebuilt for java-17-openjdk as system jdk
+
+* Thu Jan 20 2022 Fedora Release Engineering - 4.2.3-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Thu Jul 22 2021 Fedora Release Engineering - 4.2.3-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon May 17 2021 Mikolaj Izdebski - 4.2.3-5
+- Bump release
+
+* Mon May 17 2021 Mikolaj Izdebski - 4.2.3-2
+- Bootstrap build
+- Non-bootstrap build
+
+* Tue Jan 26 2021 Fedora Release Engineering - 4.2.3-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Fri Sep 18 2020 Marian Koncek - 4.2.3-1
+- Update to upstream version 4.2.3
+
+* Tue Jul 28 2020 Fedora Release Engineering - 4.2.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jul 10 2020 Jiri Vanek - 4.2.3-2
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Fri May 08 2020 Fabio Valentini - 4.2.3-1
+- Update to version 4.2.3.
+
+* Wed Jan 29 2020 Fedora Release Engineering - 4.2.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
* Sat Jan 25 2020 Mikolaj Izdebski - 4.2.2-4
- Build with OpenJDK 8
* Tue Nov 05 2019 Mikolaj Izdebski - 4.2.2-3
- Mass rebuild for javapackages-tools 201902
+* Mon Jul 29 2019 Fabio Valentini - 4.2.2-1
+- Update to version 4.2.2.
+- Obsolete guice-testlib.
+
+* Fri Jul 26 2019 Fabio Valentini - 4.1-16
+- Disable support for spring and JPA.
+
+* Thu Jul 25 2019 Fedora Release Engineering - 4.1-15
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
* Fri May 24 2019 Mikolaj Izdebski - 4.2.2-2
- Mass rebuild for javapackages-tools 201901
@@ -210,6 +317,15 @@ and above. This package provides Bill of Materials module for Guice.
- Update to upstream version 4.2.2
- Fixes: RHBZ #1563661
+* Fri Feb 01 2019 Fedora Release Engineering - 4.1-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Thu Dec 13 2018 Mat Booth - 4.1-13
+- Regenerate OSGi metadata due to ASM 7
+
+* Fri Jul 13 2018 Fedora Release Engineering - 4.1-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
* Wed Apr 18 2018 Mikolaj Izdebski - 4.1-11
- Remove legacy Provides