Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@ jobs:
# When we specify multiple JDKs, the final one becomes the default, which is used to execute Maven itself.
# Our Maven configuration then specifies different JDKs to use for some of the steps:
# - 11 (sometimes) to *download* to support anyone who runs JDiff or our Gradle integration tests (including our doc snapshots and our Java 11 CI test run) but not to use directly
# - 25 for running Javadoc and javac (to help people who build Guava locally and might not use a recent JDK to run Maven)
# - 26 for running Javadoc and javac (to help people who build Guava locally and might not use a recent JDK to run Maven)
- name: 'Set up JDKs'
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
java-version: |
${{ matrix.java }}
25
26
distribution: 'temurin'
cache: 'maven'
- name: 'Install'
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
with:
# For discussion, see the first setup-java block.
# The publish-snapshot workflow doesn't run tests, so we don't have to care which version Maven would select for that step.
java-version: 25
java-version: 26
distribution: 'temurin'
cache: 'maven'
server-id: central
Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:
# But we need Java 11 for JDiff.
java-version: |
11
25
26
distribution: 'temurin'
cache: 'maven'
- name: 'Generate latest docs'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ private static ImmutableList<ImmutableList<Class<?>>> allSignatures(Class<?> pre
// 'test' to demonstrate some potentially ambiguous overloads. This 'test' is kind of strange,
// but essentially each line will be a call to a Preconditions method that, but for a documented
// change would be a compiler error.
// See https://docs.oracle.com/javase/specs/jls/se25/html/jls-15.html#jls-15.12.2 for the spec on
// See https://docs.oracle.com/javase/specs/jls/se26/html/jls-15.html#jls-15.12.2 for the spec on
// how javac selects overloads
@SuppressWarnings("null")
public void overloadSelection() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ static class B implements X, Y {}
* This test passes if the {@code concat(…).filter(…).filter(…)} statement at the end compiles.
* That statement compiles only if {@link FluentIterable#concat concat(aIterable, bIterable)}
* returns a {@link FluentIterable} of elements of an anonymous type whose supertypes are the <a
* href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-4.html#jls-4.9">intersection</a>
* href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-4.html#jls-4.9">intersection</a>
* of the supertypes of {@code A} and the supertypes of {@code B}.
*/
public void testConcatIntersectionType() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public class MacHashFunctionTest extends TestCase {

// From https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#Mac
// TODO(cpovirk): Evaluate newer list:
// https://docs.oracle.com/en/java/javase/25/docs/specs/security/standard-names.html#mac-algorithms
// https://docs.oracle.com/en/java/javase/26/docs/specs/security/standard-names.html#mac-algorithms
private static final ImmutableTable<String, SecretKey, HashFunction> ALGORITHMS =
new ImmutableTable.Builder<String, SecretKey, HashFunction>()
.put("HmacMD5", MD5_KEY, hmacMd5(MD5_KEY))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public class MessageDigestHashFunctionTest extends TestCase {
private static final ImmutableSet<String> INPUTS = ImmutableSet.of("", "Z", "foobar");

// From "How Provider Implementations Are Requested and Supplied" from
// https://docs.oracle.com/en/java/javase/25/security/java-cryptography-architecture-jca-reference-guide.html#:~:text=How%20Provider%20Implementations%20Are%20Requested%20and%20Supplied
// https://docs.oracle.com/en/java/javase/26/security/java-cryptography-architecture-jca-reference-guide.html#:~:text=How%20Provider%20Implementations%20Are%20Requested%20and%20Supplied
// - Some providers may choose to also include alias names.
// - For example, the "SHA-1" algorithm might be referred to as "SHA1".
// - The algorithm name is not case-sensitive.
Expand Down
4 changes: 2 additions & 2 deletions android/guava/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@
</tags>

<!-- TODO(cpovirk): Move this to the parent after making the package-list files available there. -->
<!-- We add the link ourselves so that we can choose Java 25 over the version that -source suggests. -->
<!-- We add the link ourselves so that we can choose Java 26 over the version that -source suggests. -->
<detectJavaApiLink>false</detectJavaApiLink>
<offlineLinks>
<!-- We need local copies of some of these for 2 reasons: a User-Agent problem (https://stackoverflow.com/a/47891403/28465) and an SSL problem (https://issues.apache.org/jira/browse/MJAVADOC-507). If we choose to work around the User-Agent problem, we can go back to <links>, sidestepping the SSL problem. -->
Expand All @@ -205,7 +205,7 @@
</offlineLink>
</offlineLinks>
<links>
<link>https://docs.oracle.com/en/java/javase/25/docs/api/</link>
<link>https://docs.oracle.com/en/java/javase/26/docs/api/</link>
<link>https://jspecify.dev/docs/api/</link>
</links>
<overview>../../overview.html</overview>
Expand Down
2 changes: 1 addition & 1 deletion android/guava/src/com/google/common/base/CharMatcher.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
* assigned characters, including important CJK characters and emoji.
*
* <p>Supplementary characters are <a
* href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Character.html#supplementary">encoded
* href="https://docs.oracle.com/en/java/javase/26/docs/api/java.base/java/lang/Character.html#supplementary">encoded
* into a {@code String} using surrogate pairs</a>, and a {@code CharMatcher} treats these just as
* two separate characters. {@link #countIn} counts each supplementary character as 2 {@code char}s.
*
Expand Down
2 changes: 1 addition & 1 deletion android/guava/src/com/google/common/base/Strings.java
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ static boolean validSurrogatePairAt(CharSequence string, int index) {
* <p><b>Note:</b> For most string-formatting needs, use {@link String#format String.format},
* {@link java.io.PrintWriter#format PrintWriter.format}, and related methods. These support the
* full range of <a
* href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Formatter.html#syntax">format
* href="https://docs.oracle.com/en/java/javase/26/docs/api/java.base/java/util/Formatter.html#syntax">format
* specifiers</a>, and alert you to usage errors by throwing {@link
* java.util.IllegalFormatException}.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
* <p>Expressing the immutability guarantee directly in the type that user code references is a
* powerful advantage. Although Java offers certain immutable collection factory methods, such as
* {@link Collections#singleton(Object)} and <a
* href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Set.html#unmodifiable">{@code
* href="https://docs.oracle.com/en/java/javase/26/docs/api/java.base/java/util/Set.html#unmodifiable">{@code
* Set.of}</a>, we recommend using <i>these</i> classes instead for this reason (as well as for
* consistency).
*
Expand Down
2 changes: 1 addition & 1 deletion android/guava/src/com/google/common/math/IntMath.java
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ public static int divide(int p, int q, RoundingMode mode) {
* }
*
* @throws ArithmeticException if {@code m <= 0}
* @see <a href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-15.html#jls-15.17.3">
* @see <a href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-15.html#jls-15.17.3">
* Remainder Operator</a>
*/
public static int mod(int x, int m) {
Expand Down
4 changes: 2 additions & 2 deletions android/guava/src/com/google/common/math/LongMath.java
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,7 @@ public static long divide(long p, long q, RoundingMode mode) {
* }
*
* @throws ArithmeticException if {@code m <= 0}
* @see <a href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-15.html#jls-15.17.3">
* @see <a href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-15.html#jls-15.17.3">
* Remainder Operator</a>
*/
@GwtIncompatible // TODO
Expand All @@ -471,7 +471,7 @@ public static int mod(long x, int m) {
* }
*
* @throws ArithmeticException if {@code m <= 0}
* @see <a href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-15.html#jls-15.17.3">
* @see <a href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-15.html#jls-15.17.3">
* Remainder Operator</a>
*/
@GwtIncompatible // TODO
Expand Down
4 changes: 2 additions & 2 deletions android/guava/src/com/google/common/reflect/ClassPath.java
Original file line number Diff line number Diff line change
Expand Up @@ -570,7 +570,7 @@ public String toString() {
/**
* Returns the class path URIs specified by the {@code Class-Path} manifest attribute, according
* to <a
* href="https://docs.oracle.com/en/java/javase/25/docs/specs/jar/jar.html#main-attributes">JAR
* href="https://docs.oracle.com/en/java/javase/26/docs/specs/jar/jar.html#main-attributes">JAR
* File Specification</a>. If {@code manifest} is null, it means the jar file has no manifest, and
* an empty set will be returned.
*/
Expand Down Expand Up @@ -652,7 +652,7 @@ static ImmutableList<URL> parseJavaClassPath() {

/**
* Returns the absolute uri of the Class-Path entry value as specified in <a
* href="https://docs.oracle.com/en/java/javase/25/docs/specs/jar/jar.html#main-attributes">JAR
* href="https://docs.oracle.com/en/java/javase/26/docs/specs/jar/jar.html#main-attributes">JAR
* File Specification</a>. Even though the specification only talks about relative urls, absolute
* urls are actually supported too (for example, in Maven surefire plugin).
*/
Expand Down
8 changes: 4 additions & 4 deletions android/guava/src/com/google/common/reflect/TypeToken.java
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@ public final TypeToken<? extends T> getSubtype(Class<?> subclass) {
/**
* Returns true if this type is a supertype of the given {@code type}. "Supertype" is defined
* according to <a
* href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-4.html#jls-4.5.1">the rules for
* href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-4.html#jls-4.5.1">the rules for
* type arguments</a> introduced with Java generics.
*
* @since 19.0
Expand All @@ -463,7 +463,7 @@ public final boolean isSupertypeOf(TypeToken<?> type) {
/**
* Returns true if this type is a supertype of the given {@code type}. "Supertype" is defined
* according to <a
* href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-4.html#jls-4.5.1">the rules for
* href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-4.html#jls-4.5.1">the rules for
* type arguments</a> introduced with Java generics.
*
* @since 19.0
Expand All @@ -475,7 +475,7 @@ public final boolean isSupertypeOf(Type type) {
/**
* Returns true if this type is a subtype of the given {@code type}. "Subtype" is defined
* according to <a
* href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-4.html#jls-4.5.1">the rules for
* href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-4.html#jls-4.5.1">the rules for
* type arguments</a> introduced with Java generics.
*
* @since 19.0
Expand All @@ -487,7 +487,7 @@ public final boolean isSubtypeOf(TypeToken<?> type) {
/**
* Returns true if this type is a subtype of the given {@code type}. "Subtype" is defined
* according to <a
* href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-4.html#jls-4.5.1">the rules for
* href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-4.html#jls-4.5.1">the rules for
* type arguments</a> introduced with Java generics.
*
* @since 19.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ public interface ListenableFuture<V extends @Nullable Object> extends Future<V>
* Futures#addCallback addCallback()}.
*
* <p>Memory consistency effects: Actions in a thread prior to adding a listener <a
* href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-17.html#jls-17.4.5">
* href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-17.html#jls-17.4.5">
* <i>happen-before</i></a> its execution begins, perhaps in another thread.
*
* <p>Guava implementations of {@code ListenableFuture} promptly release references to listeners
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ public static boolean awaitUninterruptibly(CountDownLatch latch, long timeout, T
*
* <p>If the underlying {@code await} call is interrupted, then {@code awaitUninterruptibly}
* converts that into a <a
* href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/locks/Condition.html#implementation-considerations-heading">spurious
* href="https://docs.oracle.com/en/java/javase/26/docs/api/java.base/java/util/concurrent/locks/Condition.html#implementation-considerations-heading">spurious
* wakeup</a>. This means that resulting wait is not "uninterruptible" in the normal sense of
* {@link Uninterruptibles}. Still, this method allows callers to write <a
* href="https://errorprone.info/bugpattern/WaitNotInLoop">the standard, required loop for waiting on a {@code
Expand All @@ -138,7 +138,7 @@ public static boolean awaitUninterruptibly(Condition condition, Duration timeout
*
* <p>If the underlying {@code await} call is interrupted, then {@code awaitUninterruptibly}
* converts that into a <a
* href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/locks/Condition.html#implementation-considerations-heading">spurious
* href="https://docs.oracle.com/en/java/javase/26/docs/api/java.base/java/util/concurrent/locks/Condition.html#implementation-considerations-heading">spurious
* wakeup</a>. This means that resulting wait is not "uninterruptible" in the normal sense of
* {@link Uninterruptibles}. Still, this method allows callers to write <a
* href="https://errorprone.info/bugpattern/WaitNotInLoop">the standard, required loop for waiting on a {@code
Expand Down
6 changes: 3 additions & 3 deletions android/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@
<configuration>
<toolchains>
<jdk>
<version>25</version>
<version>26</version>
</jdk>
</toolchains>
</configuration>
Expand Down Expand Up @@ -469,14 +469,14 @@
(But don't run that if you have put something into ~/.m2/toolchains.xml yourself.)
-->
<execution>
<id>download-25-and-surefire-version</id>
<id>download-26-and-surefire-version</id>
<goals>
<goal>toolchain</goal>
</goals>
<configuration>
<toolchains>
<jdk>
<version>25</version>
<version>26</version>
<vendor>temurin</vendor>
</jdk>
<testJdk>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ public interface ListenableFuture<V extends @Nullable Object> extends Future<V>
* Futures#addCallback addCallback()}.
*
* <p>Memory consistency effects: Actions in a thread prior to adding a listener <a
* href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-17.html#jls-17.4.5">
* href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-17.html#jls-17.4.5">
* <i>happen-before</i></a> its execution begins, perhaps in another thread.
*
* <p>Guava implementations of {@code ListenableFuture} promptly release references to listeners
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ private static ImmutableList<ImmutableList<Class<?>>> allSignatures(Class<?> pre
// 'test' to demonstrate some potentially ambiguous overloads. This 'test' is kind of strange,
// but essentially each line will be a call to a Preconditions method that, but for a documented
// change would be a compiler error.
// See https://docs.oracle.com/javase/specs/jls/se25/html/jls-15.html#jls-15.12.2 for the spec on
// See https://docs.oracle.com/javase/specs/jls/se26/html/jls-15.html#jls-15.12.2 for the spec on
// how javac selects overloads
@SuppressWarnings("null")
public void overloadSelection() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ static class B implements X, Y {}
* This test passes if the {@code concat(…).filter(…).filter(…)} statement at the end compiles.
* That statement compiles only if {@link FluentIterable#concat concat(aIterable, bIterable)}
* returns a {@link FluentIterable} of elements of an anonymous type whose supertypes are the <a
* href="https://docs.oracle.com/javase/specs/jls/se25/html/jls-4.html#jls-4.9">intersection</a>
* href="https://docs.oracle.com/javase/specs/jls/se26/html/jls-4.html#jls-4.9">intersection</a>
* of the supertypes of {@code A} and the supertypes of {@code B}.
*/
public void testConcatIntersectionType() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public class MacHashFunctionTest extends TestCase {

// From https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#Mac
// TODO(cpovirk): Evaluate newer list:
// https://docs.oracle.com/en/java/javase/25/docs/specs/security/standard-names.html#mac-algorithms
// https://docs.oracle.com/en/java/javase/26/docs/specs/security/standard-names.html#mac-algorithms
private static final ImmutableTable<String, SecretKey, HashFunction> ALGORITHMS =
new ImmutableTable.Builder<String, SecretKey, HashFunction>()
.put("HmacMD5", MD5_KEY, hmacMd5(MD5_KEY))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public class MessageDigestHashFunctionTest extends TestCase {
private static final ImmutableSet<String> INPUTS = ImmutableSet.of("", "Z", "foobar");

// From "How Provider Implementations Are Requested and Supplied" from
// https://docs.oracle.com/en/java/javase/25/security/java-cryptography-architecture-jca-reference-guide.html#:~:text=How%20Provider%20Implementations%20Are%20Requested%20and%20Supplied
// https://docs.oracle.com/en/java/javase/26/security/java-cryptography-architecture-jca-reference-guide.html#:~:text=How%20Provider%20Implementations%20Are%20Requested%20and%20Supplied
// - Some providers may choose to also include alias names.
// - For example, the "SHA-1" algorithm might be referred to as "SHA1".
// - The algorithm name is not case-sensitive.
Expand Down
4 changes: 2 additions & 2 deletions guava/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@
</tags>

<!-- TODO(cpovirk): Move this to the parent after making the package-list files available there. -->
<!-- We add the link ourselves so that we can choose Java 25 over the version that -source suggests. -->
<!-- We add the link ourselves so that we can choose Java 26 over the version that -source suggests. -->
<detectJavaApiLink>false</detectJavaApiLink>
<offlineLinks>
<!-- We need local copies of some of these for 2 reasons: a User-Agent problem (https://stackoverflow.com/a/47891403/28465) and an SSL problem (https://issues.apache.org/jira/browse/MJAVADOC-507). If we choose to work around the User-Agent problem, we can go back to <links>, sidestepping the SSL problem. -->
Expand All @@ -198,7 +198,7 @@
</offlineLink>
</offlineLinks>
<links>
<link>https://docs.oracle.com/en/java/javase/25/docs/api/</link>
<link>https://docs.oracle.com/en/java/javase/26/docs/api/</link>
<link>https://jspecify.dev/docs/api/</link>
</links>
<overview>../overview.html</overview>
Expand Down
2 changes: 1 addition & 1 deletion guava/src/com/google/common/base/CharMatcher.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
* assigned characters, including important CJK characters and emoji.
*
* <p>Supplementary characters are <a
* href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Character.html#supplementary">encoded
* href="https://docs.oracle.com/en/java/javase/26/docs/api/java.base/java/lang/Character.html#supplementary">encoded
* into a {@code String} using surrogate pairs</a>, and a {@code CharMatcher} treats these just as
* two separate characters. {@link #countIn} counts each supplementary character as 2 {@code char}s.
*
Expand Down
Loading
Loading