improve build script to not "override" values set by others in their local builds.
diff --git a/releng.control/commonVariations.shsource b/releng.control/commonVariations.shsource
index d272555..588d238 100644
--- a/releng.control/commonVariations.shsource
+++ b/releng.control/commonVariations.shsource
@@ -12,7 +12,7 @@
 # be included in other sh files, with "source" command, not
 # executed on its own.
 
-# Note that throughout this file, the syntax of ${var:+default} is used so that 
+# Note that throughout this file, the syntax of ${var:-default} is used so that 
 # if a user has overridden the value, then the value will not be "re assigned" to the 
 # default value ... but, if the variable has not been set yet, the default value will be 
 # used. The default value should always be correct for the production machine, 
@@ -25,79 +25,79 @@
 # like most ant project files can.
 
 # the top directory of build-related directories
-export BUILD_HOME=${BUILD_HOME:+/shared/webtools}
+export BUILD_HOME=${BUILD_HOME:-/shared/webtools}
 
 # the following does not commonly vary, but must be specified "early"
 # so is specified in this file
-export RELENG_CONTROL=${RELENG_CONTROL:+${BUILD_HOME}/releng.control}
+export RELENG_CONTROL=${RELENG_CONTROL:-${BUILD_HOME}/releng.control}
 
 # this variable must batch the screen number that Xvfb is using
-export DISPLAYNUMBER=${DISPLAYNUMBER:+9}
-export DISPLAY=${DISPLAY:+127.0.0.1:$DISPLAYNUMBER.0}
+export DISPLAYNUMBER=${DISPLAYNUMBER:-9}
+export DISPLAY=${DISPLAY:-127.0.0.1:$DISPLAYNUMBER.0}
 
 # these should be full, abosolute path to the respective home directories
 # on this particular build machine
-export ANT_HOME=${ANT_HOME:+/shared/webtools/apps/apache-ant-1.7.1}
-export JAVA_4_HOME=${JAVA_4_HOME:+/shared/webtools/apps/IBMJava2-SDK-1.4.2-13.5}
-export JAVA_5_HOME=${JAVA_5_HOME:+/shared/webtools/apps/ibm-java2-sdk-5.0-12.1-linux-i386}
-export JAVA_6_HOME=${JAVA_6_HOME:+/shared/webtools/apps/ibm-java-sdk-6.0-8.1-linux-i386}
+export ANT_HOME=${ANT_HOME:-/shared/webtools/apps/apache-ant-1.7.1}
+export JAVA_4_HOME=${JAVA_4_HOME:-/shared/webtools/apps/IBMJava2-SDK-1.4.2-13.5}
+export JAVA_5_HOME=${JAVA_5_HOME:-/shared/webtools/apps/ibm-java2-sdk-5.0-12.1-linux-i386}
+export JAVA_6_HOME=${JAVA_6_HOME:-/shared/webtools/apps/ibm-java-sdk-6.0-8.1-linux-i386}
 
 
-export CCDIR=${CCDIR:+/shared/webtools/apps/cruisecontrol-bin-2.8.4}
+export CCDIR=${CCDIR:-/shared/webtools/apps/cruisecontrol-bin-2.8.4}
 
-export BASEOS=${BASEOS:+linux}
-export BASEWS=${BASEWS:+gtk}
-export BASEARCH=${BASEARCH:+x86}
+export BASEOS=${BASEOS:-linux}
+export BASEWS=${BASEWS:-gtk}
+export BASEARCH=${BASEARCH:-x86}
 
 # no local build properties, for production builds
 # for local builds, this should be set to a real directory,
 # so meaningful properties can be set for that local machine.
 # See the 'localBuildExample' directory for a starting example
-export LOCAL_BUILD_PROPERTIES_DIR=${LOCAL_BUILD_PROPERTIES_DIR:+}
+export LOCAL_BUILD_PROPERTIES_DIR=${LOCAL_BUILD_PROPERTIES_DIR:-}
 
 # note: buildmaster email address should be "real" address
 # that is subscribed to the mailing list, if you want to send
 # mail to mailing lists.
-export BUILD_BUILDMASTER_EMAIL=${BUILD_BUILDMASTER_EMAIL:+david.williams@eclipse.org}
-export BUILD_BUILDMASTER_RETURN_NAME=${BUILD_BUILDMASTER_RETURN_NAME:+wtpBuilder}
+export BUILD_BUILDMASTER_EMAIL=${BUILD_BUILDMASTER_EMAIL:-david.williams@eclipse.org}
+export BUILD_BUILDMASTER_RETURN_NAME=${BUILD_BUILDMASTER_RETURN_NAME:-wtpBuilder}
 # use following for CC 2.7.1
 #export BUILD_RESULT_URL=http://build.eclipse.org:7777/dashboard/build/detail
 # use following for CC 2.7.2, 2.7.3
-export BUILD_RESULT_URL=${BUILD_RESULT_URL:+http://build.eclipse.org:7777/dashboard/tab/build/detail}
+export BUILD_RESULT_URL=${BUILD_RESULT_URL:-http://build.eclipse.org:7777/dashboard/tab/build/detail}
 
-export BUILD_ALWAYS_TO_ADDRESS=${BUILD_ALWAYS_TO_ADDRESS:+david_williams@us.ibm.com}
+export BUILD_ALWAYS_TO_ADDRESS=${BUILD_ALWAYS_TO_ADDRESS:-david_williams@us.ibm.com}
 
-export BUILD_SUBJECT_PREFIX=${BUILD_SUBJECT_PREFIX:+WTPBUILD:}
+export BUILD_SUBJECT_PREFIX=${BUILD_SUBJECT_PREFIX:-WTPBUILD:}
 
 # note: this file, notifyMapper.properties is not normally in cvs,
 # to avoid "publishing" email addresses; but is maintained directly on
 # the build server.
-export EMAIL_PROPERTIES=${EMAIL_PROPERTIES:+${BUILD_HOME}/notification/notifyMapper.properties}
+export EMAIL_PROPERTIES=${EMAIL_PROPERTIES:-${BUILD_HOME}/notification/notifyMapper.properties}
 
 # controls quietness of logging to console
 # false means more output to console, true uses ant's logger
-export USE_LOGGER=${USE_LOGGER:+true}
+export USE_LOGGER=${USE_LOGGER:-true}
 
 #contols ANT's quietness level
 # true logs error and warnings only
-export USE_QUIET=${USE_QUIET:+true}
+export USE_QUIET=${USE_QUIET:-true}
 
 # controls ANT's debug level
 # setting to true will result in TONS of ouput
-export USE_DEBUG=${USE_DEBUG:+false}
+export USE_DEBUG=${USE_DEBUG:-false}
 
 # should be true for production, false for local.
 # it can be set to true for local builds, but then the
 # properties in upload.properties need to be set to valid values.
-export BUILD_UPLOAD=${BUILD_UPLOAD:+true}
+export BUILD_UPLOAD=${BUILD_UPLOAD:-true}
 
 # normally, cvs logging output can be "really quiet", but if problems, then it can be turned back on
 # to get more potentially diagnostic information
 # TODO: if both of these are 'true' and error is generated by cvs ...
 # saying you can't set both to true.
 # we could put in some logic to prevent that, someday.
-export CVS_QUIET=${CVS_QUIET:+true}
-export CVS_REALLY_QUIET=${CVS_REALLY_QUIET:+true}
+export CVS_QUIET=${CVS_QUIET:-true}
+export CVS_REALLY_QUIET=${CVS_REALLY_QUIET:-true}
 #   these cvs values need to have write access if
 #   tag.maps is true, as on production machine.
 #   This is the ID used to both read, and
@@ -109,20 +109,20 @@
 #   So, we just always do it. Can't imagine it'd hurt
 #   if protocol was pserver, but could be removed in that
 #   case, if desired.
-export CVS_RSH=${CVS_RSH:+ssh}
-export BUILD_CVS_READ_PROTOCOL=${BUILD_CVS_READ_PROTOCOL:+pserver}
-export BUILD_CVS_READ_USER=${BUILD_CVS_READ_USER:+anonymous}
-export BUILD_CVS_WRITE_PROTOCOL=${BUILD_CVS_WRITE_PROTOCOL:+ext}
-export BUILD_CVS_WRITE_USER=${BUILD_CVS_WRITE_USER:+david_williams}
-export BUILD_CVS_SERVER=${BUILD_CVS_SERVER:+dev.eclipse.org}
+export CVS_RSH=${CVS_RSH:-ssh}
+export BUILD_CVS_READ_PROTOCOL=${BUILD_CVS_READ_PROTOCOL:-pserver}
+export BUILD_CVS_READ_USER=${BUILD_CVS_READ_USER:-anonymous}
+export BUILD_CVS_WRITE_PROTOCOL=${BUILD_CVS_WRITE_PROTOCOL:-ext}
+export BUILD_CVS_WRITE_USER=${BUILD_CVS_WRITE_USER:-david_williams}
+export BUILD_CVS_SERVER=${BUILD_CVS_SERVER:-dev.eclipse.org}
 
-export BUILD_CVS_ROOT=${BUILD_CVS_ROOT:+/cvsroot/webtools}
+export BUILD_CVS_ROOT=${BUILD_CVS_ROOT:-/cvsroot/webtools}
 
 # for  builds on local machines, SKIPUSERS should be 'true' to avoid
 # notifying users about those builds on your local machine
-export SKIPUSERS=${SKIPUSERS:+false}
+export SKIPUSERS=${SKIPUSERS:-false}
 
-export DOWNLOAD_ROOT=${DOWNLOAD_ROOT:+/home/data/httpd/download.eclipse.org}
+export DOWNLOAD_ROOT=${DOWNLOAD_ROOT:-/home/data/httpd/download.eclipse.org}
 
 # Here this variable, SKIP_JAR_SIGNING, should be false for
 # production builds. But, the variable is set elsewhere to true,
@@ -131,14 +131,14 @@
 # to allow components to be the final say to allow signing.
 # This variable, SKIP_JAR_SIGNING, should always be true for
 # "local" builds.
-export SKIP_JAR_SIGNING=${SKIP_JAR_SIGNING:+false}
+export SKIP_JAR_SIGNING=${SKIP_JAR_SIGNING:-false}
 
 # this is used especially during signing, where we need to execute
 # the signing script from a signer ID, while running as wtpBuild.
 # should be blank or omitted in local builds
-export REMOTE_SSH_COMMAND=${REMOTE_SSH_COMMAND:+"ssh david_williams@build.eclipse.org "}
+export REMOTE_SSH_COMMAND=${REMOTE_SSH_COMMAND:-"ssh david_williams@build.eclipse.org "}
 
-export DASHBOARDHOST=${DASHBOARDHOST:+206.191.52.34}
+export DASHBOARDHOST=${DASHBOARDHOST:-206.191.52.34}
 
 # comment out WTP_XULRUNNER if no special version is required
 # rarely needed. machine specific
@@ -146,7 +146,7 @@
 #export WTP_XULRUNNER=/shared/common/mozilla-xulrunner181-1.8.1.4-30.ppc
 #echo "WTP_XULRUNNER: " $WTP_XULRUNNER
 
-export DASHBOARD_CONFIG=${DASHBOARD_CONFIG:+${RELENG_CONTROL}/dashboard-config.xml}
+export DASHBOARD_CONFIG=${DASHBOARD_CONFIG:-${RELENG_CONTROL}/dashboard-config.xml}
 
 
 # global VM options
@@ -159,5 +159,5 @@
 # see https://bugs.eclipse.org/bugs/show_bug.cgi?id=323876
 # -Dcom.ibm.tools.attach.enable=no
 
-export IBM_JAVA_OPTIONS=${IBM_JAVA_OPTIONS:+"-Dcom.ibm.tools.attach.enable=no -Declipse.p2.mirrors=false"}
+export IBM_JAVA_OPTIONS=${IBM_JAVA_OPTIONS:-"-Dcom.ibm.tools.attach.enable=no -Declipse.p2.mirrors=false"}