#!/usr/bin/env bash

# common variables used in scripts
# See the top of build.xml and aggr.properties for more
# description of what may or may not be overridden in
# property files.

# this is what causes "blame mail" to be sent out.
PRODUCTION=--production

# This makes getting the git repos more efficient, when
# running on Eclipse.org infrastructure.
git_protocol=file://

# This is important, for efficiency in production builds,
# It is used to "rewrite" the URLS in aggr file that are specified as
# http://download.eclipse.org/<projectRepos>
rewriteRepositoryURLValue=file:///home/data/httpd/download.eclipse.org

# we specify root location of platform as "file://" on production machine
# to that it is quicker for ant to "get" it.
rootLocation=file:///home/data/httpd/archive.eclipse.org/eclipse/downloads/drops4/R-4.6.2-201611241400
