README
1 Guava: Google Core Libraries for Java
2 =====================================
3
4 Requires JDK 1.6 or higher (as of 12.0).
5
6 Project page:
7 http://guava-libraries.googlecode.com
8
9 Report a defect or feature request here:
10 http://code.google.com/p/guava-libraries/issues/entry
11
12 Ask "how-to" and "why-didn't-it-work" questions at:
13 http://www.stackoverflow.com/questions/ask (use the "guava" tag)
14
15 For open-ended questions and discussion:
16 http://groups.google.com/group/guava-discuss
17
18 Subscribe to project updates in your feed reader:
19 http://code.google.com/feeds/p/guava-libraries/updates/basic
20
21 IMPORTANT WARNINGS
22 ------------------
23
24 1. APIs marked with the @Beta annotation at the class or method level
25 are subject to change. They can be modified in any way, or even
26 removed, at any time. If your code is a library itself (i.e. it is
27 used on the CLASSPATH of users outside your own control), you should
28 not use beta APIs, unless you repackage them (e.g. using ProGuard).
29
30 2. Deprecated non-beta APIs will be removed two years after the
31 release in which they are first deprecated. You must fix your
32 references before this time. If you don't, any manner of breakage
33 could result (you are not guaranteed a compilation error).
34
35 3. Serialized forms of ALL objects are subject to change unless noted
36 otherwise. Do not persist these and assume they can be read by a
37 future version of the library.
38
39 4. Our classes are not designed to protect against a malicious caller.
40 You should not use them for communication between trusted and
41 untrusted code.
42
43 5. We unit-test and benchmark the libraries using only OpenJDK 1.7 on
44 Linux. Some features, especially in com.google.common.io, may not work
45 correctly in other environments.
46
47
README.android
README.jdk5
1 Guava: Google Core Libraries for Java (JDK5 Backport)
2 =====================================================
3
4 This is the JDK5 backport of Guava. Notable differences from the
5 JDK6 version of Guava include:
6
7 - A variety of code is removed, most notably code that uses
8 `Math.scalb`, `Deque` and its inheritors, `NavigableMap`,
9 `NavigableSet` and their inheritors, and lots of methods that don't
10 make sense without the above.
11 - `TimeUnit` only supports `SECONDS` as the highest granularity time
12 unit in 1.5, so all uses of `MINUTES`, `DAYS` and `HOURS` have been
13 re-cast in terms of `SECONDS`.
14 - `Charset`-accepting methods on `String` and elsewhere were added in
15 1.6, so all charsets are passed in by using `Charsets.FOO.name()`,
16 and exceptions are trapped or thrown as appropriate.
17 - The guava-gwt module is disabled by not including it in the list
18 of modules in the parent pom.xml.
19
20 The JDK5 backport builds with Maven, but has a number of
21 ideosyncrasies.
22
23 - While it uses `-source 1.5` and `-target 1.5` and produces valid 1.5
24 compatible class files, the backport does not build with JDK5.
25 @Override annotations on interface methods are retained.
26 - It requries a custom ExecutorService and AbstractExecutorService,
27 which we build in a boostrap project which is included in the build
28 of guava, guava-testlib and guava-tests.
29 - The Maven build will use a bootstrap rt.jar classpath based on a
30 standard sun JDK on unix. But this is overridable on a Mac by
31 passing in `-Dbootstrap.classes=/path/to/my/classes.jar`. Since
32 the backport will not build with JDK5, a JDK5 `rt.jar` should be used
33 to ensure that no JDK6+ APIs are used. If you have difficulties
34 building, please try setting the `bootstrap.classes` property to a
35 known `rt.jar` or `classes.jar`.
36 - Some tests will fail when run under JDK5 due to `guava-testlib` and
37 `guava-tests` having dependencies on other libraries that are compiled
38 with `-target 1.6`.
39
README.maven
1 These folders host the maven metadata which are used to
2 build release binaries for hosting in the central maven
3 repositories. These are not considered the "canonical"
4 build, but are maintained seperately by (a) volunteer(s)
5 with an interest in easy use of Guava by the Maven build
6 system.
7
8 As a convenience, these folders have been set up to
9 provide alternate packaging of the sub-pmodules, which
10 correspond to their respective java packages, with
11 sources symbolically linked back to the main project.
12 This will work to allow command-line builds on MacOS X
13 or other Unix platforms which support symbolic linking,
14 but is not known to work on Windows platforms.
15 (Obviously the deployed binaries in maven repostories
16 will work fine on any compliant JVM).
17
18 The maintainers of these metadata have used M2Eclipse
19 to import these projects directly into Eclipse. Please
20 remember that this codebase uses @Override annotations
21 on methods which implement an interface method, and
22 therefore require a JDK 1.6 (or newer 1.5 with the
23 appropriate fix) to support this behaviour. Executing
24 Maven with an appropriate JAVA_HOME env is sufficient,
25 and these metadata do not have toolchain restrictions
26 currently set up.
27
28 Christian
29 cgruber (a] google.com
30
README.version