laiweiwei / jdk8u_nashorn Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jetbrains/jdk8u_nashorn
License: GNU General Public License v2.0
This project forked from jetbrains/jdk8u_nashorn
License: GNU General Public License v2.0
- What is Nashorn? Nashorn is a runtime environment for programs written in ECMAScript 5.1 that runs on top of JVM. - How to find out more about ECMAScript 5.1? The specification can be found at http://www.ecma-international.org/publications/standards/Ecma-262.htm - How to checkout sources of Nashorn project? Nashorn project uses Mercurial source code control system. You can download Mercurial from http://mercurial.selenic.com/wiki/Download Information about the forest extension can be found at http://mercurial.selenic.com/wiki/ForestExtension and downlaoded using hg clone https://bitbucket.org/gxti/hgforest You can clone Nashorn Mercurial forest using this command: hg fclone http://hg.openjdk.java.net/nashorn/jdk8 nashorn~jdk8 To update your copy of the forest (fwith the latest code: (cd nashorn~jdk8 ; hg fpull) Or just the nashorn subdirectory with (cd nashorn~jdk8/nashorn ; hg pull -u) To learn about Mercurial in detail, please visit http://hgbook.red-bean.com. - How to build? To build Nashorn, you need to install JDK 8. You may use the Nashorn forest build (recommended) or down load from java.net. You will need to set JAVA_HOME environmental variable to point to your JDK installation directory. cd nashorn~jdk8/nashorn/make ant clean; ant - How to run? Use the jjs script (see RELESE_README): cd nashorn~jdk8/nashorn sh bin/jjs <your .js file> Nashorn supports javax.script API. It is possible to drop nashorn.jar in class path and request for "nashorn" script engine from javax.script.ScriptEngineManager. Look for samples under the directory test/src/jdk/nashorn/api/scripting/. - Documentation Comprehensive development documentation is found in the Nashorn JavaDoc. You can build it using: cd nashorn~jdk8/nashorn/make ant javadoc after which you can view the generated documentation at dist/javadoc/index.html. - Running tests Nashorn tests are TestNG based. Running tests requires downloading the TestNG library and placing its jar file into the test/lib subdirectory. This is done automatically when executing the "ant externals" command to get external test suites (see below). Once TestNG is properly installed, you can run the tests using: cd make ant clean test You can also run the ECMA-262 test suite with Nashorn. In order to do that, you will need to get a copy of it and put it in test/script/external/test262 directory. A convenient way to do it is: git clone https://github.com/tc39/test262 test/script/external/test262 Alternatively, you can check it out elsewhere and make test/script/external/test262 a symbolic link to that directory. After you've done this, you can run the ECMA-262 tests using: cd nashorn~jdk8/nashorn/make ant test262 Ant target to get/update external test suites: ant externals ant update-externals These tests take time, so we have a parallelized runner for them that takes advantage of all processor cores on the computer: cd nashorn~jdk8/nashorn/make ant test262parallel - How to write your own test? Nashorn uses it's own simple test framework. Any .js file dropped under nashorn/test directory is considered as a test. A test file can optionally have .js.EXPECTED (foo.js.EXPECTED for foo.js) associated with it. The .EXPECTED file, if exists, should contain the output expected from compiling and/or running the test file. The test runner crawls these directories for .js files and looks for JTReg-style @foo comments to identify tests. * @test - A test is tagged with @test. * @test/fail - Tests that are supposed to fail (compiling, see @run/fail for runtime) are tagged with @test/fail. * @test/compile-error - Test expects compilation to fail, compares output. * @test/warning - Test expects compiler warnings, compares output. * @test/nocompare - Test expects to compile [and/or run?] successfully(may be warnings), does not compare output. * @subtest - denotes necessary file for a main test file; itself is not a test. * @run - A test that should be run is also tagged with @run (otherwise the test runner only compiles the test). * @run/fail - A test that should compile but fail with a runtime error. * @run/ignore-std-error - script may produce output on stderr, ignore this output. * @argument - pass an argument to script. * @option \ - pass option to engine, sample. /** * @option --dump-ir-graph * @test */
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.