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