From fba1371a48a588569754e0a36dde667f8690e806 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 27 Sep 2022 05:02:29 -0400 Subject: [PATCH] import guava-31.0.1-4.module+el8.7.0+16193+60f58bcf --- .gitignore | 1 + .guava.metadata | 1 + .../0001-Remove-multi-line-annotations.patch | 379 ++++++++++++++++++ SPECS/guava.spec | 312 ++++++++++++++ 4 files changed, 693 insertions(+) create mode 100644 .gitignore create mode 100644 .guava.metadata create mode 100644 SOURCES/0001-Remove-multi-line-annotations.patch create mode 100644 SPECS/guava.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6c6fa63 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/guava-31.0.1.tar.gz diff --git a/.guava.metadata b/.guava.metadata new file mode 100644 index 0000000..5afd3ae --- /dev/null +++ b/.guava.metadata @@ -0,0 +1 @@ +4fcabd63616e0d2b949b2d90732928dfbe838bd2 SOURCES/guava-31.0.1.tar.gz diff --git a/SOURCES/0001-Remove-multi-line-annotations.patch b/SOURCES/0001-Remove-multi-line-annotations.patch new file mode 100644 index 0000000..b106b8b --- /dev/null +++ b/SOURCES/0001-Remove-multi-line-annotations.patch @@ -0,0 +1,379 @@ +diff -up guava-31.0.1/android/guava/src/com/google/common/collect/CompactHashMap.java.multiline guava-31.0.1/android/guava/src/com/google/common/collect/CompactHashMap.java +--- guava-31.0.1/android/guava/src/com/google/common/collect/CompactHashMap.java.multiline 2021-10-13 20:45:58.443768858 -0600 ++++ guava-31.0.1/android/guava/src/com/google/common/collect/CompactHashMap.java 2021-10-13 20:45:58.827772298 -0600 +@@ -113,8 +113,6 @@ class CompactHashMap e + * Maximum allowed false positive probability of detecting a hash flooding attack given random + * input. + */ +- ( +- ) + static final double HASH_FLOODING_FPP = 0.001; + + /** +diff -up guava-31.0.1/android/guava/src/com/google/common/graph/Traverser.java.multiline guava-31.0.1/android/guava/src/com/google/common/graph/Traverser.java +--- guava-31.0.1/android/guava/src/com/google/common/graph/Traverser.java.multiline 2021-10-13 20:45:58.364768150 -0600 ++++ guava-31.0.1/android/guava/src/com/google/common/graph/Traverser.java 2021-10-13 20:45:58.827772298 -0600 +@@ -61,9 +61,6 @@ import javax.annotation.CheckForNull; + * @since 23.1 + */ + +-( +- "Call forGraph or forTree, passing a lambda or a Graph with the desired edges (built with" +- + " GraphBuilder)") + @ElementTypesAreNonnullByDefault + public abstract class Traverser { + private final SuccessorsFunction successorFunction; +diff -up guava-31.0.1/android/guava/src/com/google/common/primitives/Doubles.java.multiline guava-31.0.1/android/guava/src/com/google/common/primitives/Doubles.java +--- guava-31.0.1/android/guava/src/com/google/common/primitives/Doubles.java.multiline 2021-10-13 20:45:58.372768222 -0600 ++++ guava-31.0.1/android/guava/src/com/google/common/primitives/Doubles.java 2021-10-13 20:45:58.827772298 -0600 +@@ -209,8 +209,6 @@ public final class Doubles extends Doubl + * the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static double min(double... array) { + checkArgument(array.length > 0); + double min = array[0]; +@@ -229,8 +227,6 @@ public final class Doubles extends Doubl + * in the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static double max(double... array) { + checkArgument(array.length > 0); + double max = array[0]; +diff -up guava-31.0.1/android/guava/src/com/google/common/primitives/Floats.java.multiline guava-31.0.1/android/guava/src/com/google/common/primitives/Floats.java +--- guava-31.0.1/android/guava/src/com/google/common/primitives/Floats.java.multiline 2021-10-13 20:45:58.370768204 -0600 ++++ guava-31.0.1/android/guava/src/com/google/common/primitives/Floats.java 2021-10-13 20:45:58.828772307 -0600 +@@ -206,8 +206,6 @@ public final class Floats extends Floats + * the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static float min(float... array) { + checkArgument(array.length > 0); + float min = array[0]; +@@ -226,8 +224,6 @@ public final class Floats extends Floats + * in the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static float max(float... array) { + checkArgument(array.length > 0); + float max = array[0]; +diff -up guava-31.0.1/android/guava/src/com/google/common/primitives/Ints.java.multiline guava-31.0.1/android/guava/src/com/google/common/primitives/Ints.java +--- guava-31.0.1/android/guava/src/com/google/common/primitives/Ints.java.multiline 2021-10-13 20:45:58.369768195 -0600 ++++ guava-31.0.1/android/guava/src/com/google/common/primitives/Ints.java 2021-10-13 20:45:58.828772307 -0600 +@@ -220,8 +220,6 @@ public final class Ints extends IntsMeth + * the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static int min(int... array) { + checkArgument(array.length > 0); + int min = array[0]; +@@ -241,8 +239,6 @@ public final class Ints extends IntsMeth + * in the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static int max(int... array) { + checkArgument(array.length > 0); + int max = array[0]; +diff -up guava-31.0.1/android/guava/src/com/google/common/primitives/Shorts.java.multiline guava-31.0.1/android/guava/src/com/google/common/primitives/Shorts.java +--- guava-31.0.1/android/guava/src/com/google/common/primitives/Shorts.java.multiline 2021-10-13 20:45:58.367768177 -0600 ++++ guava-31.0.1/android/guava/src/com/google/common/primitives/Shorts.java 2021-10-13 20:45:58.828772307 -0600 +@@ -219,8 +219,6 @@ public final class Shorts extends Shorts + * the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static short min(short... array) { + checkArgument(array.length > 0); + short min = array[0]; +@@ -240,8 +238,6 @@ public final class Shorts extends Shorts + * in the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static short max(short... array) { + checkArgument(array.length > 0); + short max = array[0]; +diff -up guava-31.0.1/android/guava/src/com/google/common/util/concurrent/ClosingFuture.java.multiline guava-31.0.1/android/guava/src/com/google/common/util/concurrent/ClosingFuture.java +--- guava-31.0.1/android/guava/src/com/google/common/util/concurrent/ClosingFuture.java.multiline 2021-10-13 20:45:58.353768052 -0600 ++++ guava-31.0.1/android/guava/src/com/google/common/util/concurrent/ClosingFuture.java 2021-10-13 20:45:58.828772307 -0600 +@@ -1227,9 +1227,6 @@ public final class ClosingFuture + */ +- // TODO(cpovirk): Use simple name instead of fully qualified after we stop building with JDK 8. +- @com.google.errorprone.annotations.DoNotMock( +- "Use ClosingFuture.whenAllSucceed() or .whenAllComplete() instead.") + public static class Combiner { + + private final CloseableList closeables = new CloseableList(); +diff -up guava-31.0.1/android/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java.multiline guava-31.0.1/android/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java +--- guava-31.0.1/android/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java.multiline 2021-10-13 20:45:58.340767936 -0600 ++++ guava-31.0.1/android/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java 2021-10-13 20:45:58.829772316 -0600 +@@ -33,10 +33,6 @@ import java.util.concurrent.TimeUnit; + * @author Chris Povirk + * @since 10.0 + */ +-( +- "Use TestingExecutors.sameThreadScheduledExecutor, or wrap a real Executor from " +- + "java.util.concurrent.Executors with MoreExecutors.listeningDecorator") +- + @ElementTypesAreNonnullByDefault + public interface ListeningExecutorService extends ExecutorService { + /** +diff -up guava-31.0.1/guava/src/com/google/common/base/Strings.java.multiline guava-31.0.1/guava/src/com/google/common/base/Strings.java +--- guava-31.0.1/guava/src/com/google/common/base/Strings.java.multiline 2021-10-13 20:45:58.793771994 -0600 ++++ guava-31.0.1/guava/src/com/google/common/base/Strings.java 2021-10-13 20:45:58.829772316 -0600 +@@ -147,8 +147,6 @@ public final class Strings { + * {@code count} is zero) + * @throws IllegalArgumentException if {@code count} is negative + */ +- ") +- + public static String repeat(String string, int count) { + checkNotNull(string); // eager for GWT. + +diff -up guava-31.0.1/guava/src/com/google/common/collect/CompactHashMap.java.multiline guava-31.0.1/guava/src/com/google/common/collect/CompactHashMap.java +--- guava-31.0.1/guava/src/com/google/common/collect/CompactHashMap.java.multiline 2021-10-13 20:45:58.776771841 -0600 ++++ guava-31.0.1/guava/src/com/google/common/collect/CompactHashMap.java 2021-10-13 20:45:58.829772316 -0600 +@@ -117,8 +117,6 @@ class CompactHashMap e + * Maximum allowed false positive probability of detecting a hash flooding attack given random + * input. + */ +- ( +- ) + static final double HASH_FLOODING_FPP = 0.001; + + /** +diff -up guava-31.0.1/guava/src/com/google/common/collect/FluentIterable.java.multiline guava-31.0.1/guava/src/com/google/common/collect/FluentIterable.java +--- guava-31.0.1/guava/src/com/google/common/collect/FluentIterable.java.multiline 2021-10-13 20:45:58.750771608 -0600 ++++ guava-31.0.1/guava/src/com/google/common/collect/FluentIterable.java 2021-10-13 20:47:09.340403972 -0600 +@@ -173,9 +173,6 @@ public abstract class FluentIterable FluentIterable from(FluentIterable iterable) { + return checkNotNull(iterable); + } +diff -up guava-31.0.1/guava/src/com/google/common/collect/Streams.java.multiline guava-31.0.1/guava/src/com/google/common/collect/Streams.java +--- guava-31.0.1/guava/src/com/google/common/collect/Streams.java.multiline 2021-10-13 20:45:58.779771868 -0600 ++++ guava-31.0.1/guava/src/com/google/common/collect/Streams.java 2021-10-13 20:45:58.829772316 -0600 +@@ -76,7 +76,6 @@ public final class Streams { + */ + + @Deprecated +- ") + public static Stream stream(Collection collection) { + return collection.stream(); + } +@@ -106,8 +105,6 @@ public final class Streams { + *

Java 9 users: use {@code optional.stream()} instead. + */ + +- ") +- + public static Stream stream(java.util.Optional optional) { + return optional.isPresent() ? Stream.of(optional.get()) : Stream.empty(); + } +@@ -119,8 +116,6 @@ public final class Streams { + *

Java 9 users: use {@code optional.stream()} instead. + */ + +- ") +- + public static IntStream stream(OptionalInt optional) { + return optional.isPresent() ? IntStream.of(optional.getAsInt()) : IntStream.empty(); + } +@@ -132,8 +127,6 @@ public final class Streams { + *

Java 9 users: use {@code optional.stream()} instead. + */ + +- ") +- + public static LongStream stream(OptionalLong optional) { + return optional.isPresent() ? LongStream.of(optional.getAsLong()) : LongStream.empty(); + } +@@ -145,8 +138,6 @@ public final class Streams { + *

Java 9 users: use {@code optional.stream()} instead. + */ + +- ") +- + public static DoubleStream stream(OptionalDouble optional) { + return optional.isPresent() ? DoubleStream.of(optional.getAsDouble()) : DoubleStream.empty(); + } +diff -up guava-31.0.1/guava/src/com/google/common/graph/Traverser.java.multiline guava-31.0.1/guava/src/com/google/common/graph/Traverser.java +--- guava-31.0.1/guava/src/com/google/common/graph/Traverser.java.multiline 2021-10-13 20:45:58.697771134 -0600 ++++ guava-31.0.1/guava/src/com/google/common/graph/Traverser.java 2021-10-13 20:45:58.830772325 -0600 +@@ -61,9 +61,6 @@ import javax.annotation.CheckForNull; + * @since 23.1 + */ + +-( +- "Call forGraph or forTree, passing a lambda or a Graph with the desired edges (built with" +- + " GraphBuilder)") + @ElementTypesAreNonnullByDefault + public abstract class Traverser { + private final SuccessorsFunction successorFunction; +diff -up guava-31.0.1/guava/src/com/google/common/primitives/Doubles.java.multiline guava-31.0.1/guava/src/com/google/common/primitives/Doubles.java +--- guava-31.0.1/guava/src/com/google/common/primitives/Doubles.java.multiline 2021-10-13 20:45:58.704771196 -0600 ++++ guava-31.0.1/guava/src/com/google/common/primitives/Doubles.java 2021-10-13 20:45:58.830772325 -0600 +@@ -211,8 +211,6 @@ public final class Doubles extends Doubl + * the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static double min(double... array) { + checkArgument(array.length > 0); + double min = array[0]; +@@ -231,8 +229,6 @@ public final class Doubles extends Doubl + * in the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static double max(double... array) { + checkArgument(array.length > 0); + double max = array[0]; +diff -up guava-31.0.1/guava/src/com/google/common/primitives/Floats.java.multiline guava-31.0.1/guava/src/com/google/common/primitives/Floats.java +--- guava-31.0.1/guava/src/com/google/common/primitives/Floats.java.multiline 2021-10-13 20:45:58.703771187 -0600 ++++ guava-31.0.1/guava/src/com/google/common/primitives/Floats.java 2021-10-13 20:45:58.830772325 -0600 +@@ -206,8 +206,6 @@ public final class Floats extends Floats + * the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static float min(float... array) { + checkArgument(array.length > 0); + float min = array[0]; +@@ -226,8 +224,6 @@ public final class Floats extends Floats + * in the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static float max(float... array) { + checkArgument(array.length > 0); + float max = array[0]; +diff -up guava-31.0.1/guava/src/com/google/common/primitives/Ints.java.multiline guava-31.0.1/guava/src/com/google/common/primitives/Ints.java +--- guava-31.0.1/guava/src/com/google/common/primitives/Ints.java.multiline 2021-10-13 20:45:58.702771178 -0600 ++++ guava-31.0.1/guava/src/com/google/common/primitives/Ints.java 2021-10-13 20:45:58.830772325 -0600 +@@ -222,8 +222,6 @@ public final class Ints extends IntsMeth + * the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static int min(int... array) { + checkArgument(array.length > 0); + int min = array[0]; +@@ -243,8 +241,6 @@ public final class Ints extends IntsMeth + * in the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static int max(int... array) { + checkArgument(array.length > 0); + int max = array[0]; +diff -up guava-31.0.1/guava/src/com/google/common/primitives/Shorts.java.multiline guava-31.0.1/guava/src/com/google/common/primitives/Shorts.java +--- guava-31.0.1/guava/src/com/google/common/primitives/Shorts.java.multiline 2021-10-13 20:45:58.700771161 -0600 ++++ guava-31.0.1/guava/src/com/google/common/primitives/Shorts.java 2021-10-13 20:45:58.830772325 -0600 +@@ -219,8 +219,6 @@ public final class Shorts extends Shorts + * the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static short min(short... array) { + checkArgument(array.length > 0); + short min = array[0]; +@@ -240,8 +238,6 @@ public final class Shorts extends Shorts + * in the array + * @throws IllegalArgumentException if {@code array} is empty + */ +- ( +- "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class.") + public static short max(short... array) { + checkArgument(array.length > 0); + short max = array[0]; +diff -up guava-31.0.1/guava/src/com/google/common/util/concurrent/ClosingFuture.java.multiline guava-31.0.1/guava/src/com/google/common/util/concurrent/ClosingFuture.java +--- guava-31.0.1/guava/src/com/google/common/util/concurrent/ClosingFuture.java.multiline 2021-10-13 20:45:58.686771035 -0600 ++++ guava-31.0.1/guava/src/com/google/common/util/concurrent/ClosingFuture.java 2021-10-13 20:45:58.831772334 -0600 +@@ -1229,9 +1229,6 @@ public final class ClosingFuture + */ +- // TODO(cpovirk): Use simple name instead of fully qualified after we stop building with JDK 8. +- @com.google.errorprone.annotations.DoNotMock( +- "Use ClosingFuture.whenAllSucceed() or .whenAllComplete() instead.") + public static class Combiner { + + private final CloseableList closeables = new CloseableList(); +diff -up guava-31.0.1/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java.multiline guava-31.0.1/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java +--- guava-31.0.1/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java.multiline 2021-10-13 20:45:58.673770919 -0600 ++++ guava-31.0.1/guava/src/com/google/common/util/concurrent/ListeningExecutorService.java 2021-10-13 20:45:58.831772334 -0600 +@@ -33,10 +33,6 @@ import java.util.concurrent.TimeUnit; + * @author Chris Povirk + * @since 10.0 + */ +-( +- "Use TestingExecutors.sameThreadScheduledExecutor, or wrap a real Executor from " +- + "java.util.concurrent.Executors with MoreExecutors.listeningDecorator") +- + @ElementTypesAreNonnullByDefault + public interface ListeningExecutorService extends ExecutorService { + /** +diff -up guava-31.0.1/guava/target/classes/com/google/common/base/Strings.java.multiline guava-31.0.1/guava/target/classes/com/google/common/base/Strings.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/collect/CompactHashMap.java.multiline guava-31.0.1/guava/target/classes/com/google/common/collect/CompactHashMap.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/collect/CompactHashSet.java.multiline guava-31.0.1/guava/target/classes/com/google/common/collect/CompactHashSet.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/collect/Streams.java.multiline guava-31.0.1/guava/target/classes/com/google/common/collect/Streams.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/graph/Traverser.java.multiline guava-31.0.1/guava/target/classes/com/google/common/graph/Traverser.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/primitives/Doubles.java.multiline guava-31.0.1/guava/target/classes/com/google/common/primitives/Doubles.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/primitives/Floats.java.multiline guava-31.0.1/guava/target/classes/com/google/common/primitives/Floats.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/primitives/Ints.java.multiline guava-31.0.1/guava/target/classes/com/google/common/primitives/Ints.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/primitives/Shorts.java.multiline guava-31.0.1/guava/target/classes/com/google/common/primitives/Shorts.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/util/concurrent/ClosingFuture.java.multiline guava-31.0.1/guava/target/classes/com/google/common/util/concurrent/ClosingFuture.java +diff -up guava-31.0.1/guava/target/classes/com/google/common/util/concurrent/ListeningExecutorService.java.multiline guava-31.0.1/guava/target/classes/com/google/common/util/concurrent/ListeningExecutorService.java diff --git a/SPECS/guava.spec b/SPECS/guava.spec new file mode 100644 index 0000000..51694d3 --- /dev/null +++ b/SPECS/guava.spec @@ -0,0 +1,312 @@ +%bcond_with bootstrap + +Name: guava +Version: 31.0.1 +Release: 4%{?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 +ExclusiveArch: %{java_arches} noarch + +Source0: https://github.com/google/guava/archive/v%{version}/guava-%{version}.tar.gz + +Patch1: 0001-Remove-multi-line-annotations.patch + +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap-openjdk8 +%else +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) +%endif + +%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. + +%{?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_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_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 :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 com.google.errorprone.annotations' \ + -e 'import com.google.common.annotations' \ + -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' + +%patch1 -p1 -b .multiline + +%mvn_package "com.google.guava:failureaccess" guava + +%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 -f .mfiles-guava +%doc CONTRIBUTORS README* +%license COPYING + +%files testlib -f .mfiles-guava-testlib + +%changelog +* 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 + +* 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 + +* 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 + +* 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