b122f3
%bcond_with bootstrap
b122f3
b122f3
Name:           guava
b122f3
Version:        30.1
e054b1
Release:        6%{?dist}
b122f3
Summary:        Google Core Libraries for Java
b122f3
# Most of the code is under ASL 2.0
b122f3
# Few classes are under CC0, grep for creativecommons
b122f3
License:        ASL 2.0 and CC0
b122f3
URL:            https://github.com/google/guava
b122f3
BuildArch:      noarch
b122f3
b122f3
Source0:        https://github.com/google/guava/archive/v%{version}.tar.gz
b122f3
b122f3
Patch1:         0001-Remove-multi-line-annotations.patch
b122f3
b122f3
BuildRequires:  maven-local-openjdk8
b122f3
%if %{with bootstrap}
b122f3
BuildRequires:  javapackages-bootstrap
b122f3
%else
b122f3
BuildRequires:  %{?module_prefix}mvn(com.google.code.findbugs:jsr305)
b122f3
BuildRequires:  mvn(junit:junit)
b122f3
BuildRequires:  mvn(org.apache.felix:maven-bundle-plugin)
b122f3
BuildRequires:  mvn(org.apache.maven.plugins:maven-enforcer-plugin)
b122f3
%endif
b122f3
b122f3
%description
b122f3
Guava is a suite of core and expanded libraries that include
b122f3
utility classes, Google’s collections, io classes, and much
b122f3
much more.
b122f3
This project is a complete packaging of all the Guava libraries
b122f3
into a single jar.  Individual portions of Guava can be used
b122f3
by downloading the appropriate module and its dependencies.
b122f3
b122f3
%{?javadoc_package}
b122f3
b122f3
%package testlib
b122f3
Summary:        The guava-testlib artifact
b122f3
b122f3
%description testlib
b122f3
guava-testlib provides additional functionality for conveninent unit testing
b122f3
b122f3
%prep
b122f3
%setup -q
b122f3
b122f3
find . -name '*.jar' -delete
b122f3
b122f3
%pom_remove_parent guava-bom
b122f3
b122f3
%pom_disable_module guava-gwt
b122f3
%pom_disable_module guava-tests
b122f3
b122f3
%pom_xpath_inject pom:modules "<module>futures/failureaccess</module>"
b122f3
%pom_xpath_inject pom:parent "<relativePath>../..</relativePath>" futures/failureaccess
b122f3
%pom_xpath_set pom:parent/pom:version %{version}-jre futures/failureaccess
b122f3
b122f3
%pom_remove_plugin -r :animal-sniffer-maven-plugin
b122f3
# Downloads JDK source for doc generation
b122f3
%pom_remove_plugin :maven-dependency-plugin guava
b122f3
b122f3
%pom_remove_dep :caliper guava-tests
b122f3
b122f3
%mvn_package :guava-parent guava
b122f3
b122f3
# javadoc generation fails due to strict doclint in JDK 1.8.0_45
b122f3
%pom_remove_plugin -r :maven-javadoc-plugin
b122f3
b122f3
%pom_xpath_inject /pom:project/pom:build/pom:plugins/pom:plugin/pom:configuration/pom:instructions "<_nouses>true</_nouses>" guava/pom.xml
b122f3
b122f3
%pom_remove_dep -r :error_prone_annotations
b122f3
%pom_remove_dep -r :j2objc-annotations
b122f3
%pom_remove_dep -r org.checkerframework:
b122f3
%pom_remove_dep -r :listenablefuture
b122f3
b122f3
annotations=$(
b122f3
    find -name '*.java' \
b122f3
    | xargs fgrep -h \
b122f3
        -e 'import com.google.j2objc.annotations' \
b122f3
        -e 'import com.google.errorprone.annotation' \
b122f3
        -e 'import com.google.errorprone.annotations' \
b122f3
        -e 'import com.google.common.annotations' \
b122f3
        -e 'import org.codehaus.mojo.animal_sniffer' \
b122f3
        -e 'import org.checkerframework' \
b122f3
    | sort -u \
b122f3
    | sed 's/.*\.\([^.]*\);/\1/' \
b122f3
    | paste -sd\|
b122f3
)
b122f3
b122f3
# guava started using quite a few annotation libraries for code quality, which
b122f3
# we don't have. This ugly regex is supposed to remove their usage from the code
b122f3
find -name '*.java' | xargs sed -ri \
b122f3
    "s/^import .*\.($annotations);//;s/@($annotations)"'\>\s*(\((("[^"]*")|([^)]*))\))?//g'
b122f3
b122f3
%patch1 -p1
b122f3
b122f3
%mvn_package "com.google.guava:failureaccess" guava
b122f3
b122f3
%mvn_package "com.google.guava:guava-bom" __noinstall
b122f3
b122f3
%build
b122f3
# Tests fail on Koji due to insufficient memory,
b122f3
# see https://bugzilla.redhat.com/show_bug.cgi?id=1332971
b122f3
%mvn_build -s -f
b122f3
b122f3
%install
b122f3
%mvn_install
b122f3
b122f3
%files -f .mfiles-guava
b122f3
%doc CONTRIBUTORS README*
b122f3
%license COPYING
b122f3
b122f3
%files testlib -f .mfiles-guava-testlib
b122f3
b122f3
%changelog
e054b1
* Mon Jan 30 2023 Mikolaj Izdebski <mizdebsk@redhat.com> - 30.1-6
e054b1
- Rebuild to regenerate auto-requires
e054b1
b122f3
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 30.1-5
b122f3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
b122f3
  Related: rhbz#1991688
b122f3
b122f3
* Wed Jun 09 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 30.1-4
b122f3
- Rebuild to workaround DistroBaker issue
b122f3
b122f3
* Tue Jun 08 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 30.1-3
b122f3
- Bootstrap Maven for CentOS Stream 9
b122f3
b122f3
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 30.1-2
b122f3
- Bootstrap build
b122f3
- Non-bootstrap build
b122f3
b122f3
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 25.0-10
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
b122f3
b122f3
* Tue Jan 26 2021 Marian Koncek <mkoncek@redhat.com> - 30.1-1
b122f3
- Update to upstream version 30.1
b122f3
b122f3
* Fri Sep 18 2020 Marian Koncek <mkoncek@redhat.com> - 29.0-1
b122f3
- Update to upstream version 29.0
b122f3
b122f3
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 25.0-9
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
b122f3
b122f3
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 25.0-8
b122f3
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
b122f3
b122f3
* Wed Feb 19 2020 Fabio Valentini <decathorpe@gmail.com> - 25.0-7
b122f3
- Drop unnecessary dependency on parent POM.
b122f3
b122f3
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 25.0-6
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
b122f3
b122f3
* Sat Jan 25 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 28.2-2
b122f3
- Build with OpenJDK 8
b122f3
b122f3
* Fri Jan 24 2020 Marian Koncek <mkoncek@redhat.com> - 28.2-1
b122f3
- Update to upstream version 28.2
b122f3
b122f3
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 28.1-2
b122f3
- Mass rebuild for javapackages-tools 201902
b122f3
b122f3
* Mon Sep 02 2019 Marian Koncek <mkoncek@redhat.com> - 28.1-1
b122f3
- Update to upstream version 28.1
b122f3
b122f3
* Thu Aug 01 2019 Marian Koncek <mkoncek@redhat.com> - 28.0-1
b122f3
- Update to upstream version 28.0
b122f3
b122f3
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25.0-5
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
b122f3
b122f3
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 25.0-4
b122f3
- Mass rebuild for javapackages-tools 201901
b122f3
b122f3
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25.0-4
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
b122f3
b122f3
* Fri Aug 03 2018 Michael Simacek <msimacek@redhat.com> - 25.0-3
b122f3
- Fix license tag to include CC0
b122f3
b122f3
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 25.0-2
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
b122f3
b122f3
* Wed May 02 2018 Michael Simacek <msimacek@redhat.com> - 25.0-1
b122f3
- Update to upstream version 25.0
b122f3
b122f3
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 24.0-2
b122f3
- Escape macros in %%changelog
b122f3
b122f3
* Mon Feb 05 2018 Michael Simacek <msimacek@redhat.com> - 24.0-1
b122f3
- Update to upstream version 24.0
b122f3
b122f3
* Mon Nov 06 2017 Michael Simacek <msimacek@redhat.com> - 20.0-1
b122f3
- Update to upstream version 20.0
b122f3
b122f3
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 18.0-11
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
b122f3
b122f3
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 18.0-10
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
b122f3
b122f3
* Mon Oct 10 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 18.0-9
b122f3
- Allow conditional builds without testlib
b122f3
b122f3
* Thu Jun 16 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 18.0-8
b122f3
- Cleanup package
b122f3
b122f3
* Tue May 10 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 18.0-7
b122f3
- Disable tests due to insufficient memory on Koji
b122f3
b122f3
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 18.0-6
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
b122f3
b122f3
* Wed Jun 22 2015 Noa Resare <noa@resare.com> - 18.0-5
b122f3
- enable module guava-testlib
b122f3
- enable tests in guava-testlib
b122f3
- backport fix to HashMap related test from 19.0-SNAPSHOT
b122f3
b122f3
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 18.0-4
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
b122f3
b122f3
* Thu May 14 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 18.0-3
b122f3
- Remove maven-javadoc-plugin execution
b122f3
b122f3
* Fri Feb  6 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 18.0-2
b122f3
- Update upstream website URL
b122f3
b122f3
* Wed Jan  7 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 18.0-1
b122f3
- Update to v. 18 (#1175401)
b122f3
- Use %%license
b122f3
b122f3
* Wed Oct  8 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 17.0-2
b122f3
- Add alias for com.google.guava:guava-jdk5
b122f3
b122f3
* Fri Jun 20 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 17.0-1
b122f3
- Add patch for Java 8
b122f3
b122f3
* Tue Jun 17 2014 Roland Grunberg <rgrunber@redhat.com> - 15.0-4
b122f3
- Do not generate uses directive for exports.
b122f3
b122f3
* Fri Jun 13 2014 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> 17.0-1
b122f3
- Update to latest upstream version (#1109442).
b122f3
b122f3
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 15.0-3
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
b122f3
b122f3
* Tue Mar 04 2014 Stanislav Ochotnicky <sochotnicky@redhat.com> - 15.0-2
b122f3
- Use Requires: java-headless rebuild (#1067528)
b122f3
b122f3
* Wed Jan  8 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 15.0-1
b122f3
- Update to upstream version 15.0
b122f3
b122f3
* Mon Aug 12 2013 gil cattaneo <puntogil@libero.it> 13.0-6
b122f3
- fix rhbz#992456
b122f3
- update to current packaging guidelines
b122f3
b122f3
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 13.0-5
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
b122f3
b122f3
* Fri Jun 28 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 13.0-4
b122f3
- Replace BR on ant-nodeps with ant
b122f3
b122f3
* Fri Jun 28 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 13.0-4
b122f3
- Rebuild to regenerate API documentation
b122f3
- Resolves: CVE-2013-1571
b122f3
b122f3
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 13.0-3
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
b122f3
b122f3
* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 13.0-2
b122f3
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
b122f3
- Replace maven BuildRequires with maven-local
b122f3
b122f3
* Tue Aug  7 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 13.0-1
b122f3
- Update to upstream version 13.0
b122f3
- Remove RPM bug workaround
b122f3
- Convert patches to pom macros
b122f3
b122f3
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 11.0.2-2
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
b122f3
b122f3
* Sat Apr 28 2012 gil cattaneo <puntogil@libero.it> 11.0.2-1
b122f3
- Update to 11.0.2
b122f3
b122f3
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 09-2
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
b122f3
b122f3
* Mon Sep 12 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 09-1
b122f3
- Update to 09
b122f3
- Packaging fixes
b122f3
- Build with maven
b122f3
b122f3
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 05-5
b122f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
b122f3
b122f3
* Wed Jul 14 2010 Hui wang <huwang@redhat.com> - 05-4
b122f3
- Patch pom
b122f3
b122f3
* Fri Jun 18 2010 Hui Wang <huwang@redhat.com> - 05-3
b122f3
- Fixed jar name in install section
b122f3
- Removed spaces in description
b122f3
b122f3
* Thu Jun 17 2010 Hui Wang <huwang@redhat.com> - 05-2
b122f3
- Fixed summary
b122f3
- Fixed description
b122f3
- Fixed creating symlink insturctions
b122f3
- add depmap
b122f3
b122f3
* Thu Jun 10 2010 Hui Wang <huwang@redhat.com> - 05-1
b122f3
- Initial version of the package