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