38 lines
1.9 KiB
Text
38 lines
1.9 KiB
Text
Guava: Google Core Libraries for Java (JDK5 Backport)
|
|
=====================================================
|
|
|
|
This is the JDK5 backport of Guava. Notable differences from the
|
|
JDK6 version of Guava include:
|
|
|
|
- A variety of code is removed, most notably code that uses
|
|
`Math.scalb`, `Deque` and its inheritors, `NavigableMap`,
|
|
`NavigableSet` and their inheritors, and lots of methods that don't
|
|
make sense without the above.
|
|
- `TimeUnit` only supports `SECONDS` as the highest granularity time
|
|
unit in 1.5, so all uses of `MINUTES`, `DAYS` and `HOURS` have been
|
|
re-cast in terms of `SECONDS`.
|
|
- `Charset`-accepting methods on `String` and elsewhere were added in
|
|
1.6, so all charsets are passed in by using `Charsets.FOO.name()`,
|
|
and exceptions are trapped or thrown as appropriate.
|
|
- The guava-gwt module is disabled by not including it in the list
|
|
of modules in the parent pom.xml.
|
|
|
|
The JDK5 backport builds with Maven, but has a number of
|
|
ideosyncrasies.
|
|
|
|
- While it uses `-source 1.5` and `-target 1.5` and produces valid 1.5
|
|
compatible class files, the backport does not build with JDK5.
|
|
@Override annotations on interface methods are retained.
|
|
- It requries a custom ExecutorService and AbstractExecutorService,
|
|
which we build in a boostrap project which is included in the build
|
|
of guava, guava-testlib and guava-tests.
|
|
- The Maven build will use a bootstrap rt.jar classpath based on a
|
|
standard sun JDK on unix. But this is overridable on a Mac by
|
|
passing in `-Dbootstrap.classes=/path/to/my/classes.jar`. Since
|
|
the backport will not build with JDK5, a JDK5 `rt.jar` should be used
|
|
to ensure that no JDK6+ APIs are used. If you have difficulties
|
|
building, please try setting the `bootstrap.classes` property to a
|
|
known `rt.jar` or `classes.jar`.
|
|
- Some tests will fail when run under JDK5 due to `guava-testlib` and
|
|
`guava-tests` having dependencies on other libraries that are compiled
|
|
with `-target 1.6`.
|