SHA256
1
0
forked from pool/guava

Compare commits

8 Commits

6 changed files with 132 additions and 17 deletions

BIN
guava-build.tar.xz (Stored with Git LFS)

Binary file not shown.

11
guava-modules-fix.patch Normal file
View File

@@ -0,0 +1,11 @@
--- guava-33.4.8/guava/src/module-info.java 2025-05-01 08:51:02.371894486 +0200
+++ guava-33.4.8/guava/src/module-info.java 2025-05-01 14:03:49.986207132 +0200
@@ -17,7 +17,7 @@
/** Google Guava */
module com.google.common {
requires java.logging;
- requires transitive com.google.common.util.concurrent.internal;
+ // requires transitive com.google.common.util.concurrent.internal;
requires static jdk.unsupported;
requires static com.google.errorprone.annotations;
requires static com.google.j2objc.annotations;

View File

@@ -1,3 +1,111 @@
-------------------------------------------------------------------
Mon May 26 07:45:08 UTC 2025 - Fridrich Strba <fstrba@suse.com>
- Upgrade to guava 33.4.8
* Changes of version 33.4.8
+ util.concurrent: Removed our VarHandle code from
guava-android. While the code was never used at runtime under
Android, it was causing problems under the Android Gradle
Plugin with a minSdkVersion below 26. To continue to avoid
sun.misc.Unsafe under the JVM, guava-android will now always
use AtomicReferenceFieldUpdater when run there.
* Changes of version 33.4.7
+ Modified the guava module's dependency on failureaccess to be
transitive. Also, modified the guava-testlib module to make
its dependency on guava transitive, to remove its dependency
on failureaccess, and to add a dependency (transitive) on
junit.
+ util.concurrent: Modified our fast paths to ensure that they
continue to work when run through optimizers, such as those
commonly used by Android apps. This fixes problems that some
users may have seen since Guava 33.4.5.
+ util.concurrent: Changed the guava-android copy of
AbstractFuture to try VarHandle before Unsafe, eliminating a
warning under newer JDKs.
* Changes of version 33.4.6
+ Removed the extra copy of each class from the Guava jar. The
extra copies were an accidental addition from the
modularization work in Guava 33.4.5.
+ Fixed annotation-related warnings when using Guava in modular
builds. The most common such warning is Cannot find annotation
method 'value()' in type 'DoNotMock': ....
* Changes of version 33.4.5
+ Changed the Guava jar (plus guava-testlib and failureaccess
jars) to be a modular jar.
+ Changed various classes to stop using sun.misc.Unsafe under
Java 9+.
° Note that, if you use guava-android on the JVM (instead of
using guava-jre), Guava will still try to use
sun.misc.Unsafe. We will do further work on this in the
future.
+ Belatedly updated the Public Suffix List data.
* Changes of version 33.4.4
+ Migrated from Checker Framework annotations to JSpecify
annotations.
+ Made our usages of nullness annotations available in our GWT
artifact. GWT users will need to upgrade to GWT 2.12.1, which
makes GWT as tolerant of Java 8 type-use annotations as it is
of other annotations.
* Changes of version 33.4.3
+ Migrated from @CheckForNull to the Checker Framework
@Nullable. Most tools recognize both annotations, so we expect
this to be a no-op in almost all cases. This release removes
our dependency on JSR-305.
* Changes of version 33.4.2
+ Changed @ParametricNullness into a no-op for Kotlin and
IntelliJ. Before now, it was forcing many usages of type
variables to have platform types, which meant that Kotlin
couldn't check those usages for nullness errors. With this
change, Kotlin can detect more errors.
* Changes of version 33.4.1
+ Replaced our custom @ElementTypesAreNonnullByDefault
annotations with the JSpecify @NullMarked annotation.
* Changes of version 33.4.0
+ Exposed additional Java 8 APIs to Android users.
+ base: Deprecated Charsets constants in favor of
StandardCharsets. We will not remove the constants, but we
recommend using StandardCharsets for consistency.
+ base: Added ToStringHelper.omitEmptyValues().
+ collect: Added an optimized copyOf method to TreeRangeMap.
+ collect.testing: Fixed @Require annotations so that features
implied by absent features are not also required to be absent.
+ io: Changed ByteSink and CharSink to no longer call flush() in
some cases before close(). This is a no-op for well-behaved
streams, which internally flush their data as part of closing.
However, we have discovered some stream implementations that
have overridden close() to do nothing, including not to flush
some buffered data. If this change causes problems, the
simplest fix is usually to change the close() override to at
least call flush().
+ net: Added HttpHeaders.ALT_SVC and MediaType.CBOR.
* Changes of version 33.3.1
+ Added j2objc-annotations to the Gradle runtime classpath to
stop producing an Android Gradle Plugin error.
* Changes of version 33.3.0
+ base: Removed @Beta from the Duration overload of
Suppliers.memoizeWithExpiration.
+ cache: Added CacheBuilder Duration overloads to guava-android.
+ collect: Removed @Beta from the guava-android Collector APIs.
+ collect: Added ImmutableMultimap.builderWithExpectedKeys and
ImmutableMultimap.Builder.expectedValuesPerKey.
+ graph: Improved Graphs.hasCycle to avoid causing
StackOverflowError for long paths.
+ net: Added text/markdown to MediaType.
+ net: Deprecated HttpHeaders constant for Sec-Ch-UA-Form-Factor
in favor of Sec-Ch-UA-Form-Factors to follow the latest spec.
+ testing: Changed some test libraries to throw AssertionError
(instead of the more specific AssertionFailedError) in some
cases.
- Added patch:
* guava-modules-fix.patch
+ we are folding the failureaccess into the main guava.jar, so
we don't have a special module for it.
-------------------------------------------------------------------
Wed Oct 30 08:49:24 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Add aliases for the failureaccess and listenablefuture
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jun 12 10:14:08 UTC 2024 - Fridrich Strba <fstrba@suse.com> Wed Jun 12 10:14:08 UTC 2024 - Fridrich Strba <fstrba@suse.com>

View File

@@ -1,7 +1,7 @@
# #
# spec file for package guava # spec file for package guava
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: guava Name: guava
Version: 33.2.1 Version: 33.4.8
Release: 0 Release: 0
Summary: Google Core Libraries for Java Summary: Google Core Libraries for Java
License: Apache-2.0 AND CC0-1.0 License: Apache-2.0 AND CC0-1.0
@@ -25,14 +25,16 @@ Group: Development/Libraries/Java
URL: https://github.com/google/guava URL: https://github.com/google/guava
Source0: https://github.com/google/guava/archive/v%{version}.tar.gz Source0: https://github.com/google/guava/archive/v%{version}.tar.gz
Source1: %{name}-build.tar.xz Source1: %{name}-build.tar.xz
Patch0: guava-modules-fix.patch
BuildRequires: ant BuildRequires: ant
BuildRequires: checker-qual
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: google-errorprone-annotations >= 2.21.0 BuildRequires: google-errorprone-annotations >= 2.21.0
BuildRequires: j2objc-annotations BuildRequires: j2objc-annotations
BuildRequires: javapackages-local >= 6 BuildRequires: javapackages-local >= 6
BuildRequires: jspecify
BuildRequires: jsr-305 BuildRequires: jsr-305
BuildRequires: junit BuildRequires: junit
BuildRequires: jurand
BuildArch: noarch BuildArch: noarch
%description %description
@@ -59,6 +61,7 @@ guava-testlib provides additional functionality for conveninent unit testing
%prep %prep
%setup -q -a1 %setup -q -a1
%patch -P 0 -p1
find . -name '*.jar' -delete find . -name '*.jar' -delete
@@ -72,13 +75,9 @@ find . -name '*.jar' -delete
%pom_remove_dep -r :listenablefuture %pom_remove_dep -r :listenablefuture
%pom_remove_dep -r :failureaccess %pom_remove_dep -r :failureaccess
%pom_change_dep -r :error_prone_annotations :::provided
%pom_change_dep -r :j2objc-annotations :::provided
%pom_change_dep -r org.checkerframework: :::provided
%build %build
mkdir -p lib mkdir -p lib
build-jar-repository -s lib junit jsr-305 google-errorprone/annotations checker-qual j2objc-annotations build-jar-repository -s lib junit jsr-305 google-errorprone/annotations j2objc-annotations jspecify
%{ant} -Dproject.version=%{version} -Dtest.skip=true package javadoc %{ant} -Dproject.version=%{version} -Dtest.skip=true package javadoc
%install %install
@@ -90,10 +89,7 @@ install -pm 0644 %{name}-testlib/target/%{name}-testlib-%{version}*.jar %{buildr
# poms # poms
install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name} install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name}
%{mvn_install_pom} %{name}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}.pom %{mvn_install_pom} %{name}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}.pom
%add_maven_depmap %{name}/%{name}.pom %{name}/%{name}.jar %add_maven_depmap %{name}/%{name}.pom %{name}/%{name}.jar -a "com.google.guava:failureaccess","com.google.guava:listenablefuture"
# We integrated this artifact in our main package
%{mvn_install_pom} futures/failureaccess/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/failureaccess.pom
%add_maven_depmap %{name}/failureaccess.pom %{name}/%{name}.jar
%{mvn_install_pom} %{name}-testlib/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-testlib.pom %{mvn_install_pom} %{name}-testlib/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-testlib.pom
%add_maven_depmap %{name}/%{name}-testlib.pom %{name}/%{name}-testlib.jar -f %{name}-testlib %add_maven_depmap %{name}/%{name}-testlib.pom %{name}/%{name}-testlib.jar -f %{name}-testlib

BIN
v33.2.1.tar.gz (Stored with Git LFS)

Binary file not shown.

3
v33.4.8.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f0e1452af74b3d48c9b08b1ad963e7340dc40c12de6655ead17c031719329c7
size 5876137