Home | History | Annotate | Download | only in guava
      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