# -------------------------------------------------------------------
# P R O J E C T  P R O P E R T I E S
# -------------------------------------------------------------------

maven.changelog.factory=org.apache.maven.svnlib.SvnChangeLogFactory

maven.compile.debug = on
maven.compile.optimize = off
maven.compile.deprecation = on
maven.compile.target = 1.3
maven.compile.source = 1.3

maven.javadoc.private = off
maven.javadoc.links=http://java.sun.com/j2se/1.3/docs/api/

maven.xdoc.jsl=../commons-build/commons-site.jsl
maven.xdoc.date=bottom
maven.xdoc.poweredby.image=maven-feather.png
maven.xdoc.version=${pom.currentVersion}
maven.xdoc.developmentProcessUrl=http://jakarta.apache.org/commons/charter.html
maven.xdoc.includeProjectDocumentation=yes

#maven.linkcheck.enable = off
maven.repo.remote=http://www.ibiblio.org/maven,http://cvs.apache.org/repository
maven.repo.apache.releases=scp://www.apache.org
maven.repo.apache.releases.directory=/www/www.apache.org/dist/java-repository
maven.repo.list=apache.snapshots
maven.repo.apache.snapshots=scp://cvs.apache.org
maven.repo.apache.snapshots.directory=/www/cvs.apache.org/repository
maven.junit.fork = true
maven.junit.sysproperties = test.basedir test.ftp.uri test.smb.uri test.webdav.uri test.sftp.uri test.http.uri
maven.junit.jvmargs = -Xss8192k
maven.test.failure.ignore=true
maven.ant.excludeTests=**/*.java

test.hostname=10.0.1.54
test.user=vfsusr
test.password=vfs%2f%25\\te:st
test.path=/vfstest

test.data.src=${maven.src.dir}/test-data
test.basedir=${maven.build.dir}/test-data
test.policy=${maven.test.data.src}/test.policy
test.secure=false
test.smb.uri=smb://${test.user}:${test.password}@${test.hostname}/${test.user}${test.path}
test.ftp.uri=ftp://${test.user}:${test.password}@${test.hostname}${test.path}
test.http.uri=http://${test.hostname}${test.path}
test.webdav.uri=webdav://${test.user}:${test.password}@${test.hostname}${test.path}
test.sftp.uri=sftp://${test.user}:${test.password}@${test.hostname}${test.path}

maven.checkstyle.properties = ${basedir}/checkstyle.properties

maven.dist.src.assembly.dir=${maven.dist.assembly.dir}/src/${maven.final.name}-src
