# -------------------------------------------------------------------
# REPOS
# -------------------------------------------------------------------
maven.repo.remote=http://ibiblio.org/maven,http://maven-plugins.sourceforge.net

# -------------------------------------------------------------------
# XDOC
# -------------------------------------------------------------------
maven.xdoc.date = left

# -------------------------------------------------------------------
# TEST
# -------------------------------------------------------------------
maven.test.callback.pre-test.buildFile = build.xml
maven.test.callback.pre-test.buildTarget = jcs:test-prepare

# this only include *UnitTest.java by default
# this allows us to keep performance tests out of jcoverage,
# since instrumented perf tests will always fail.
test=Unit

maven.core.callback.post-compile.buildFile = build.xml
maven.core.callback.post-compile.buildTarget = jcs:copy-classpath-vm

# -------------------------------------------------------------------
# JUNIT
# -------------------------------------------------------------------
maven.junit.fork = true
# I'm setting this for jcoverage.
#maven.test.failure.ignore=true
maven.jcoverage.junit.fork = true
maven.junit.sysproperties=java.security.policy
java.security.policy=${basedir}/src/conf/cache.policy
maven.junit.jvmargs=-Xmx256m

# -------------------------------------------------------------------
# C H E C K S T Y L E  P R O P E R T I E S
# -------------------------------------------------------------------
maven.checkstyle.properties = ${basedir}/checkstyle.xml

# -------------------------------------------------------------------
# C H A N G E L O G  P R O P E R T I E S
# -------------------------------------------------------------------
maven.changelog.range=360
