TeaVM fork of Rhino
This is subset of original Rhino with stripped off reflection. This allows to run Rhino interpreter in TeaVM.
Rhino: JavaScript in Java
Rhino is an implementation of JavaScript in Java.
License
Rhino is licensed under the MPL 2.0.
Releases
Rhino 1.7R5 | January 29, 2015 |
Rhino 1.7.6 | April 15, 2015 |
Rhino 1.7.7 | June 17, 2015 |
Rhino 1.7.7.1 | February 2, 2016 |
Rhino 1.7.7.2 | August 24, 2017 |
Rhino 1.7.8 | January 22, 2018 |
Rhino 1.7.9 | March 15, 2018 |
Release Notes for recent releases.
Compatibility table which shows which advanced JavaScript features from ES5, 6, and 7 are implemented in Rhino.
Documentation
Information for script builders and embedders:
https://developer.mozilla.org/en-US/docs/Rhino_documentation
JavaDoc for all the APIs:
http://mozilla.github.io/rhino/javadoc/index.html
More resources if you get stuck:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Community
Building
How to Build
Rhino builds with Gradle
. Here are some useful tasks:
./gradlew jar
Build and create Rhino
jar in the buildGradle/libs
directory.
./gradlew test
Build and run all the tests.
./gradlew testBenchmark
Build and run benchmark tests.
Releasing and publishing new version
- Ensure all tests are passing
- Remove
-SNAPSHOT
from version ingradle.properties
in project root folder - Create file
gradle.properties
in$HOME/.gradle
folder with following properties. Populate them with maven repo credentials and repo location.
mavenUser=
mavenPassword=
mavenSnapshotRepo=
mavenReleaseRepo=
- Run
Gradle
task to publish artifacts to Maven Central.
./gradlew publish
- Increase version and add
-SNAPSHOT
to it ingradle.properties
in project root folder. - Push
gradle.properties
toGitHub
Running
Rhino can run as a stand-alone interpreter from the command line:
java -jar buildGradle/libs/rhino-1.7.9.jar
Rhino 1.7.9 2018 03 15
js> print('Hello, World!');
Hello, World!
js>
You can also embed it, as most people do. See below for more docs.
Issues
Most issues are managed on GitHub:
https://github.com/mozilla/rhino/issues
More Help
The Google group is the best place to go with questions: