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