# -------------------------------------------------------------------
# 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.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