###############################################################################
# Copyright (c) 2007, 2019 IBM Corporation and others.
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
# upload.properties



# These are some properties needed to upload builds from 
# a build machine to some download machine. These are 
# ignored if UPLOAD_BUILD environment variable is set to false.
# 
uploadUser=davidw
uploadPassword="This is not really used since ssh login is assumed (required)"
uploadServer=localhost
uploadRemoteDirectory=/var/www/html/buildhome/webtools/${site-sub-dir}/drops/${buildBranch}

# rsyncRootPrefix should be empty for Linux machines.
# But, Windows using cygwin will need something like /cygdrive/G/
# for what ever drive or directory is parent of build home.
# This is allow rsync to work (using cygwin).
#
# rsyncRootPrefix=
