commit | dc3210484abc2b817484be5c140bfa583fe3864c | [log] [tgz] |
---|---|---|
author | cpovirk <cpovirk@google.com> | Tue Nov 21 17:27:14 2017 -0800 |
committer | Chris Povirk <cpovirk@google.com> | Tue Nov 21 18:22:25 2017 -0800 |
tree | 745037b660bf1bdf438f4f3c850247ed01dc4c4e | |
parent | 1644f6ea9db1279f89d452f05d0dfa18061e35ba [diff] |
Add Checker Framework to dependencies. This CL doesn't *use* any annotations yet, and I'm not even certain that we're going to yet. But I think we're likely to, and there's enough that can go wrong with just this step that I'd like to get it in. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176584793
Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more!
Guava comes in two flavors.
android
directory.The most recent release is Guava 23.4, released 2017-11-08.
The Maven group ID is com.google.guava
, and the artifact ID is guava
. Use version 23.4-jre
for the JRE flavor, or 23.4-android
for the Android flavor.
To add a dependency on Guava using Maven, use the following:
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>23.4-jre</version> <!-- or, for Android: --> <version>23.4-android</version> </dependency>
To add a dependency using Gradle:
dependencies { compile 'com.google.guava:guava:23.4-jre' // or, for Android: compile 'com.google.guava:guava:23.4-android' }
Snapshots of Guava built from the master
branch are available through Maven using version HEAD-jre-SNAPSHOT
, or HEAD-android-SNAPSHOT
for the Android flavor.
APIs marked with the @Beta
annotation at the class or method level are subject to change. They can be modified in any way, or even removed, at any time. If your code is a library itself (i.e. it is used on the CLASSPATH of users outside your own control), you should not use beta APIs, unless you repackage them (e.g. using ProGuard).
APIs without @Beta
will remain binary-compatible for the indefinite future. (Previously, we sometimes removed such APIs after a deprecation period. The last release to remove non-@Beta
APIs was Guava 21.0.) Even @Deprecated
APIs will remain (again, unless they are @Beta
). We have no plans to start removing things again, but officially, we're leaving our options open in case of surprises (like, say, a serious security problem).
Serialized forms of ALL objects are subject to change unless noted otherwise. Do not persist these and assume they can be read by a future version of the library.
Our classes are not designed to protect against a malicious caller. You should not use them for communication between trusted and untrusted code.
For the mainline flavor, we unit-test the libraries using only OpenJDK 1.8 on Linux. Some features, especially in com.google.common.io
, may not work correctly in other environments. For the Android flavor, our unit tests run on API level 15 (Ice Cream Sandwich).