commit 085e34d6146db01c9be02d0862c9bb75bc7b61bcc498edb2bf5c66c1092fb0ed Author: Fridrich Strba Date: Fri Apr 5 05:17:27 2019 +0000 Accepting request 691638 from home:fstrba:maven OBS-URL: https://build.opensuse.org/request/show/691638 OBS-URL: https://build.opensuse.org/package/show/Java:packages/guava?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/guava.spec b/guava.spec new file mode 100644 index 0000000..8e90f3f --- /dev/null +++ b/guava.spec @@ -0,0 +1,116 @@ +# +# spec file for package guava +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: guava +Version: 25.0 +Release: 0 +Summary: Google Core Libraries for Java +# Most of the code is under ASL 2.0 +# Few classes are under CC0, grep for creativecommons +License: Apache-2.0 AND CC0 +Group: Development/Libraries/Java +URL: https://github.com/google/guava +Source0: https://github.com/google/guava/archive/v%{version}.tar.gz +BuildRequires: fdupes +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.sonatype.oss:oss-parent:pom:) +BuildArch: noarch + +%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. + +%package javadoc +Summary: Javadoc for %{name} +# FIXME: use correct group, see "https://en.opensuse.org/openSUSE:Package_group_guidelines" +Group: Documentation/HTML + +%description javadoc +API documentation for %{name}. + +%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 + +%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: + +annotations=$( + find -name '*.java' \ + | xargs grep -F -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' + +%build +# Tests fail on Koji due to insufficient memory, +# see https://bugzilla.redhat.com/show_bug.cgi?id=1332971 +%{mvn_build} -s -f -- -Dsource=1.8 + +%install +%mvn_install +%fdupes -s %{buildroot}%{_javadocdir} + +%files -f .mfiles-guava +%doc CONTRIBUTORS README* +%license COPYING + +%files javadoc -f .mfiles-javadoc +%license COPYING + +%files testlib -f .mfiles-guava-testlib + +%changelog diff --git a/v25.0.tar.gz b/v25.0.tar.gz new file mode 100644 index 0000000..440e7a0 --- /dev/null +++ b/v25.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5893c7596828eefafd285375a9a3a717139e0027c388417b25ef8c1eeb673bb6 +size 5262298