Compared to spotbugs, errorprone seems to run faster, finds a number of
useful things, is easier to configure, and is updated often.
* Add errorprone to the build for all non-test code
* Suppress or disable warnings that are too much for us to fix now
* Fix other errors and warnings
* Remove spotbugs (it and errorprone don't always agree)
The main module is now named "rhino", and exports the
"org.mozilla.rhino" package.
The "rhino-all" module builds the "rhino-all.jar", which contains all
the modules except the ScriptEngine (like the old "rhino.jar") and is
sufficient to run Rhino using "java -jar".
Update spotbugs and add necessary exclusions
Fix one small thing in Context that was making it upset
Update other plugins
Make spotless work -- currently only runs on Java 11
Set time zone in Mozilla tests
Move many tests into modules for better modularity
Add publication info for JARs
The "rhino" module will include an all-in-one JAR for backward
compatibility, but most new code should combine the four modular JARs
instead.
Enable some tests that work now because of Java 11 minimum
Get Gradle to stop trying to download Java versions.
Follow Gradle conventions for a multi-module build.
Top level modules:
* rhino-runtime: Basic Rhino runtime, enough to run scripts
* rhino-tools: Adds Shell, compiler, "Global" object
* rhino-xml: Add E4X
* rhino: Uber-JAR containing all of the above
* rhino-engine: Java ScriptEngine plug-in
* tests: Tests, which depend on all above
Add proper Java module-info files for each module, and sure that
everything works correctly in the new module system.