(and also the `BooleanSupplier`-based `newGuard` method in `Monitor`)
I skipped the `default` methods, as we're not yet sure how safe those are.
RELNOTES=`util.concurrent`: Made most `Duration` overloads available to Android users.
PiperOrigin-RevId: 687476839
- Make `AbstractPackageSanityTests` ignore the class for simplicity. (But also add null checks (which solve only _part_ of the problem) to `ReflectionFreeAssertThrows` because why not.)
- Remove support for `util.concurrent` types so that we can also remove `util.concurrent` deps (mostly added during cl/675634517 and cl/686155720). I'll include support for those types in the packages that actually need it.
RELNOTES=n/a
PiperOrigin-RevId: 687009402
I'd undone this in cl/686728158 as part of addressing #7434, but I subsequently got a guilty conscience. It almost certainly doesn't matter, but it's a little weird.
RELNOTES=n/a
PiperOrigin-RevId: 686919814
And generally make our handling more consistent (`throwIfUnchecked` + `UndeclaredThrowableException` with appropriate comments).
This is mostly a no-op (assuming that the undeclared throwables are in fact impossible :)), but I note that the old `ChecksumHashFunction` code appears to be wrapping any _`RuntimeException`_ in an `AssertionError`, which would be bad if there were a practical chance of such a thing (though hopefully there is not).
Compare cl/686064398. I suspect that we could find yet more similar code.
RELNOTES=n/a
PiperOrigin-RevId: 686883397
(`AndroidJdkLibsChecker` (albeit in "desugaring mode") and Animal Sniffer will continue to run.)
It's not clear that `Java7ApiChecker` is useful even for our *prod* code at this point, as discussed in b/336133887. Let's at least start by disabling it for tests, where it's one of the remaining annoyances when adding support for Java 8 APIs to our Android branch.
(The actual immediate motivation for this CL is cl/686562711.)
The _`AndroidJdkLibsChecker`_ suppressions can be removed now that the standard configuration inside Google enables opt-in library desugaring, which signals to `AndroidJdkLibsChecker` not to warn about the methods that we're using. (Again, we still have checking from Animal Sniffer.)
RELNOTES=n/a
PiperOrigin-RevId: 686638643
It's possible that my motivation for the method was:
- to make it more difficult to accidentally operate on `e` intead of `e.getCause()` (as in https://github.com/google/guava/pull/7434): If so, I hope that I've addressed that sufficiently by renaming `e` to "`wrapper`".
- to share code with [`wrapAndThrowRuntimeExecutionExceptionOrError` in `SimpleTimeLimiter`](5338f7c997/guava/src/com/google/common/util/concurrent/SimpleTimeLimiter.java (L278C16-L278C60)): I mean, I guess we _could_, but meh, especially since the `Futures` copy of the logic benefits from an implementation comment that wouldn't make sense in the `SimpleTimeLimiter` case.
RELNOTES=n/a
PiperOrigin-RevId: 686551569
(See https://github.com/codehaus-plexus/plexus-io/issues/109.)
This CL _shouldn't_ make a performance difference because cl/650419894 _should_ have moved us to a version before the performance improvement was originally reverted. However, I messed that prior CL up, pinning us to the slow 3.4.1 instead of the fast 3.3.1. So in fact this CL _does_ improve performance back to the point it was at for 3.3.1. Today, that means an improvement from ~75s to ~1s for a clean `mvn source:jar-no-fork -f guava` on our Google workstations.
RELNOTES=n/a
PiperOrigin-RevId: 686509316
Fixes#7401
RELNOTES=`collect.testing.features`: Fixed `@Require` annotations so that features implied by absent features are not also required to be absent.
PiperOrigin-RevId: 682731934