diff --git a/.gitignore b/.gitignore
index f21a349..3590a2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/v28.1.tar.gz
+SOURCES/guava-33.3.0.tar.gz
diff --git a/.guava.metadata b/.guava.metadata
index 86a9275..c733a19 100644
--- a/.guava.metadata
+++ b/.guava.metadata
@@ -1 +1 @@
-adc45c534dcb7ee494893b5b8e38c92dd31f6250 SOURCES/v28.1.tar.gz
+2035649401ef06c8ea0438ce12c6239b746f7f7d SOURCES/guava-33.3.0.tar.gz
diff --git a/SPECS/guava.spec b/SPECS/guava.spec
index 479243c..d8bba0d 100644
--- a/SPECS/guava.spec
+++ b/SPECS/guava.spec
@@ -1,21 +1,28 @@
+%bcond_with bootstrap
+
Name: guava
-Version: 28.1
-Release: 3%{?dist}
+Version: 33.3.0
+Release: 5%{?dist}
Summary: Google Core Libraries for Java
-# Most of the code is under ASL 2.0
-# Few classes are under CC0, grep for creativecommons
-License: ASL 2.0 and CC0
+# Most of the code is under Apache-2.0
+# Few classes are under CC0-1.0 grep for creativecommons
+License: Apache-2.0 AND CC0-1.0
URL: https://github.com/google/guava
BuildArch: noarch
+ExclusiveArch: %{java_arches} noarch
-Source0: https://github.com/google/guava/archive/v%{version}.tar.gz
+Source0: https://github.com/google/guava/archive/v%{version}/guava-%{version}.tar.gz
-BuildRequires: maven-local-openjdk8
-BuildRequires: %{?module_prefix}mvn(com.google.code.findbugs:jsr305)
+BuildRequires: jurand
+%if %{with bootstrap}
+BuildRequires: javapackages-bootstrap
+%else
+BuildRequires: maven-local
+BuildRequires: mvn(com.google.code.findbugs:jsr305)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin)
-BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:)
+%endif
%description
Guava is a suite of core and expanded libraries that include
@@ -25,8 +32,11 @@ This project is a complete packaging of all the Guava libraries
into a single jar. Individual portions of Guava can be used
by downloading the appropriate module and its dependencies.
-%{?module_package}
-%{?javadoc_package}
+%package javadoc
+Summary: API documentation for %{name}
+
+%description javadoc
+API documentation for %{name}.
%package testlib
Summary: The guava-testlib artifact
@@ -35,16 +45,25 @@ Summary: The guava-testlib artifact
guava-testlib provides additional functionality for conveninent unit testing
%prep
-%setup -q
+%autosetup -p1
find . -name '*.jar' -delete
+%pom_remove_parent guava-bom
+
%pom_disable_module guava-gwt
%pom_disable_module guava-tests
+%pom_xpath_inject pom:modules "futures/failureaccess"
+%pom_xpath_inject pom:parent "../.." futures/failureaccess
+%pom_xpath_set pom:parent/pom:version %{version}-jre futures/failureaccess
+
%pom_remove_plugin -r :animal-sniffer-maven-plugin
-# Downloads JDK source for doc generation
-%pom_remove_plugin :maven-dependency-plugin guava
+%pom_remove_plugin -r :maven-source-plugin
+
+%pom_remove_plugin -r :toolchains-maven-plugin
+%pom_remove_plugin -r :maven-toolchains-plugin
+%pom_xpath_remove pom:jdkToolchain
%pom_remove_dep :caliper guava-tests
@@ -53,35 +72,27 @@ find . -name '*.jar' -delete
# javadoc generation fails due to strict doclint in JDK 1.8.0_45
%pom_remove_plugin -r :maven-javadoc-plugin
+%pom_remove_plugin -r :build-helper-maven-plugin
+
%pom_xpath_inject /pom:project/pom:build/pom:plugins/pom:plugin/pom:configuration/pom:instructions "<_nouses>true" guava/pom.xml
-%pom_remove_dep -r :animal-sniffer-annotations
+# missing error_prone_core artifact
+%pom_xpath_remove pom:annotationProcessorPaths
+sed -i /Xplugin:ErrorProne/d pom.xml
+
%pom_remove_dep -r :error_prone_annotations
%pom_remove_dep -r :j2objc-annotations
%pom_remove_dep -r org.checkerframework:
%pom_remove_dep -r :listenablefuture
-annotations=$(
- find -name '*.java' \
- | xargs fgrep -h \
- -e 'import com.google.j2objc.annotations' \
- -e 'import com.google.errorprone.annotation' \
- -e 'import org.codehaus.mojo.animal_sniffer' \
- -e 'import org.checkerframework' \
- | sort -u \
- | sed 's/.*\.\([^.]*\);/\1/' \
- | paste -sd\|
-)
-# guava started using quite a few annotation libraries for code quality, which
-# we don't have. This ugly regex is supposed to remove their usage from the code
-find -name '*.java' | xargs sed -ri \
- "s/^import .*\.($annotations);//;s/@($annotations)"'\>\s*(\((("[^"]*")|([^)]*))\))?//g'
+%java_remove_annotations guava guava-testlib -s \
+ -p org[.]checkerframework[.] \
+ -p com[.]google[.]common[.]annotations[.] \
+ -p com[.]google[.]errorprone[.]annotations[.] \
+ -p com[.]google[.]j2objc[.]annotations[.] \
%mvn_package "com.google.guava:failureaccess" guava
-%pom_xpath_inject pom:modules \
-"futures/failureaccess"
-
%mvn_package "com.google.guava:guava-bom" __noinstall
%build
@@ -92,16 +103,112 @@ find -name '*.java' | xargs sed -ri \
%install
%mvn_install
-%files -n %{?module_prefix}%{name} -f .mfiles-guava
+%files -f .mfiles-guava
%doc CONTRIBUTORS README*
-%license COPYING
+%license LICENSE
+
+%files javadoc -f .mfiles-javadoc
%files testlib -f .mfiles-guava-testlib
%changelog
-* Sat Jan 25 2020 Mikolaj Izdebski - 28.1-3
+* Fri Nov 29 2024 Mikolaj Izdebski - 33.3.0-3
+- Update javapackages test plan to f42
+
+* Wed Aug 21 2024 Mikolaj Izdebski - 33.3.0-1
+- Update to upstream version 33.3.0
+
+* Thu Jul 18 2024 Fedora Release Engineering - 33.2.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Tue Jul 16 2024 Marian Koncek - 33.2.1-1
+- Update to upstream version 33.2.1
+
+* Tue Feb 27 2024 Jiri Vanek - 32.1.3-5
+- Rebuilt for java-21-openjdk as system jdk
+
+* Fri Feb 23 2024 Jiri Vanek - 32.1.3-4
+- bump of release for for java-21-openjdk as system jdk
+
+* Wed Jan 24 2024 Fedora Release Engineering - 32.1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Sat Jan 20 2024 Fedora Release Engineering - 32.1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Tue Nov 21 2023 Marian Koncek - 32.1.3-1
+- Update to upstream version 32.1.3
+
+* Wed Sep 20 2023 Mikolaj Izdebski - 31.1-8
+- Rebuild to regenerate auto-Requires on java
+
+* Fri Sep 01 2023 Mikolaj Izdebski - 31.1-7
+- Convert License tag to SPDX format
+
+* Wed Aug 30 2023 Mikolaj Izdebski - 31.1-6
+- Build with Jurand instead of deprecated javapackages-extra
+
+* Tue Aug 15 2023 Mikolaj Izdebski - 31.1-5
+- Build with default JDK 17
+
+* Thu Jul 20 2023 Fedora Release Engineering - 31.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Wed Mar 08 2023 Mikolaj Izdebski - 31.1-3
+- Port to Jurand 1.1.0
+
+* Thu Jan 19 2023 Fedora Release Engineering - 31.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Thu Sep 08 2022 Marian Koncek - 31.1-1
+- Update to upstream version 31.1
+
+* Thu Jul 21 2022 Fedora Release Engineering - 31.0.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Sat Feb 05 2022 Jiri Vanek - 31.0.1-3
+- Rebuilt for java-17-openjdk as system jdk
+
+* Thu Jan 20 2022 Fedora Release Engineering - 31.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Thu Oct 14 2021 Orion Poplawski - 31.0.1-1
+- Update to 31.0.1
+
+* Thu Jul 22 2021 Fedora Release Engineering - 30.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon May 17 2021 Mikolaj Izdebski - 30.1-2
+- Bootstrap build
+- Non-bootstrap build
+
+* Tue Jan 26 2021 Fedora Release Engineering - 25.0-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Tue Jan 26 2021 Marian Koncek - 30.1-1
+- Update to upstream version 30.1
+
+* Fri Sep 18 2020 Marian Koncek - 29.0-1
+- Update to upstream version 29.0
+
+* Tue Jul 28 2020 Fedora Release Engineering - 25.0-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jul 10 2020 Jiri Vanek - 25.0-8
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Wed Feb 19 2020 Fabio Valentini - 25.0-7
+- Drop unnecessary dependency on parent POM.
+
+* Wed Jan 29 2020 Fedora Release Engineering - 25.0-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sat Jan 25 2020 Mikolaj Izdebski - 28.2-2
- Build with OpenJDK 8
+* Fri Jan 24 2020 Marian Koncek - 28.2-1
+- Update to upstream version 28.2
+
* Tue Nov 05 2019 Mikolaj Izdebski - 28.1-2
- Mass rebuild for javapackages-tools 201902
@@ -111,9 +218,15 @@ find -name '*.java' | xargs sed -ri \
* Thu Aug 01 2019 Marian Koncek - 28.0-1
- Update to upstream version 28.0
+* Thu Jul 25 2019 Fedora Release Engineering - 25.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
* Fri May 24 2019 Mikolaj Izdebski - 25.0-4
- Mass rebuild for javapackages-tools 201901
+* Fri Feb 01 2019 Fedora Release Engineering - 25.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
* Fri Aug 03 2018 Michael Simacek - 25.0-3
- Fix license tag to include CC0
@@ -201,6 +314,7 @@ find -name '*.java' | xargs sed -ri \
* Fri Jun 28 2013 Mikolaj Izdebski - 13.0-4
- Rebuild to regenerate API documentation
+- Resolves: CVE-2013-1571
* Thu Feb 14 2013 Fedora Release Engineering - 13.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild