make/nashorn/project.properties
changeset 47216 71c04702a3d5
parent 44792 4345641338a3
child 47217 72e3ae9a25eb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/nashorn/project.properties	Tue Sep 12 19:03:39 2017 +0200
@@ -0,0 +1,483 @@
+#
+# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+application.title=nashorn
+
+# location of JDK embedded ASM sources
+jdk.java.base.dir=../jdk/src/java.base/share/classes
+jdk.asm.src.dir=${jdk.java.base.dir}/jdk/internal/org/objectweb/asm
+
+# location of JDK embedded jline sources
+jdk.jline.src.dir=../jdk/src/jdk.internal.le/share/classes
+
+# source and target levels
+build.compiler=modern
+javac.source=1.9
+javac.target=1.9
+
+javadoc.option=\
+    -tag "implSpec:a:Implementation Requirements:" \
+    -tag "implNote:a:Implementation Note:" \
+    -tag "moduleGraph:a:Module Graph"
+
+# nashorn version information
+nashorn.version=0.1
+nashorn.fullversion=0.1
+nashorn.product.name=Oracle Nashorn
+
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.classes.dir=${build.dir}/classes
+build.zip=${build.dir}/nashorn.zip
+build.gzip=${build.dir}/nashorn.tar.gz
+
+nashorn.override.option=\
+ --patch-module jdk.scripting.nashorn=${build.classes.dir}/jdk.scripting.nashorn \
+ --patch-module jdk.scripting.nashorn.shell=${build.classes.dir}/jdk.scripting.nashorn.shell \
+ --patch-module jdk.dynalink=${build.classes.dir}/jdk.dynalink
+
+# project directory of <nashorn> ant task
+nashorntask.dir=buildtools/nashorntask
+
+# nashorn Shell tool
+nashorn.shell.tool=jdk.nashorn.tools.Shell
+
+# nasgen tool
+nasgen.tool=jdk.nashorn.internal.tools.nasgen.Main
+
+nasgen.module.imports=\
+    --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
+    --add-exports java.base/jdk.internal.org.objectweb.asm.util=ALL-UNNAMED
+
+# parallel test runner tool
+parallel.test.runner=jdk.nashorn.internal.test.framework.ParallelTestRunner
+
+# test classes directory
+build.test.classes.dir=${build.dir}/test/classes
+
+# nashorn test jar - internal tests jar and api tests jar
+nashorn.internal.tests.jar=${build.dir}/nashorn-internal-tests.jar
+nashorn.api.tests.jar=${build.dir}/nashorn-api-tests.jar
+
+# test results directory
+build.test.results.dir=${build.dir}/test/reports
+build.nosecurity.test.results.dir=${build.dir}/test/nosecurity/reports
+build.nooptimistic.test.results.dir=${build.dir}/test/nooptimistic/reports
+
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dynalink.jar=${dist.dir}/dynalink.jar
+nashorn.jar=${dist.dir}/nashorn.jar
+jjs.jar=${dist.dir}/jjs.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+dist.nashornapi.javadoc.dir=${dist.javadoc.dir}/nashornapi
+dist.dynalinkapi.javadoc.dir=${dist.javadoc.dir}/dynalinkapi
+
+# configuration for java flight recorder
+run.test.jvmargs.jfr=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath=${build.dir},stackdepth=128
+
+# test library location
+test.lib=${basedir}${file.separator}test${file.separator}lib
+
+# jars refererred
+file.reference.testng.jar=${test.lib}${file.separator}testng-6.8.jar
+file.reference.jcommander.jar=${test.lib}${file.separator}jcommander-1.27.jar
+file.reference.bsh.jar=${test.lib}${file.separator}bsh-2.0b4.jar
+file.reference.snakeyaml.jar=${test.lib}${file.separator}snakeyaml-1.6.jar
+file.reference.asmtools.jar=${test.lib}${file.separator}asmtools-60.jar
+
+# TestNG ant task classpath
+testng.ant.classpath=\
+    ${file.reference.testng.jar}${path.separator}\
+    ${file.reference.jcommander.jar}${path.separator}\
+    ${file.reference.bsh.jar}${path.separator}\
+    ${file.reference.snakeyaml.jar}${path.separator}
+
+# Set testng verbose level
+# From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed)
+# Actually, this is a lie: you can specify -1 and this will put TestNG in
+# debug mode (no longer slicing off stack traces and all)."
+
+testng.verbose=2
+
+# TestNG listeners - we want to replace TestNG's own JUnit
+# reporter, but want everything else provided by default
+# Unfortunately, we've to clone the other default reporters here.
+
+testng.listeners=\
+ org.testng.reporters.SuiteHTMLReporter, \
+ org.testng.reporters.TestHTMLReporter, \
+ org.testng.reporters.jq.Main, \
+ org.testng.reporters.FailedReporter, \
+ org.testng.reporters.XMLReporter \
+ org.testng.reporters.EmailableReporter, \
+ jdk.nashorn.internal.test.framework.JSJUnitReportReporter
+
+javac.debug=true
+javac.encoding=ascii
+javac.test.classpath=\
+    ${build.test.classes.dir}${path.separator}\
+    ${file.reference.testng.jar}${path.separator}\
+    ${file.reference.jcommander.jar}${path.separator}\
+    ${file.reference.bsh.jar}${path.separator}\
+    ${file.reference.snakeyaml.jar}
+
+test.module.imports=\
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.ir=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.codegen=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.parser=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.objects=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.doubleconv=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.events=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.options=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.regexp=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.regexp.joni=ALL-UNNAMED \
+    --add-exports jdk.scripting.nashorn/jdk.nashorn.tools=ALL-UNNAMED \
+    --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
+    --add-opens jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED \
+    --add-opens jdk.scripting.nashorn/jdk.nashorn.internal.runtime.doubleconv=ALL-UNNAMED
+
+meta.inf.dir=${nashorn.module.src.dir}/META-INF
+
+run.classpath=\
+    ${build.classes.dir}
+
+# test scripts to run
+test.dir=test
+test.nosecurity.dir=test/script/nosecurity
+test.script.dir=test/script
+test.basic.dir=test/script/basic
+test.maptests.dir=test/script/maptests
+test.error.dir=test/script/error
+test.sandbox.dir=test/script/sandbox
+test.trusted.dir=test/script/trusted
+test.external.dir=test/script/external
+test262.dir=${test.external.dir}/test262
+test262.suite.dir=${test262.dir}/test/suite
+testjfx.dir=${test.script.dir}/jfx
+testmarkdown.dir=${test.script.dir}/markdown
+
+test-sys-prop.test.dir=${test.dir}
+test-sys-prop.test.js.roots=${test.basic.dir} ${test.maptests.dir} ${test.error.dir} ${test.sandbox.dir} ${test.trusted.dir}
+test-sys-prop.test262.suite.dir=${test262.suite.dir}
+test-sys-prop.es5conform.testcases.dir=${test.external.dir}/ES5Conform/TestCases
+test-sys-prop.test.basic.dir=${test.basic.dir}
+test-sys-prop.test.external.dir=${test.external.dir}
+test-sys-prop.test.maptests.dir=${test.maptests.dir}
+test-sys-prop.test.sandbox.dir=${test.sandbox.dir}
+test-sys-prop.test.trusted.dir=${test.trusted.dir}
+
+test-sys-prop-no-security.test.dir=${test.dir}
+test-sys-prop-no-security.test.js.roots=${test.nosecurity.dir}
+
+# framework root for our script tests
+test-sys-prop.test.js.framework=${test.script.dir}/assert.js
+test-sys-prop-no-security.test.js.framework=${test.script.dir}/assert.js
+
+# Control the verbosity of ParserTest
+test-sys-prop.parsertest.verbose=false
+
+# turn on/off scripting mode for parser tests
+test-sys-prop.parsertest.scripting=true
+test-sys-prop.parserapitest.verbose=false
+
+# turn on/off test262 scripts for parser tests
+test-sys-prop.parsertest.test262=false
+test-sys-prop.parserapitest.test262=false
+
+# Control the verbosity of the CompilerTest
+test-sys-prop.compilertest.verbose=false
+
+# turn on/off scripting mode for compiler tests
+test-sys-prop.compilertest.scripting=true
+
+# turn on/off test262 scripts for compiler tests
+test-sys-prop.compilertest.test262=false
+
+# test directory to be excluded.
+test-sys-prop.test.js.exclude.dir=${test.script.dir}/currently-failing ${test.external.dir}
+
+# run everything that's js in here, without checking file headers for test annotations
+test-sys-prop.test.js.unchecked.dir=${test262.dir}
+
+# test root for octane
+octane-test-sys-prop.test.js.roots=${test.external.dir}/octane/
+
+# run octane benchmars in separate processes? (recommended)
+octane-test-sys-prop.separate.process=true
+
+# framework root for octane
+octane-test-sys-prop.test.js.framework=${test.basic.dir}/run-octane.js
+
+# test root for sunspider
+sunspider-test-sys-prop.test.js.roots=${test.external.dir}/sunspider/tests/sunspider-1.0.2/
+
+# framework root for sunspider
+sunspider-test-sys-prop.test.js.framework=${test.basic.dir}/runsunspider.js
+
+# list of tests to be excluded
+sunspider-test-sys-prop.test.js.exclude.list=
+
+# execute our script tests in shared nashorn context or not?
+test-sys-prop.test.js.shared.context=false
+
+# execute test262 tests in shared nashorn context or not?
+test262-test-sys-prop.test.js.shared.context=true
+
+# test262 test root
+test262-test-sys-prop.test.js.roots=${test262.suite.dir}
+
+# test262 enable/disable strict mode tests
+test262-test-sys-prop.test.js.enable.strict.mode=true
+
+# file containing test262 tests to be excluded
+# test262-test-sys-prop.test.js.excludes.file=${test262.dir}/test/config/excludelist.xml
+
+# list of test262 files to be excluded
+test262-test-sys-prop.test.js.exclude.list=\
+    ${test262.suite.dir}/ch07/7.4/S7.4_A6.js \
+    ${test262.suite.dir}/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js \
+    ${test262.suite.dir}/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js 
+
+# list of test262 test dirs to be excluded
+test262-test-sys-prop.test.js.exclude.dir=\
+    ${test262.suite.dir}/intl402/ \
+    ${test262.suite.dir}/bestPractice/
+
+test262-test-sys-prop.test.failed.list.file=${build.dir}/test/failedTests
+
+# test262 test frameworks
+test262-test-sys-prop.test.js.framework=\
+    --class-cache-size=10 \
+    --no-java \
+    --no-typed-arrays \
+    -timezone=PST \
+    ${test.script.dir}/test262.js \
+    ${test262.dir}/test/harness/framework.js \
+    ${test262.dir}/test/harness/sta.js
+
+# testmarkdown test root
+testmarkdown-test-sys-prop.test.js.roots=${testmarkdown.dir}
+
+# execute testmarkdown tests in shared nashorn context or not?
+testmarkdown-test-sys-prop.test.js.shared.context=false
+
+# framework root for markdown script tests
+testmarkdown-test-sys-prop.test.js.framework=\
+    ${test.script.dir}${file.separator}markdown.js
+
+# testjfx test root
+testjfx-test-sys-prop.test.js.roots=${testjfx.dir}
+
+# execute testjfx tests in shared nashorn context or not?
+testjfx-test-sys-prop.test.js.shared.context=false
+
+# framework root for our script tests
+testjfx-test-sys-prop.test.js.framework=\
+    -fx \
+    ${test.script.dir}${file.separator}jfx.js
+
+file.reference.jemmyfx.jar=${test.lib}${file.separator}JemmyFX.jar
+file.reference.jemmycore.jar=${test.lib}${file.separator}JemmyCore.jar
+file.reference.jemmyawtinput.jar=${test.lib}${file.separator}JemmyAWTInput.jar
+file.reference.jfxrt.jar=${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar
+testjfx.run.test.classpath=\
+    ${file.reference.jemmyfx.jar}${path.separator}\
+    ${file.reference.jemmycore.jar}${path.separator}\
+    ${file.reference.jemmyawtinput.jar}${path.separator}\
+    ${file.reference.testng.jar}${path.separator}\
+    ${file.reference.jcommander.jar}${path.separator}\
+    ${file.reference.bsh.jar}${path.separator}\
+    ${file.reference.snakeyaml.jar}${path.separator}\
+    ${nashorn.internal.tests.jar}${path.separator}\
+    ${nashorn.api.tests.jar}
+
+# testjfx VM options for script tests with @fork option
+testjfx-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${testjfx.run.test.classpath}
+
+run.test.classpath=\
+    ${file.reference.testng.jar}${path.separator}\
+    ${file.reference.jcommander.jar}${path.separator}\
+    ${file.reference.bsh.jar}${path.separator}\
+    ${file.reference.snakeyaml.jar}${path.separator}\
+    ${nashorn.internal.tests.jar}${path.separator}\
+    ${nashorn.api.tests.jar}
+
+dynalink.module.src.dir=src/jdk.dynalink/share/classes
+dynalink.module.classes.dir=${build.classes.dir}/jdk.dynalink
+nashorn.module.src.dir=src/jdk.scripting.nashorn/share/classes
+nashorn.module.classes.dir=${build.classes.dir}/jdk.scripting.nashorn
+nashorn.shell.module.src.dir=src/jdk.scripting.nashorn.shell/share/classes
+nashorn.shell.module.classes.dir=${build.classes.dir}/jdk.scripting.nashorn.shell
+
+src.dir=${dynalink.module.src.dir}${path.separator}\
+        ${nashorn.module.src.dir}${path.separator}\
+        ${nashorn.shell.module.src.dir}${path.separator}\
+        ${jdk.jline.src.dir}
+
+test.src.dir=test/src
+
+# -Xmx is used for all tests, -Xms only for octane benchmark
+run.test.xmx=2G
+run.test.xms=2G
+
+# uncomment this jfr.args to enable light recordings. the stack needs to be cranked up to 1024 frames,
+# or everything will as of the now drown in lambda forms and be cut off.
+#
+#jfr.args=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath="test_suite.jfr",stackdepth=1024 \
+
+jfr.args=
+
+run.test.user.language=tr
+run.test.user.country=TR
+
+run.test.jvmargs.common=\
+  -server \
+  ${test.module.imports} \
+  ${run.test.jvmargs.external} \
+  --add-modules jdk.scripting.nashorn.shell \
+  ${nashorn.override.option} \
+  -Dfile.encoding=UTF-8 \
+  -Duser.language=${run.test.user.language} \
+  -Duser.country=${run.test.user.country} \
+  -Dnashorn.typeInfo.cacheDir=${build.dir}${file.separator}test${file.separator}type_info_cache \
+  ${jfr.args} \
+  -XX:+HeapDumpOnOutOfMemoryError
+
+# turn on assertions for tests
+run.test.jvmargs.main=${run.test.jvmargs.common} -esa -ea
+
+# Extra jvmargs that might be useful for debugging
+# and performance improvements/monitoring
+#
+# -XX:+UnlockDiagnosticVMOptions
+#
+# turn off compressed class pointers in metaspace
+# -XX:-UseCompressedKlassPointers
+#
+# dump the heap after every GC
+# -XX:+PrintHeapAtGC
+#
+# manually set a metaspace size for class data
+# -XX:ClassMetaspaceSize=300M
+#
+# print out methods compiled
+# -XX:+PrintCompilation
+#
+# print all compiled nmethods with oopmaps and lots of other info
+# -XX:+PrintNMethods
+#
+# activate the generic "UseNewCode" flag to test whatever functionality
+# lies behind it. This is the preferred way to test a, yet flagless,
+# feature in HotSpot - for example, the uncommon trap placement fix
+# was hidden behind this flag before it became the default
+#
+# -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode
+#
+# Crank up the type profile level to 222, which has some warmup
+# penalties, but produces much better code for JavaScript, where better
+# and more intrusive type profiling is required to get rid of
+# a large amount of unnecessary guard code, that could not otherwise
+# be eliminated
+#
+# -XX:TypeProfileLevel=222
+#
+
+# Use best known performance options for octane
+run.test.jvmargs.octane.main=${run.test.jvmargs.common} -XX:TypeProfileLevel=222
+
+# Security manager args - make sure that we run with the nashorn.policy that the build creates
+run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${build.dir}/nashorn.policy -Djava.security.properties=${build.dir}/nashorn.security.properties
+
+# VM options for script tests with @fork option
+test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -cp ${run.test.classpath}
+# VM options for no-security script tests with @fork option - same as above but without jvmsecurityargs
+test-sys-prop-no-security.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${run.test.classpath}
+
+# path of rhino.jar for benchmarks
+rhino.dir=
+rhino.jar=${rhino.dir}/js.jar
+
+v8.shell=d8
+
+# How many iterations should 'ant octane' run for each
+# benchmark
+octane.iterations=25
+
+# List of octane tests to run, as properties prefixed with
+# "octane.benchmark." mapping to the benchmark name in
+# the test harness
+#
+# Octane tests that are disabled should have their entire line
+# commented out  Tests may be disabled for functionality reasons when
+# they have bugs or when the runtime doesn't handle them (yet)
+octane.benchmark.box2d=box2d
+#octane.benchmark.code-load=code-load
+octane.benchmark.crypto=crypto
+octane.benchmark.deltablue=deltablue
+octane.benchmark.earley-boyer=earley-boyer
+octane.benchmark.gbemu=gbemu
+octane.benchmark.navier-stokes=navier-stokes
+octane.benchmark.mandreel=mandreel
+octane.benchmark.pdfjs=pdfjs
+octane.benchmark.raytrace=raytrace
+octane.benchmark.regexp=regexp
+octane.benchmark.richards=richards
+octane.benchmark.splay=splay
+#octane.benchmark.typescript=typescript
+#octane.benchmark.zlib=zlib
+
+#path to rhino jar file
+octaneperf-sys-prop.rhino.jar=${rhino.jar}
+
+#timeout for performance tests in minutes
+octaneperf-sys-prop.timeout.value=10
+
+#how many iterations to run sunspider after warmup
+sunspider.iterations=3000
+
+#################
+# code coverage #
+#################
+
+#enable/disable code coverage; please redifine in the ${user.home}/.nashorn.project.local.properties
+make.code.coverage=false
+
+#type of codecoverage; one of static or dynamic. Now only dynamic is supported
+jcov=dynamic
+
+#naming of CC results
+#NB directory specified in the cc.dir will be cleaned up!!!
+cc.dir=${basedir}/../Codecoverage_Nashorn
+cc.result.file.name=CC_${jcov}_nashorn.xml
+
+#dynamic CC parameters; please redefine in the ${user.home}/.nashorn.project.local.properties
+jcov2.lib.dir=${basedir}/../jcov2/lib
+jcov.jar=${jcov2.lib.dir}/jcov.jar
+cc.include=jdk\.nashorn\.*
+cc.exclude=jdk\.nashorn\.internal\.scripts\.*
+cc.dynamic.genereate.template=true
+cc.template=${cc.dir}/CC_template.xml
+cc.dynamic.args=-javaagent:${jcov.jar}=include=${cc.include},exclude=${cc.exclude},type=all,verbose=0,file=${cc.dir}/${cc.result.file.name}