Java Bindings for V8
Java C++ Python C CMake HTML Other
Clone or download
irbull Don't use V8ArrayBuffer after releasing it
Some of our tests were trying to use the V8ArrayBuffer after
it was released. With a recent change, this stopped working.
This fixes those tests.

Change-Id: Ifb585712ab1b8bd4722cd696476bab0899721d1b
Latest commit c3cb5b0 Jun 29, 2018
Permalink
Failed to load latest commit information.
.settings Use Java 1.6 as the target for J2V8 May 15, 2015
META-INF Add an OSGi manifest for J2V8 Jan 16, 2015
build_system some minor fixes Aug 29, 2017
cmake build-system unit-testing & other extras Aug 29, 2017
dep_includes_macosx Use Node.js to build J2V8 on MacOS. May 4, 2016
docker Use TLSv1.2 for builds Jun 28, 2018
gradle/wrapper Patch J2V8 for Node 7.4.0 Apr 4, 2017
jni build-system unit-testing & other extras Aug 29, 2017
node.patches build-system unit-testing & other extras Aug 29, 2017
releng Clean up the automatic deploy script May 29, 2017
src Don't use V8ArrayBuffer after releasing it Jun 28, 2018
vagrant additional build-system features & some j2v8 fixes Aug 29, 2017
.classpath Use Java 1.6 as the target for J2V8 May 15, 2015
.gitignore show progress percentage on `nodejs.py pkg` Aug 29, 2017
.project Update project settings for Maven Aug 28, 2014
.travis.yml Use the new build scripts for our travis build Aug 29, 2017
BUILDING.md atexit fix & prettier `build -i` listing Aug 29, 2017
CMakeLists.txt build-system unit-testing & other extras Aug 29, 2017
CONTRIBUTING.md Add a contributing file to J2V8 Dec 8, 2015
Jenkinsfile Collect results after the build finishes in the pipeline May 9, 2017
README.md Added a link to a blog article regarding React.js Aug 29, 2017
build-node.sh Update the local build scripts I use while developing May 9, 2017
build.gradle set variables in pom.xml directly (no env-vars) Aug 29, 2017
build.properties Add an OSGi manifest for J2V8 Jan 16, 2015
build.py extended documentation & code polishing Aug 29, 2017
buildAll.sh Get existing build scripts working with updated build Jun 22, 2017
deploy_snapshots.sh Check status after each maven call in the deploy script Jul 19, 2016
epl-v10.html Add an EPL License to J2V8 Nov 13, 2014
gradle.properties build-system unit-testing & other extras Aug 29, 2017
gradlew Create an aar build for J2V8 Nov 4, 2015
gradlew.bat Create an aar build for J2V8 Nov 4, 2015
j2v8-cli.cmd more CLI documentation & build-step args Aug 29, 2017
j2v8-cli.sh more CLI documentation & build-step args Aug 29, 2017
nodejs.py build-system unit-testing & other extras Aug 29, 2017
pom.xml Remove the "bundle" packaging from the pom.xml Jun 28, 2018
project.properties Create an aar build for J2V8 Nov 4, 2015
tycho_pom.xml Update to 2.0 SNAPSHOT Feb 17, 2015

README.md

J2V8

Build Status Maven Central

J2V8 is a set of Java bindings for V8. J2V8 focuses on performance and tight integration with V8. It also takes a 'primitive first' approach, meaning that if a value can be accessed as a primitive, then it should be. This forces a more static type system between the JS and Java code, but it also improves the performance since intermediate Objects are not created.

We developed J2V8 as a high performance engine for our multi-platform mobile toolkit tabris.js and it is a great choice for executing JavaScript on Android devices.

Building J2V8

Building J2V8 requires building both the native parts and the Java library (.jar/.aar file). To build the native parts we first build Node.js as a library and then statically link J2V8 to that. The Java parts are built with maven/gradle.

J2V8 uses a cross-platform, cross-compiling build-system written in Python.

For any further build instructions & details please read BUILDING.md

Tutorials

Articles

Presentations

Other Resources

Here is a list of articles I've written on J2V8 http://eclipsesource.com/blogs/tag/j2v8/.

Who is using J2V8?

Here are some projects that use J2V8:

License

The code is published under the terms of the Eclipse Public License, version 1.0.