Skip to content
Rhino is an open-source implementation of JavaScript written entirely in Java https://www.mozilla.org/rhino/
C++ Java JavaScript C Perl Shell Other
Failed to load latest commit information.
examples Replace StringBuffer with StringBuilder if possible
gradle/wrapper Add "distZip" gradle task.
man Add manpage for Rhino shell.
maven Update release code.
src Replace YearFromTime with code from jsdate.cpp that does not result in
test262 @ acf2d0c Update test262 to latest code from master.
testsrc Replace YearFromTime with code from jsdate.cpp that does not result in
toolsrc Merge SourceReader changes.
xmlimplsrc Remove code and build artifacts pointing to the "old E4X" implementat…
.gitattributes Add .gitattributes.
.gitignore Fixing PR
.gitmodules Lightweight test262 runner
LICENSE.txt Update LICENSE.txt to MPL 2.0
NOTICE.txt Add a NOTICE with the V8 copyright message.
README.md Update release notes and readme for 1.7.7.1.
RELEASE-NOTES.md Update release notes and readme for 1.7.7.1.
apiClasses.properties Bug 754258 - update license to MPL 2.
build-date Massive reconfiguration of the cvs directory structure:
build.gradle Fix build file to put a prefix on the "distZip".
build.properties Update files for next iteration.
build.xml Initial checkin of typed arrays and tests from V8.
gradle.properties Set up publication in snapshot repo.
gradlew Permissions fix.
gradlew.bat Permissions fix.
release-steps.txt Update release code.

README.md

Rhino: JavaScript in Java

Rhino

Rhino is an implementation of JavaScript in Java.

License

Rhino is licensed under the MPL 2.0.

Releases

Rhino 1.7R5January 29, 2015
Rhino 1.7.6April 15, 2015
Rhino 1.7.7June 17, 2015
Rhino 1.7.7.1February 2, 2016

Release Notes for recent releases.

Compatability 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

Status of "master" branch

Java 6
Java 7
Java 8

How to Build

Rhino builds with Gradle. Here are some useful tasks:

./gradlew jar

Build and create Rhino jar in the build/libs directory.

./gradlew test

Build and run all the tests.

./gradlew testBenchmark

Build and run benchmark tests.

Releasing and publishing new version

  1. Ensure all tests are passing
  2. Remove -SNAPSHOT from version in gradle.properties in project root folder
  3. Create file gradle.properties in $HOME/.gradle folder with following properties. Populate them with maven repo credentials and repo location.

    mavenUser=
    mavenPassword=
    mavenSnapshotRepo=
    mavenReleaseRepo=
    
  4. Run Gradle task to publish artifacts to Maven Central.

    ./gradlew publish
    
  5. Increase version and add -SNAPSHOT to it in gradle.properties in project root folder.
  6. Push gradle.properties to GitHub

Running

Rhino can run as a stand-alone interpreter from the command line:

java -jar buildGradle/libs/rhino-1.7.7.1.jar
Rhino 1.7.7 2015 05 03
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:

https://groups.google.com/forum/#!forum/mozilla-rhino

Something went wrong with that request. Please try again.