#  	upload.properties

# 		These are some properties needed to upload builds from the build machine to the download machine. 
# 		The actual task that does that is in wtp.upload in releng.wtpBuidler. 
# 		Its better to set here, "outside" of wtpBuilder, since it can be machine and user specific


# 		Use care with "true" unless you really 
# 		have a place for the builds to go. You 
# 		would not want them to accidently go to eclipse.org
build.upload=false
 
# uploadUser=davidw
# uploadPassword="This is not really used since ssh login is assumed (required)"
# uploadServer=localhost
# uploadRemoteDirectory=/usr/local/apache2/htdocs/webtools/${site-sub-dir}/drops/${buildBranch}

# 		rsyncRootPrefix should be empty for Linux machines.
# 		But, Windows using cygwin will needs something like /cygdrive/G/
# 		for what ever drive or directory is parent of build home
# rsyncRootPrefix=

