project.properties revision 1899:c9ffb95dfef4
1# 2# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. 3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4# 5# This code is free software; you can redistribute it and/or modify it 6# under the terms of the GNU General Public License version 2 only, as 7# published by the Free Software Foundation. 8# 9# This code is distributed in the hope that it will be useful, but WITHOUT 10# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12# version 2 for more details (a copy is included in the LICENSE file that 13# accompanied this code). 14# 15# You should have received a copy of the GNU General Public License version 16# 2 along with this work; if not, write to the Free Software Foundation, 17# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18# 19# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20# or visit www.oracle.com if you need additional information or have any 21# questions. 22# 23 24application.title=nashorn 25 26# location of JDK embedded ASM sources 27jdk.java.base.dir=../jdk/src/java.base/share/classes 28jdk.asm.src.dir=${jdk.java.base.dir}/jdk/internal/org/objectweb/asm 29 30# location of JDK embedded jline sources 31jdk.jline.src.dir=../jdk/src/jdk.internal.le/share/classes 32 33# source and target levels 34build.compiler=modern 35javac.source=1.9 36javac.target=1.9 37 38javadoc.option=\ 39 -tag "implSpec:a:Implementation Requirements:" \ 40 -tag "implNote:a:Implementation Note:" \ 41 -tag "moduleGraph:a:Module Graph" 42 43# nashorn version information 44nashorn.version=0.1 45nashorn.fullversion=0.1 46nashorn.product.name=Oracle Nashorn 47 48# This directory is removed when the project is cleaned: 49build.dir=build 50build.classes.dir=${build.dir}/classes 51build.zip=${build.dir}/nashorn.zip 52build.gzip=${build.dir}/nashorn.tar.gz 53 54nashorn.override.option=\ 55 --patch-module jdk.scripting.nashorn=${build.classes.dir}/jdk.scripting.nashorn \ 56 --patch-module jdk.scripting.nashorn.shell=${build.classes.dir}/jdk.scripting.nashorn.shell \ 57 --patch-module jdk.dynalink=${build.classes.dir}/jdk.dynalink 58 59# project directory of <nashorn> ant task 60nashorntask.dir=buildtools/nashorntask 61 62# nashorn Shell tool 63nashorn.shell.tool=jdk.nashorn.tools.Shell 64 65# nasgen tool 66nasgen.tool=jdk.nashorn.internal.tools.nasgen.Main 67 68nasgen.module.imports=\ 69 --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \ 70 --add-exports java.base/jdk.internal.org.objectweb.asm.util=ALL-UNNAMED 71 72# parallel test runner tool 73parallel.test.runner=jdk.nashorn.internal.test.framework.ParallelTestRunner 74 75# test classes directory 76build.test.classes.dir=${build.dir}/test/classes 77 78# nashorn test jar - internal tests jar and api tests jar 79nashorn.internal.tests.jar=${build.dir}/nashorn-internal-tests.jar 80nashorn.api.tests.jar=${build.dir}/nashorn-api-tests.jar 81 82# test results directory 83build.test.results.dir=${build.dir}/test/reports 84build.nosecurity.test.results.dir=${build.dir}/test/nosecurity/reports 85build.nooptimistic.test.results.dir=${build.dir}/test/nooptimistic/reports 86 87# This directory is removed when the project is cleaned: 88dist.dir=dist 89dynalink.jar=${dist.dir}/dynalink.jar 90nashorn.jar=${dist.dir}/nashorn.jar 91jjs.jar=${dist.dir}/jjs.jar 92dist.javadoc.dir=${dist.dir}/javadoc 93dist.nashornapi.javadoc.dir=${dist.javadoc.dir}/nashornapi 94dist.dynalinkapi.javadoc.dir=${dist.javadoc.dir}/dynalinkapi 95 96# configuration for java flight recorder 97run.test.jvmargs.jfr=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath=${build.dir},stackdepth=128 98 99# test library location 100test.lib=${basedir}${file.separator}test${file.separator}lib 101 102# jars refererred 103file.reference.testng.jar=${test.lib}${file.separator}testng-6.8.jar 104file.reference.jcommander.jar=${test.lib}${file.separator}jcommander-1.27.jar 105file.reference.bsh.jar=${test.lib}${file.separator}bsh-2.0b4.jar 106file.reference.snakeyaml.jar=${test.lib}${file.separator}snakeyaml-1.6.jar 107file.reference.asmtools.jar=${test.lib}${file.separator}asmtools-60.jar 108 109# TestNG ant task classpath 110testng.ant.classpath=\ 111 ${file.reference.testng.jar}${path.separator}\ 112 ${file.reference.jcommander.jar}${path.separator}\ 113 ${file.reference.bsh.jar}${path.separator}\ 114 ${file.reference.snakeyaml.jar}${path.separator} 115 116# Set testng verbose level 117# From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed) 118# Actually, this is a lie: you can specify -1 and this will put TestNG in 119# debug mode (no longer slicing off stack traces and all)." 120 121testng.verbose=2 122 123# TestNG listeners - we want to replace TestNG's own JUnit 124# reporter, but want everything else provided by default 125# Unfortunately, we've to clone the other default reporters here. 126 127testng.listeners=\ 128 org.testng.reporters.SuiteHTMLReporter, \ 129 org.testng.reporters.TestHTMLReporter, \ 130 org.testng.reporters.jq.Main, \ 131 org.testng.reporters.FailedReporter, \ 132 org.testng.reporters.XMLReporter \ 133 org.testng.reporters.EmailableReporter, \ 134 jdk.nashorn.internal.test.framework.JSJUnitReportReporter 135 136javac.debug=true 137javac.encoding=ascii 138javac.test.classpath=\ 139 ${build.test.classes.dir}${path.separator}\ 140 ${file.reference.testng.jar}${path.separator}\ 141 ${file.reference.jcommander.jar}${path.separator}\ 142 ${file.reference.bsh.jar}${path.separator}\ 143 ${file.reference.snakeyaml.jar} 144 145test.module.imports=\ 146 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.ir=ALL-UNNAMED \ 147 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.codegen=ALL-UNNAMED \ 148 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.parser=ALL-UNNAMED \ 149 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.objects=ALL-UNNAMED \ 150 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED \ 151 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.doubleconv=ALL-UNNAMED \ 152 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker=ALL-UNNAMED \ 153 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.events=ALL-UNNAMED \ 154 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.options=ALL-UNNAMED \ 155 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.regexp=ALL-UNNAMED \ 156 --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.regexp.joni=ALL-UNNAMED \ 157 --add-exports jdk.scripting.nashorn/jdk.nashorn.tools=ALL-UNNAMED \ 158 --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \ 159 --add-opens jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED \ 160 --add-opens jdk.scripting.nashorn/jdk.nashorn.internal.runtime.doubleconv=ALL-UNNAMED 161 162meta.inf.dir=${nashorn.module.src.dir}/META-INF 163 164run.classpath=\ 165 ${build.classes.dir} 166 167# test scripts to run 168test.dir=test 169test.nosecurity.dir=test/script/nosecurity 170test.script.dir=test/script 171test.basic.dir=test/script/basic 172test.maptests.dir=test/script/maptests 173test.error.dir=test/script/error 174test.sandbox.dir=test/script/sandbox 175test.trusted.dir=test/script/trusted 176test.external.dir=test/script/external 177test262.dir=${test.external.dir}/test262 178test262.suite.dir=${test262.dir}/test/suite 179testjfx.dir=${test.script.dir}/jfx 180testmarkdown.dir=${test.script.dir}/markdown 181 182test-sys-prop.test.dir=${test.dir} 183test-sys-prop.test.js.roots=${test.basic.dir} ${test.maptests.dir} ${test.error.dir} ${test.sandbox.dir} ${test.trusted.dir} 184test-sys-prop.test262.suite.dir=${test262.suite.dir} 185test-sys-prop.es5conform.testcases.dir=${test.external.dir}/ES5Conform/TestCases 186test-sys-prop.test.basic.dir=${test.basic.dir} 187test-sys-prop.test.external.dir=${test.external.dir} 188test-sys-prop.test.maptests.dir=${test.maptests.dir} 189test-sys-prop.test.sandbox.dir=${test.sandbox.dir} 190test-sys-prop.test.trusted.dir=${test.trusted.dir} 191 192test-sys-prop-no-security.test.dir=${test.dir} 193test-sys-prop-no-security.test.js.roots=${test.nosecurity.dir} 194 195# framework root for our script tests 196test-sys-prop.test.js.framework=${test.script.dir}/assert.js 197test-sys-prop-no-security.test.js.framework=${test.script.dir}/assert.js 198 199# Control the verbosity of ParserTest 200test-sys-prop.parsertest.verbose=false 201 202# turn on/off scripting mode for parser tests 203test-sys-prop.parsertest.scripting=true 204test-sys-prop.parserapitest.verbose=false 205 206# turn on/off test262 scripts for parser tests 207test-sys-prop.parsertest.test262=false 208test-sys-prop.parserapitest.test262=false 209 210# Control the verbosity of the CompilerTest 211test-sys-prop.compilertest.verbose=false 212 213# turn on/off scripting mode for compiler tests 214test-sys-prop.compilertest.scripting=true 215 216# turn on/off test262 scripts for compiler tests 217test-sys-prop.compilertest.test262=false 218 219# test directory to be excluded. 220test-sys-prop.test.js.exclude.dir=${test.script.dir}/currently-failing ${test.external.dir} 221 222# run everything that's js in here, without checking file headers for test annotations 223test-sys-prop.test.js.unchecked.dir=${test262.dir} 224 225# test root for octane 226octane-test-sys-prop.test.js.roots=${test.external.dir}/octane/ 227 228# run octane benchmars in separate processes? (recommended) 229octane-test-sys-prop.separate.process=true 230 231# framework root for octane 232octane-test-sys-prop.test.js.framework=${test.basic.dir}/run-octane.js 233 234# test root for sunspider 235sunspider-test-sys-prop.test.js.roots=${test.external.dir}/sunspider/tests/sunspider-1.0.2/ 236 237# framework root for sunspider 238sunspider-test-sys-prop.test.js.framework=${test.basic.dir}/runsunspider.js 239 240# list of tests to be excluded 241sunspider-test-sys-prop.test.js.exclude.list= 242 243# execute our script tests in shared nashorn context or not? 244test-sys-prop.test.js.shared.context=false 245 246# execute test262 tests in shared nashorn context or not? 247test262-test-sys-prop.test.js.shared.context=true 248 249# test262 test root 250test262-test-sys-prop.test.js.roots=${test262.suite.dir} 251 252# test262 enable/disable strict mode tests 253test262-test-sys-prop.test.js.enable.strict.mode=true 254 255# file containing test262 tests to be excluded 256# test262-test-sys-prop.test.js.excludes.file=${test262.dir}/test/config/excludelist.xml 257 258# list of test262 files to be excluded 259test262-test-sys-prop.test.js.exclude.list=\ 260 ${test262.suite.dir}/ch07/7.4/S7.4_A6.js \ 261 ${test262.suite.dir}/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js \ 262 ${test262.suite.dir}/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js 263 264# list of test262 test dirs to be excluded 265test262-test-sys-prop.test.js.exclude.dir=\ 266 ${test262.suite.dir}/intl402/ \ 267 ${test262.suite.dir}/bestPractice/ 268 269test262-test-sys-prop.test.failed.list.file=${build.dir}/test/failedTests 270 271# test262 test frameworks 272test262-test-sys-prop.test.js.framework=\ 273 --class-cache-size=10 \ 274 --no-java \ 275 --no-typed-arrays \ 276 -timezone=PST \ 277 ${test.script.dir}/test262.js \ 278 ${test262.dir}/test/harness/framework.js \ 279 ${test262.dir}/test/harness/sta.js 280 281# testmarkdown test root 282testmarkdown-test-sys-prop.test.js.roots=${testmarkdown.dir} 283 284# execute testmarkdown tests in shared nashorn context or not? 285testmarkdown-test-sys-prop.test.js.shared.context=false 286 287# framework root for markdown script tests 288testmarkdown-test-sys-prop.test.js.framework=\ 289 ${test.script.dir}${file.separator}markdown.js 290 291# testjfx test root 292testjfx-test-sys-prop.test.js.roots=${testjfx.dir} 293 294# execute testjfx tests in shared nashorn context or not? 295testjfx-test-sys-prop.test.js.shared.context=false 296 297# framework root for our script tests 298testjfx-test-sys-prop.test.js.framework=\ 299 -fx \ 300 ${test.script.dir}${file.separator}jfx.js 301 302file.reference.jemmyfx.jar=${test.lib}${file.separator}JemmyFX.jar 303file.reference.jemmycore.jar=${test.lib}${file.separator}JemmyCore.jar 304file.reference.jemmyawtinput.jar=${test.lib}${file.separator}JemmyAWTInput.jar 305file.reference.jfxrt.jar=${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar 306testjfx.run.test.classpath=\ 307 ${file.reference.jemmyfx.jar}${path.separator}\ 308 ${file.reference.jemmycore.jar}${path.separator}\ 309 ${file.reference.jemmyawtinput.jar}${path.separator}\ 310 ${file.reference.testng.jar}${path.separator}\ 311 ${file.reference.jcommander.jar}${path.separator}\ 312 ${file.reference.bsh.jar}${path.separator}\ 313 ${file.reference.snakeyaml.jar}${path.separator}\ 314 ${nashorn.internal.tests.jar}${path.separator}\ 315 ${nashorn.api.tests.jar} 316 317# testjfx VM options for script tests with @fork option 318testjfx-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${testjfx.run.test.classpath} 319 320run.test.classpath=\ 321 ${file.reference.testng.jar}${path.separator}\ 322 ${file.reference.jcommander.jar}${path.separator}\ 323 ${file.reference.bsh.jar}${path.separator}\ 324 ${file.reference.snakeyaml.jar}${path.separator}\ 325 ${nashorn.internal.tests.jar}${path.separator}\ 326 ${nashorn.api.tests.jar} 327 328dynalink.module.src.dir=src/jdk.dynalink/share/classes 329dynalink.module.classes.dir=${build.classes.dir}/jdk.dynalink 330nashorn.module.src.dir=src/jdk.scripting.nashorn/share/classes 331nashorn.module.classes.dir=${build.classes.dir}/jdk.scripting.nashorn 332nashorn.shell.module.src.dir=src/jdk.scripting.nashorn.shell/share/classes 333nashorn.shell.module.classes.dir=${build.classes.dir}/jdk.scripting.nashorn.shell 334 335src.dir=${dynalink.module.src.dir}${path.separator}\ 336 ${nashorn.module.src.dir}${path.separator}\ 337 ${nashorn.shell.module.src.dir}${path.separator}\ 338 ${jdk.jline.src.dir} 339 340test.src.dir=test/src 341 342# -Xmx is used for all tests, -Xms only for octane benchmark 343run.test.xmx=2G 344run.test.xms=2G 345 346# uncomment this jfr.args to enable light recordings. the stack needs to be cranked up to 1024 frames, 347# or everything will as of the now drown in lambda forms and be cut off. 348# 349#jfr.args=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath="test_suite.jfr",stackdepth=1024 \ 350 351jfr.args= 352 353run.test.user.language=tr 354run.test.user.country=TR 355 356run.test.jvmargs.common=\ 357 -server \ 358 ${test.module.imports} \ 359 ${run.test.jvmargs.external} \ 360 --add-modules jdk.scripting.nashorn.shell \ 361 ${nashorn.override.option} \ 362 -Dfile.encoding=UTF-8 \ 363 -Duser.language=${run.test.user.language} \ 364 -Duser.country=${run.test.user.country} \ 365 -Dnashorn.typeInfo.cacheDir=${build.dir}${file.separator}test${file.separator}type_info_cache \ 366 ${jfr.args} \ 367 -XX:+HeapDumpOnOutOfMemoryError 368 369# turn on assertions for tests 370run.test.jvmargs.main=${run.test.jvmargs.common} -esa -ea 371 372# Extra jvmargs that might be useful for debugging 373# and performance improvements/monitoring 374# 375# -XX:+UnlockDiagnosticVMOptions 376# 377# turn off compressed class pointers in metaspace 378# -XX:-UseCompressedKlassPointers 379# 380# dump the heap after every GC 381# -XX:+PrintHeapAtGC 382# 383# manually set a metaspace size for class data 384# -XX:ClassMetaspaceSize=300M 385# 386# print out methods compiled 387# -XX:+PrintCompilation 388# 389# print all compiled nmethods with oopmaps and lots of other info 390# -XX:+PrintNMethods 391# 392# activate the generic "UseNewCode" flag to test whatever functionality 393# lies behind it. This is the preferred way to test a, yet flagless, 394# feature in HotSpot - for example, the uncommon trap placement fix 395# was hidden behind this flag before it became the default 396# 397# -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode 398# 399# Crank up the type profile level to 222, which has some warmup 400# penalties, but produces much better code for JavaScript, where better 401# and more intrusive type profiling is required to get rid of 402# a large amount of unnecessary guard code, that could not otherwise 403# be eliminated 404# 405# -XX:TypeProfileLevel=222 406# 407 408# Use best known performance options for octane 409run.test.jvmargs.octane.main=${run.test.jvmargs.common} -XX:TypeProfileLevel=222 410 411# Security manager args - make sure that we run with the nashorn.policy that the build creates 412run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${build.dir}/nashorn.policy -Djava.security.properties=${build.dir}/nashorn.security.properties 413 414# VM options for script tests with @fork option 415test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -cp ${run.test.classpath} 416# VM options for no-security script tests with @fork option - same as above but without jvmsecurityargs 417test-sys-prop-no-security.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${run.test.classpath} 418 419# path of rhino.jar for benchmarks 420rhino.dir= 421rhino.jar=${rhino.dir}/js.jar 422 423v8.shell=d8 424 425# How many iterations should 'ant octane' run for each 426# benchmark 427octane.iterations=25 428 429# List of octane tests to run, as properties prefixed with 430# "octane.benchmark." mapping to the benchmark name in 431# the test harness 432# 433# Octane tests that are disabled should have their entire line 434# commented out Tests may be disabled for functionality reasons when 435# they have bugs or when the runtime doesn't handle them (yet) 436octane.benchmark.box2d=box2d 437#octane.benchmark.code-load=code-load 438octane.benchmark.crypto=crypto 439octane.benchmark.deltablue=deltablue 440octane.benchmark.earley-boyer=earley-boyer 441octane.benchmark.gbemu=gbemu 442octane.benchmark.navier-stokes=navier-stokes 443octane.benchmark.mandreel=mandreel 444octane.benchmark.pdfjs=pdfjs 445octane.benchmark.raytrace=raytrace 446octane.benchmark.regexp=regexp 447octane.benchmark.richards=richards 448octane.benchmark.splay=splay 449#octane.benchmark.typescript=typescript 450#octane.benchmark.zlib=zlib 451 452#path to rhino jar file 453octaneperf-sys-prop.rhino.jar=${rhino.jar} 454 455#timeout for performance tests in minutes 456octaneperf-sys-prop.timeout.value=10 457 458#how many iterations to run sunspider after warmup 459sunspider.iterations=3000 460 461################# 462# code coverage # 463################# 464 465#enable/disable code coverage; please redifine in the ${user.home}/.nashorn.project.local.properties 466make.code.coverage=false 467 468#type of codecoverage; one of static or dynamic. Now only dynamic is supported 469jcov=dynamic 470 471#naming of CC results 472#NB directory specified in the cc.dir will be cleaned up!!! 473cc.dir=${basedir}/../Codecoverage_Nashorn 474cc.result.file.name=CC_${jcov}_nashorn.xml 475 476#dynamic CC parameters; please redefine in the ${user.home}/.nashorn.project.local.properties 477jcov2.lib.dir=${basedir}/../jcov2/lib 478jcov.jar=${jcov2.lib.dir}/jcov.jar 479cc.include=jdk\.nashorn\.* 480cc.exclude=jdk\.nashorn\.internal\.scripts\.* 481cc.dynamic.genereate.template=true 482cc.template=${cc.dir}/CC_template.xml 483cc.dynamic.args=-javaagent:${jcov.jar}=include=${cc.include},exclude=${cc.exclude},type=all,verbose=0,file=${cc.dir}/${cc.result.file.name} 484