Comments (2)
The thing is that GWT loads everything from its own classpath when you run the compiler or codeserver, so for the GWT tooling itself you'd rather use the runtime dependencies (I'm not sure it makes much difference, I haven't checked though); and this also applies to other dependencies that "enhance" the compilation (through GWT generator and linker mechanisms), particularly their transitive dependencies that might not be GWT-aware.
Indeed ideally we'd want the union of compile-time and runtime dependencies but I'm not sure whether this is even possible with Gradle. This artifact being specific for use with GWT though, making sure both sets of dependencies are equivalent sounds like the safest approach: whichever consuming projects will use, they'll have all they need.
from guava.
Sorry for not getting to this sooner. Thanks for the easy repro. I have a fix on the way in #7153.
It does seem interesting that GWT would use the "runtime" configuration for its compilation. I guess GWT's runtime and compile time aren't as cleanly separable, since the output of compilation contains exactly what will be used at runtime. I could maybe see having GWT us "compile-time" instead (as an acknowledgment that some people like to omit source-retention annotations at runtime), but I could also believe that that causes problems of its own. And maybe there's a way to use the union of those, but maybe that causes problems, too :) Anyway, I'm happy to just fix it on our end.
from guava.
Related Issues (20)
- Supply Chain Security
- Is `com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava` really necessary? HOT 2
- SmoothRateLimiter.SmoothBursty obtaining too many permits without failure HOT 1
- Certain versions of Guava on Maven central no longer working on Java 11 HOT 2
- java.lang.NoSuchMethodError: 'void com.google.common.base.Preconditions.checkState(boolean, java.lang.String, long) HOT 1
- `Suppliers.memoize()` thread pinning HOT 6
- Copying a filtered collection with ImmutableSet.copyOf() should require visiting each element only once HOT 1
- com.google.common.collect.Range#hasLowerBound determination error after deserialization HOT 7
- InternetDomainName.topPrivateDomain() throws exception for Amazonaws-Domain HOT 4
- Use Gradle module available-at tag instead of files for redirecting jre vs android consumers HOT 5
- Failing while building guava version v31.0.1 using mvn clean install HOT 3
- Make `Striped.custom` public HOT 3
- Improve `guava-android` Animal Sniffer compatibility testing for Java 8+ APIs HOT 1
- 2024年, 一元机场是不是跑路了? HOT 1
- Add Duration support for CacheBuilder.expireAfterWrite like in other guava projects HOT 4
- class file for com.google.errorprone.annotations.CompatibleWith not found HOT 3
- Use GitHub Actions for most release automation HOT 1
- RateLimiter.tryAcquire blocks when it should not HOT 1
- Implement of RateLimiter.setRate can be simplified
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from guava.