diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f21a349 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/v28.1.tar.gz diff --git a/.guava.metadata b/.guava.metadata new file mode 100644 index 0000000..86a9275 --- /dev/null +++ b/.guava.metadata @@ -0,0 +1 @@ +adc45c534dcb7ee494893b5b8e38c92dd31f6250 SOURCES/v28.1.tar.gz diff --git a/SPECS/guava.spec b/SPECS/guava.spec new file mode 100644 index 0000000..77828b3 --- /dev/null +++ b/SPECS/guava.spec @@ -0,0 +1,249 @@ +Name: guava +Version: 28.1 +Release: 3%{?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 +URL: https://github.com/google/guava +BuildArch: noarch + +Source0: https://github.com/google/guava/archive/v%{version}.tar.gz + +BuildRequires: maven-local-openjdk8 +BuildRequires: %{?module_prefix}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:) + +%description +Guava is a suite of core and expanded libraries that include +utility classes, Google’s collections, io classes, and much +much more. +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 testlib +Summary: The guava-testlib artifact + +%description testlib +guava-testlib provides additional functionality for conveninent unit testing + +%prep +%setup -q + +find . -name '*.jar' -delete + +%pom_disable_module guava-gwt +%pom_disable_module guava-tests + +%pom_remove_plugin -r :animal-sniffer-maven-plugin +# Downloads JDK source for doc generation +%pom_remove_plugin :maven-dependency-plugin guava + +%pom_remove_dep :caliper guava-tests + +%mvn_package :guava-parent guava + +# javadoc generation fails due to strict doclint in JDK 1.8.0_45 +%pom_remove_plugin -r :maven-javadoc-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 +%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' + +%mvn_package "com.google.guava:failureaccess" guava + +%pom_xpath_inject pom:modules \ +"futures/failureaccess" + +%mvn_package "com.google.guava:guava-bom" __noinstall + +%build +# Tests fail on Koji due to insufficient memory, +# see https://bugzilla.redhat.com/show_bug.cgi?id=1332971 +%mvn_build -s -f + +%install +%mvn_install + +%files -n %{?module_prefix}%{name} -f .mfiles-guava +%doc CONTRIBUTORS README* +%license COPYING + +%files testlib -f .mfiles-guava-testlib + +%changelog +* Sat Jan 25 2020 Mikolaj Izdebski - 28.1-3 +- Build with OpenJDK 8 + +* Tue Nov 05 2019 Mikolaj Izdebski - 28.1-2 +- Mass rebuild for javapackages-tools 201902 + +* Mon Sep 02 2019 Marian Koncek - 28.1-1 +- Update to upstream version 28.1 + +* Thu Aug 01 2019 Marian Koncek - 28.0-1 +- Update to upstream version 28.0 + +* Fri May 24 2019 Mikolaj Izdebski - 25.0-4 +- Mass rebuild for javapackages-tools 201901 + +* Fri Aug 03 2018 Michael Simacek - 25.0-3 +- Fix license tag to include CC0 + +* Fri Jul 13 2018 Fedora Release Engineering - 25.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed May 02 2018 Michael Simacek - 25.0-1 +- Update to upstream version 25.0 + +* Fri Feb 09 2018 Igor Gnatenko - 24.0-2 +- Escape macros in %%changelog + +* Mon Feb 05 2018 Michael Simacek - 24.0-1 +- Update to upstream version 24.0 + +* Mon Nov 06 2017 Michael Simacek - 20.0-1 +- Update to upstream version 20.0 + +* Wed Jul 26 2017 Fedora Release Engineering - 18.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 18.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Oct 10 2016 Mikolaj Izdebski - 18.0-9 +- Allow conditional builds without testlib + +* Thu Jun 16 2016 Mikolaj Izdebski - 18.0-8 +- Cleanup package + +* Tue May 10 2016 Mikolaj Izdebski - 18.0-7 +- Disable tests due to insufficient memory on Koji + +* Wed Feb 03 2016 Fedora Release Engineering - 18.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 22 2015 Noa Resare - 18.0-5 +- enable module guava-testlib +- enable tests in guava-testlib +- backport fix to HashMap related test from 19.0-SNAPSHOT + +* Wed Jun 17 2015 Fedora Release Engineering - 18.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu May 14 2015 Mikolaj Izdebski - 18.0-3 +- Remove maven-javadoc-plugin execution + +* Fri Feb 6 2015 Mikolaj Izdebski - 18.0-2 +- Update upstream website URL + +* Wed Jan 7 2015 Zbigniew Jędrzejewski-Szmek - 18.0-1 +- Update to v. 18 (#1175401) +- Use %%license + +* Wed Oct 8 2014 Mikolaj Izdebski - 17.0-2 +- Add alias for com.google.guava:guava-jdk5 + +* Fri Jun 20 2014 Mikolaj Izdebski - 17.0-1 +- Add patch for Java 8 + +* Tue Jun 17 2014 Roland Grunberg - 15.0-4 +- Do not generate uses directive for exports. + +* Fri Jun 13 2014 Zbigniew Jędrzejewski-Szmek 17.0-1 +- Update to latest upstream version (#1109442). + +* Sat Jun 07 2014 Fedora Release Engineering - 15.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Mar 04 2014 Stanislav Ochotnicky - 15.0-2 +- Use Requires: java-headless rebuild (#1067528) + +* Wed Jan 8 2014 Mikolaj Izdebski - 15.0-1 +- Update to upstream version 15.0 + +* Mon Aug 12 2013 gil cattaneo 13.0-6 +- fix rhbz#992456 +- update to current packaging guidelines + +* Sat Aug 03 2013 Fedora Release Engineering - 13.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jun 28 2013 Mikolaj Izdebski - 13.0-4 +- Replace BR on ant-nodeps with ant + +* 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 + +* Wed Feb 06 2013 Java SIG - 13.0-2 +- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild +- Replace maven BuildRequires with maven-local + +* Tue Aug 7 2012 Mikolaj Izdebski - 13.0-1 +- Update to upstream version 13.0 +- Remove RPM bug workaround +- Convert patches to pom macros + +* Thu Jul 19 2012 Fedora Release Engineering - 11.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Apr 28 2012 gil cattaneo 11.0.2-1 +- Update to 11.0.2 + +* Fri Jan 13 2012 Fedora Release Engineering - 09-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Sep 12 2011 Stanislav Ochotnicky - 09-1 +- Update to 09 +- Packaging fixes +- Build with maven + +* Wed Feb 09 2011 Fedora Release Engineering - 05-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jul 14 2010 Hui wang - 05-4 +- Patch pom + +* Fri Jun 18 2010 Hui Wang - 05-3 +- Fixed jar name in install section +- Removed spaces in description + +* Thu Jun 17 2010 Hui Wang - 05-2 +- Fixed summary +- Fixed description +- Fixed creating symlink insturctions +- add depmap + +* Thu Jun 10 2010 Hui Wang - 05-1 +- Initial version of the package