README
    - 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
     */
    

    项目简介

    当前项目暂无项目简介

    发行版本

    当前项目没有发行版本

    贡献者 2

    开发语言

    • Java 62.8 %
    • JavaScript 36.9 %
    • HTML 0.2 %
    • Shell 0.1 %
    • Makefile 0.0 %