Switch over to Java 8.
Converted one of the `Commander` classes used within our spec tests to
use lambda notation to prove that Java 8 support is working.
Tell Travis to use Java 8 JRE.
Early commit of the 'gradle-retrolambda' plug-in so others can inspect
the problem I'm observing when using it.
Provide the infrastructure so that all methods that may involve disk I/O
can be easilly and safely memoized without introducing subtle caching
bugs (see
https://github.com/BladeRunnerJS/brjs/wiki/BRJS-Memoization-Strategy-Strawman).
This code is currently untested because I need to switch tasks for a
bit.
Added some unit tests for the memoization code written previously, and
stopped using `Joiner.on()` when throwing a security exception as this
method caused a futher security query to be made, which ultimately leads
to a stack overflow.
Updated retrolambda to version 1.1.4, which fixes a bug that was
preventing our code from compiling -- we will still need to update
Travis to set the JAVA7_HOME environment variable before the build will
go green.
Update Travis to provide both Java 7 and Java 8, set the `JAVA7_HOME`
and `JAVA8_HOME` environment variables.
Force re-build on Travis.
temporarilly prevent installation of the BRJSSecurityManager, to see if
that is what is causing Travis to fail.
Re-instated the security manager, but modified so it no longer throws an
exception if the thing we're reading is a class or jar file (used to
dynamically load parts of the program), since not all of the classes
appear to be pre-loaded when we run on Travis.
Prevent compilers warnings due to use of try-with-resources for a use
case where we don't need access to the auto-closable.
Add deprecated annotations to all security manager methods that are also
marked as deprecated in the super class, preventing compiler warnings.
Added some documentation explaining how to install both Java 7 and Java
8 to support our use of retrolambda.
Removed one of the two jdk configuration options since this was causing
Travis to build each commit twice (once for each version of Java),
rather than causing both JDKs to be available, which they are anyway.
Merge branch 'develop' into java8-support
Merge branch 'develop' into enable-widespread-memoization
minor refactoring of retrolambda build config
Merge branch 'develop' into java8-support
Configured our Javadoc task to use the `javadoc` command from
`JAVA8_HOME`, rather than the default one from `JAVA_HOME`, plus deleted
some duplicate config.