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