project.properties revision 1674:51865518fa99
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
50nashorn.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
56nashorntask.dir=buildtools/nashorntask
57
58# nashorn Shell tool
59nashorn.shell.tool=jdk.nashorn.tools.Shell
60
61# nasgen tool
62nasgen.tool=jdk.nashorn.internal.tools.nasgen.Main
63
64nasgen.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
69parallel.test.runner=jdk.nashorn.internal.test.framework.ParallelTestRunner
70
71# test classes directory
72build.test.classes.dir=${build.dir}/test/classes
73
74# nashorn test jar - internal tests jar and api tests jar
75nashorn.internal.tests.jar=${build.dir}/nashorn-internal-tests.jar
76nashorn.api.tests.jar=${build.dir}/nashorn-api-tests.jar
77
78# test results directory
79build.test.results.dir=${build.dir}/test/reports
80build.nosecurity.test.results.dir=${build.dir}/test/nosecurity/reports
81build.nooptimistic.test.results.dir=${build.dir}/test/nooptimistic/reports
82
83# This directory is removed when the project is cleaned:
84dist.dir=dist
85dynalink.jar=${dist.dir}/dynalink.jar
86nashorn.jar=${dist.dir}/nashorn.jar
87jjs.jar=${dist.dir}/jjs.jar
88dist.javadoc.dir=${dist.dir}/javadoc
89
90# configuration for java flight recorder
91run.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
94test.lib=${basedir}${file.separator}test${file.separator}lib
95
96# jars refererred
97file.reference.testng.jar=${test.lib}${file.separator}testng-6.8.jar
98file.reference.jcommander.jar=${test.lib}${file.separator}jcommander-1.27.jar
99file.reference.bsh.jar=${test.lib}${file.separator}bsh-2.0b4.jar
100file.reference.snakeyaml.jar=${test.lib}${file.separator}snakeyaml-1.6.jar
101file.reference.asmtools.jar=${test.lib}${file.separator}asmtools-60.jar
102
103# TestNG ant task classpath
104testng.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
115testng.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
121testng.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
130javac.debug=true
131javac.encoding=ascii
132javac.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
139test.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
154meta.inf.dir=${nashorn.module.src.dir}/META-INF
155
156run.classpath=\
157    ${build.classes.dir}
158
159# test scripts to run
160test.dir=test
161test.nosecurity.dir=test/script/nosecurity
162test.script.dir=test/script
163test.basic.dir=test/script/basic
164test.maptests.dir=test/script/maptests
165test.error.dir=test/script/error
166test.sandbox.dir=test/script/sandbox
167test.trusted.dir=test/script/trusted
168test.external.dir=test/script/external
169test262.dir=${test.external.dir}/test262
170test262.suite.dir=${test262.dir}/test/suite
171testjfx.dir=${test.script.dir}/jfx
172testmarkdown.dir=${test.script.dir}/markdown
173
174test-sys-prop.test.dir=${test.dir}
175test-sys-prop.test.js.roots=${test.basic.dir} ${test.maptests.dir} ${test.error.dir} ${test.sandbox.dir} ${test.trusted.dir}
176test-sys-prop.test262.suite.dir=${test262.suite.dir}
177test-sys-prop.es5conform.testcases.dir=${test.external.dir}/ES5Conform/TestCases
178test-sys-prop.test.basic.dir=${test.basic.dir}
179test-sys-prop.test.external.dir=${test.external.dir}
180test-sys-prop.test.maptests.dir=${test.maptests.dir}
181test-sys-prop.test.sandbox.dir=${test.sandbox.dir}
182test-sys-prop.test.trusted.dir=${test.trusted.dir}
183
184test-sys-prop-no-security.test.dir=${test.dir}
185test-sys-prop-no-security.test.js.roots=${test.nosecurity.dir}
186
187# framework root for our script tests
188test-sys-prop.test.js.framework=${test.script.dir}/assert.js
189test-sys-prop-no-security.test.js.framework=${test.script.dir}/assert.js
190
191# Control the verbosity of ParserTest
192test-sys-prop.parsertest.verbose=false
193
194# turn on/off scripting mode for parser tests
195test-sys-prop.parsertest.scripting=true
196test-sys-prop.parserapitest.verbose=false
197
198# turn on/off test262 scripts for parser tests
199test-sys-prop.parsertest.test262=false
200test-sys-prop.parserapitest.test262=false
201
202# Control the verbosity of the CompilerTest
203test-sys-prop.compilertest.verbose=false
204
205# turn on/off scripting mode for compiler tests
206test-sys-prop.compilertest.scripting=true
207
208# turn on/off test262 scripts for compiler tests
209test-sys-prop.compilertest.test262=false
210
211# test directory to be excluded.
212test-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
215test-sys-prop.test.js.unchecked.dir=${test262.dir}
216
217# test root for octane
218octane-test-sys-prop.test.js.roots=${test.external.dir}/octane/
219
220# run octane benchmars in separate processes? (recommended)
221octane-test-sys-prop.separate.process=true
222
223# framework root for octane
224octane-test-sys-prop.test.js.framework=${test.basic.dir}/run-octane.js
225
226# test root for sunspider
227sunspider-test-sys-prop.test.js.roots=${test.external.dir}/sunspider/tests/sunspider-1.0.2/
228
229# framework root for sunspider
230sunspider-test-sys-prop.test.js.framework=${test.basic.dir}/runsunspider.js
231
232# list of tests to be excluded
233sunspider-test-sys-prop.test.js.exclude.list=
234
235# execute our script tests in shared nashorn context or not?
236test-sys-prop.test.js.shared.context=false
237
238# execute test262 tests in shared nashorn context or not?
239test262-test-sys-prop.test.js.shared.context=true
240
241# test262 test root
242test262-test-sys-prop.test.js.roots=${test262.suite.dir}
243
244# test262 enable/disable strict mode tests
245test262-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
251test262-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
257test262-test-sys-prop.test.js.exclude.dir=\
258    ${test262.suite.dir}/intl402/ \
259    ${test262.suite.dir}/bestPractice/
260
261test262-test-sys-prop.test.failed.list.file=${build.dir}/test/failedTests
262
263# test262 test frameworks
264test262-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
274testmarkdown-test-sys-prop.test.js.roots=${testmarkdown.dir}
275
276# execute testmarkdown tests in shared nashorn context or not?
277testmarkdown-test-sys-prop.test.js.shared.context=false
278
279# framework root for markdown script tests
280testmarkdown-test-sys-prop.test.js.framework=\
281    ${test.script.dir}${file.separator}markdown.js
282
283# testjfx test root
284testjfx-test-sys-prop.test.js.roots=${testjfx.dir}
285
286# execute testjfx tests in shared nashorn context or not?
287testjfx-test-sys-prop.test.js.shared.context=false
288
289# framework root for our script tests
290testjfx-test-sys-prop.test.js.framework=\
291    -fx \
292    ${test.script.dir}${file.separator}jfx.js
293
294file.reference.jemmyfx.jar=${test.lib}${file.separator}JemmyFX.jar
295file.reference.jemmycore.jar=${test.lib}${file.separator}JemmyCore.jar
296file.reference.jemmyawtinput.jar=${test.lib}${file.separator}JemmyAWTInput.jar
297file.reference.jfxrt.jar=${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar
298testjfx.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
310testjfx-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${testjfx.run.test.classpath}
311
312run.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
320dynalink.module.src.dir=src/jdk.dynalink/share/classes
321dynalink.module.classes.dir=${build.classes.dir}/jdk.dynalink
322nashorn.module.src.dir=src/jdk.scripting.nashorn/share/classes
323nashorn.module.classes.dir=${build.classes.dir}/jdk.scripting.nashorn
324nashorn.shell.module.src.dir=src/jdk.scripting.nashorn.shell/share/classes
325nashorn.shell.module.classes.dir=${build.classes.dir}/jdk.scripting.nashorn.shell
326
327src.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
332test.src.dir=test/src
333
334# -Xmx is used for all tests, -Xms only for octane benchmark
335run.test.xmx=2G
336run.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
343jfr.args=
344
345run.test.user.language=tr
346run.test.user.country=TR
347
348run.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
360run.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
399run.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
402run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${build.dir}/nashorn.policy
403
404# VM options for script tests with @fork option
405test-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
407test-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
410rhino.dir=
411rhino.jar=${rhino.dir}/js.jar
412
413v8.shell=d8
414
415# How many iterations should 'ant octane' run for each
416# benchmark
417octane.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)
426octane.benchmark.box2d=box2d
427#octane.benchmark.code-load=code-load
428octane.benchmark.crypto=crypto
429octane.benchmark.deltablue=deltablue
430octane.benchmark.earley-boyer=earley-boyer
431octane.benchmark.gbemu=gbemu
432octane.benchmark.navier-stokes=navier-stokes
433octane.benchmark.mandreel=mandreel
434octane.benchmark.pdfjs=pdfjs
435octane.benchmark.raytrace=raytrace
436octane.benchmark.regexp=regexp
437octane.benchmark.richards=richards
438octane.benchmark.splay=splay
439#octane.benchmark.typescript=typescript
440#octane.benchmark.zlib=zlib
441
442#path to rhino jar file
443octaneperf-sys-prop.rhino.jar=${rhino.jar}
444
445#timeout for performance tests in minutes
446octaneperf-sys-prop.timeout.value=10
447
448#how many iterations to run sunspider after warmup
449sunspider.iterations=3000
450
451#################
452# code coverage #
453#################
454
455#enable/disable code coverage; please redifine in the ${user.home}/.nashorn.project.local.properties
456make.code.coverage=false
457
458#type of codecoverage; one of static or dynamic. Now only dynamic is supported
459jcov=dynamic
460
461#naming of CC results
462#NB directory specified in the cc.dir will be cleaned up!!!
463cc.dir=${basedir}/../Codecoverage_Nashorn
464cc.result.file.name=CC_${jcov}_nashorn.xml
465
466#dynamic CC parameters; please redefine in the ${user.home}/.nashorn.project.local.properties
467jcov2.lib.dir=${basedir}/../jcov2/lib
468jcov.jar=${jcov2.lib.dir}/jcov.jar
469cc.include=jdk\.nashorn\.*
470cc.exclude=jdk\.nashorn\.internal\.scripts\.*
471cc.dynamic.genereate.template=true
472cc.template=${cc.dir}/CC_template.xml
473cc.dynamic.args=-javaagent:${jcov.jar}=include=${cc.include},exclude=${cc.exclude},type=all,verbose=0,file=${cc.dir}/${cc.result.file.name}
474