diff --git a/production/bashUtilities.shsource b/production/bashUtilities.shsource
new file mode 100644
index 000000000..6247fc3bf
--- /dev/null
+++ b/production/bashUtilities.shsource
@@ -0,0 +1,135 @@
+#!/usr/bin/env bash
+
+# General purpose utilities that are only related to bash (not
+# the build, per se.
+
+# A general purpose utility to check number of arguments match
+# what was expected. Its purpose is to help bullet-proof these scripts
+# when future changes made.
+# Example: (such as in first line of a function)
+# checkNArgs $# 3
+# NOTE: can not be called, until buildDirectory has been defined.
+checkNArgs ()
+{
+ actual=$1
+ expected=$2
+ if [[ -z "$actual" || -z "$expected" ]]
+ then
+ BUILD_FAILED="${buildDirectory}/buildFailed-program-error"
+ printf "\n\tPROGRAM ERROR: number of arguments, $actual, or number expected, $expected, was not provided as arguments.\n\n" >${BUILD_FAILED}
+ printf " Called from ${FUNCNAME[1]}, called from line number ${BASH_LINENO[1]} in ${BASH_SOURCE[2]}.\n\n" >>${BUILD_FAILED}
+ return 9
+ fi
+ # possible is used when there are optional arguments, corresponds to "max possible", then "expected" means "min possible"
+ possible=$3
+ #echo " DEBUG checkNArgs funcName[1]: ${FUNCNAME[1]}" >> ${TRACE_OUTPUT}
+ #echo " DEBUG checkNArgs bashSource[2]: ${BASH_SOURCE[2]}" >> ${TRACE_OUTPUT}
+ #echo " DEBUG checkNArgs bashLineNo[1]: ${BASH_LINENO[1]}" >> ${TRACE_OUTPUT}
+ if [[ -n "${possible}" ]]
+ then
+ # if 3 total arguments, make sure first is between 2 and 3rd args (inclusive)
+ #echo DEBUG: actual: $actual
+ #echo DEBUG: min expected: $expected
+ #echo DEBUG: max possible: $possible
+ #arg1=$(( $expected <= $actual ))
+ #arg2=$(( $actual <= $possible ))
+ #echo "DEBUG: expected <= actual $arg1"
+ #echo "DEBUG: actual <= possible $arg2"
+ if (( $expected <= $actual )) && (( $actual <= $possible ))
+ then
+ #echo DEBUG: return 0
+ return 0
+ else
+ BUILD_FAILED="${buildDirectory}/buildFailed-program-error"
+ printf "\n\tPROGRAM ERROR: number of arguments, $actual, was not betwen expected, $expected, and possible, $possible.\n" >${BUILD_FAILED}
+ printf " Called from ${FUNCNAME[1]}, called from line number ${BASH_LINENO[1]} in ${BASH_SOURCE[2]}.\n\n" >>${BUILD_FAILED}
+ #echo DEBUG: return 1
+ return 1
+ fi
+ elif [[ $actual != $expected ]]
+ then
+ # depends on buildDirectory being exported
+ BUILD_FAILED="${buildDirectory}/buildFailed-program-error"
+ printf "\n\tPROGRAM ERROR: expected $expected arguments but was passed $actual.\n" >${BUILD_FAILED}
+ printf " Called from ${FUNCNAME[1]}, called from line number ${BASH_LINENO[1]} in ${BASH_SOURCE[2]}.\n\n" >>${BUILD_FAILED}
+ return 1
+ else
+ return 0
+ fi
+}
+
+# general purpose utility for "hard exit" if return code not zero.
+# especially useful to call/check after basic things that should normally
+# easily succeeed.
+# usage:
+# checkForErrorExit $? "Failed to copy file (for example)"
+checkForErrorExit ()
+{
+ # arg 1 must be return code, $?
+ # arg 2 (remaining line) can be message to print before exiting do to non-zero exit code
+ exitCode=$1
+ shift
+ message="$*"
+ if [[ -z "${exitCode}" ]]
+ then
+ echo "PROGRAM ERROR: checkForErrorExit called with no arguments"
+ exit 1
+ fi
+
+ if [[ -z "${message}" ]]
+ then
+ echo "WARNING: checkForErrorExit called without message"
+ message="(Calling program provided no message)"
+ fi
+
+ # first make sure exit code is well formed
+ if [[ "${exitCode}" =~ [0] ]]
+ then
+ #echo "exitcode was zero"
+ exitrc=0
+ else
+ if [[ "${exitCode}" =~ ^-?[0-9]+$ ]]
+ then
+ #echo "exitcode was indeed a legal, non-zero numeric return code"
+ exitrc=$exitCode
+ else
+ #echo "exitode was not numeric, so will force to 1"
+ exitrc=1
+ fi
+ fi
+
+ if [[ $exitrc != 0 ]]
+ then
+ echo
+ echo " ERROR. exit code: ${exitrc}"
+ echo " ERROR. message: ${message}"
+ echo
+ exit $exitrc
+ fi
+}
+
+# A general purpose utility to check if variable is
+# undefinded or empty string and exit if so,
+# printing a useful diagnosic trace if variable was empty.
+# NOTE: only the variable NAME should be passed as argument,
+# note its value. Such as
+# assertNotEmpty BUILD_ID
+# not
+# assertNotEmpty $BUILD_ID
+assertNotEmpty ()
+{
+ VAR_NAME=$1
+
+ #echo "DEBUG: VAR_NAME: $VAR_NAME" >&2
+ #echo "DEBUG: \$VAR_NAME: ${!VAR_NAME}" >&2
+ if [[ -z "${!VAR_NAME}" ]]
+ then
+ printf "\n\tPROGRAM ERROR: %s\n" "${VAR_NAME} was unexpectedly empty or undefined."
+ printf "\t%s\n\n" "in ${FUNCNAME[1]}, called from line number ${BASH_LINENO[0]} in ${BASH_SOURCE[1]}."
+ exit 1
+ else
+ printf "\n\t%s:\t%s\n" "${VAR_NAME}" "${!VAR_NAME}"
+ fi
+
+}
+
diff --git a/production/bootstrapVariables.shsource b/production/bootstrapVariables.shsource
new file mode 100644
index 000000000..b58f31368
--- /dev/null
+++ b/production/bootstrapVariables.shsource
@@ -0,0 +1,134 @@
+#!/usr/bin/env bash
+# boot strap basic variable values, to drive Eclipse Platform builds.
+
+# we set RAWDATE first thing, just to make it more accurate of "start of build"
+if [[ -z "${RAWDATE}" ]]
+then
+ RAWDATE=$( date +%s )
+ export RAWDATE
+fi
+
+source "${SCRIPT_PATH}/bashUtilities.shsource"
+
+# USAGE: fn-git-cache BUILD_ROOT
+# ROOT: /shared/eclipse/builds/${major}${type}
+fn-git-cache ()
+{
+ # we (now) leave branch our of git-cache path, or else "topic branches", such as
+ # 'david_williams/II20130409-0900' complicates directory structure
+ checkNArgs $# 1
+ if [[ $? != 0 ]]; then return 1; fi
+ ROOT="$1"; shift
+ echo $ROOT/gitCache
+}
+# USAGE: fn-git-dir GIT_CACHE URL
+# GIT_CACHE: /shared/eclipse/builds/R4_2_maintenance/gitCache
+# URL: file:///gitroot/platform/eclipse.platform.releng.aggregator.git
+fn-git-dir ()
+{
+ checkNArgs $# 2
+ if [[ $? != 0 ]]; then return 1; fi
+ GIT_CACHE="$1"; shift
+ URL="$1"; shift
+ echo $GIT_CACHE/$( basename "$URL" .git )
+}
+
+
+# USAGE: fn-build-id BUILD_TYPE
+# BUILD_TYPE: I, M, N, X, Y, P
+
+fn-build-id ()
+{
+ checkNArgs $# 1
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_TYPE="$1"; shift
+ TIMESTAMP=$( date +%Y%m%d-%H%M --date='@'$RAWDATE )
+ echo ${BUILD_TYPE}${TIMESTAMP}
+}
+
+
+# USAGE: fn-build-dir ROOT BUILD_ID STREAM
+# ROOT: /shared/eclipse/builds
+# BUILD_ID: M20121119-1900
+# STREAM: 4.3.0
+fn-build-dir ()
+{
+ checkNArgs $# 3
+ if [[ $? != 0 ]]; then return 1; fi
+ ROOT="$1"; shift
+ BUILD_ID="$1"; shift
+ STREAM="$1"; shift
+ eclipseStreamMajor=${STREAM:0:1}
+ dropDirSegment=siteDir/eclipse/downloads/drops
+ if (( $eclipseStreamMajor > 3 ))
+ then
+ dropDirSegment=siteDir/eclipse/downloads/drops4
+ fi
+ echo $ROOT/$dropDirSegment/$BUILD_ID
+}
+
+
+ # if not defined "externally", we use default for eclipse.org
+ if [[ -z "${REPO_AND_ACCESS}" ]]
+ then
+ # unless we are on 'build' machine
+ if [[ "build" == "$(hostname)" ]]
+ then
+ export REPO_AND_ACCESS=file:///gitroot
+ else
+ export REPO_AND_ACCESS=git://git.eclipse.org/gitroot
+ fi
+ fi
+
+ if [[ -z "${AGGREGATOR_REPO}" ]]
+ then
+ export AGGREGATOR_REPO=${REPO_AND_ACCESS}/platform/eclipse.platform.releng.aggregator.git
+ fi
+
+ assertNotEmpty BUILD_ROOT
+ assertNotEmpty AGGREGATOR_REPO
+ assertNotEmpty BUILD_TYPE
+ assertNotEmpty STREAM
+
+ if [[ -z "${gitCache}" ]]
+ then
+ gitCache=$( fn-git-cache "${BUILD_ROOT}" )
+ assertNotEmpty gitCache
+ export gitCache
+ else
+ echo "gitCache was already defined as $gitCache"
+ fi
+
+ if [[ -z "${aggDir}" ]]
+ then
+ aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
+ assertNotEmpty aggDir
+ export aggDir
+ else
+ echo "aggDir was already defined as $aggDir"
+ fi
+
+ if [[ -z "${BUILD_ID}" ]]
+ then
+ BUILD_ID=$(fn-build-id "$BUILD_TYPE" )
+ assertNotEmpty BUILD_ID
+ export BUILD_ID
+ else
+ echo "BUILD_ID was already defined as $BUILD_ID"
+ fi
+
+ if [[ -z "${buildDirectory}" ]]
+ then
+ buildDirectory=$( fn-build-dir "$BUILD_ROOT" "$BUILD_ID" "$STREAM" )
+ assertNotEmpty buildDirectory
+ export buildDirectory
+ # this should be when we first create buildDirectory
+ echo "Making buildDirectory: ${buildDirectory}"
+ mkdir -p "${buildDirectory}"
+ # it appears GID bit is not always set correctly, so we'll do so explicitly
+ chmod -c g+s "${buildDirectory}"
+ else
+ echo "buildDirectory was already defined as $buildDirectory"
+ fi
+
+
diff --git a/production/build-functions.shsource b/production/build-functions.shsource
index 26d948d4e..f79846cf1 100755
--- a/production/build-functions.shsource
+++ b/production/build-functions.shsource
@@ -1,111 +1,10 @@
#!/usr/bin/env bash
-# this is not really to be executed, but sourced where needed
-
-# A general purpose utility to check number of arguments match
-# what was expected. Its purpose is to help bullet-proof these scripts
-# when future changes made.
-# Example: (such as in first line of a function)
-# checkNArgs $# 3
-checkNArgs ()
-{
- actual=$1
- expected=$2
- if [[ -z "$actual" || -z "$expected" ]]
- then
- BUILD_FAILED="${buildDirectory}/buildFailed-program-error"
- printf "\n\tPROGRAM ERROR: number of arguments, $actual, or number expected, $expected, was not provided as arguments.\n\n" >${BUILD_FAILED}
- printf " Called from ${FUNCNAME[1]}, called from line number ${BASH_LINENO[1]} in ${BASH_SOURCE[2]}.\n\n" >>${BUILD_FAILED}
- return 9
- fi
-# possible is used when there are optional arguments, corresponds to "max possible", then "expected" means "min possible"
- possible=$3
-#echo " DEBUG checkNArgs funcName[1]: ${FUNCNAME[1]}" >> ${TRACE_OUTPUT}
-#echo " DEBUG checkNArgs bashSource[2]: ${BASH_SOURCE[2]}" >> ${TRACE_OUTPUT}
-#echo " DEBUG checkNArgs bashLineNo[1]: ${BASH_LINENO[1]}" >> ${TRACE_OUTPUT}
- if [[ -n "${possible}" ]]
- then
-# if 3 total arguments, make sure first is between 2 and 3rd args (inclusive)
-#echo DEBUG: actual: $actual
-#echo DEBUG: min expected: $expected
-#echo DEBUG: max possible: $possible
-#arg1=$(( $expected <= $actual ))
-#arg2=$(( $actual <= $possible ))
-#echo "DEBUG: expected <= actual $arg1"
-#echo "DEBUG: actual <= possible $arg2"
- if (( $expected <= $actual )) && (( $actual <= $possible ))
- then
-#echo DEBUG: return 0
- return 0
- else
- BUILD_FAILED="${buildDirectory}/buildFailed-program-error"
- printf "\n\tPROGRAM ERROR: number of arguments, $actual, was not betwen expected, $expected, and possible, $possible.\n" >${BUILD_FAILED}
- printf " Called from ${FUNCNAME[1]}, called from line number ${BASH_LINENO[1]} in ${BASH_SOURCE[2]}.\n\n" >>${BUILD_FAILED}
-#echo DEBUG: return 1
- return 1
- fi
- elif [[ $actual != $expected ]]
- then
-# depends on buildDirectory being exported
- BUILD_FAILED="${buildDirectory}/buildFailed-program-error"
- printf "\n\tPROGRAM ERROR: expected $expected arguments but was passed $actual.\n" >${BUILD_FAILED}
- printf " Called from ${FUNCNAME[1]}, called from line number ${BASH_LINENO[1]} in ${BASH_SOURCE[2]}.\n\n" >>${BUILD_FAILED}
- return 1
- else
- return 0
- fi
-}
-
-# general purpose utility for "hard exit" if return code not zero.
-# especially useful to call/check after basic things that should normally
-# easily succeeed.
-# usage:
-# checkForErrorExit $? "Failed to copy file (for example)"
-checkForErrorExit ()
-{
-# arg 1 must be return code, $?
-# arg 2 (remaining line) can be message to print before exiting do to non-zero exit code
- exitCode=$1
- shift
- message="$*"
- if [[ -z "${exitCode}" ]]
- then
- echo "PROGRAM ERROR: checkForErrorExit called with no arguments"
- exit 1
- fi
-
- if [[ -z "${message}" ]]
- then
- echo "WARNING: checkForErrorExit called without message"
- message="(Calling program provided no message)"
- fi
-
-# first make sure exit code is well formed
- if [[ "${exitCode}" =~ [0] ]]
- then
-#echo "exitcode was zero"
- exitrc=0
- else
- if [[ "${exitCode}" =~ ^-?[0-9]+$ ]]
- then
-#echo "exitcode was indeed a legal, non-zero numeric return code"
- exitrc=$exitCode
- else
-#echo "exitode was not numeric, so will force to 1"
- exitrc=1
- fi
- fi
-
- if [[ $exitrc != 0 ]]
- then
- echo
- echo " ERROR. exit code: ${exitrc}"
- echo " ERROR. message: ${message}"
- echo
- exit $exitrc
- fi
-}
+# General purpose utilities related to git and similar,
+# to be sourced where needed
+source ${SCRIPT_PATH}/bashUtilities.shsource
+source ${SCRIPT_PATH}/bootstrapVariables.shsource
# USAGE: fn-git-clone URL [BRANCH [TARGET_DIR] ]
# URL: file:///gitroot/platform/eclipse.platform.releng.aggregator.git
@@ -114,19 +13,19 @@ checkForErrorExit ()
fn-git-clone ()
{
URL="$1"; shift
- if [ $# -gt 0 ]; then
- BRANCH_CMD="-b $1"; shift
- fi
- if [ $# -gt 0 ]; then
- TARGET_DIR="$1"; shift
- fi
-# We specify --shared so that the
-# directory has group write permissions, as well as g+sx,
-# which is mostly done for easier "cleanup" of directories, etc.,
-# by anyone in "eclipse.platform.releng" group, not just e4Build
-# owner id itself.
- echo git clone --recursive $BRANCH_CMD $URL $TARGET_DIR
- git clone --recursive $BRANCH_CMD $URL $TARGET_DIR
+ if [ $# -gt 0 ]; then
+ BRANCH_CMD="-b $1"; shift
+ fi
+ if [ $# -gt 0 ]; then
+ TARGET_DIR="$1"; shift
+ fi
+ # We specify --shared so that the
+ # directory has group write permissions, as well as g+sx,
+ # which is mostly done for easier "cleanup" of directories, etc.,
+ # by anyone in "eclipse.platform.releng" group, not just e4Build
+ # owner id itself.
+ echo git clone --recursive $BRANCH_CMD $URL $TARGET_DIR
+ git clone --recursive $BRANCH_CMD $URL $TARGET_DIR
}
# USAGE: fn-git-checkout BRANCH | TAG
@@ -134,131 +33,131 @@ fn-git-clone ()
fn-git-checkout ()
{
BRANCH="$1"; shift
-# always fetch before checkout, to be sure new
-# branches are in local repo (in case we are switching
-# to a new branch).
- echo git fetch current repo before checkout
- git fetch
+ # always fetch before checkout, to be sure new
+ # branches are in local repo (in case we are switching
+ # to a new branch).
+ echo git fetch current repo before checkout
+ git fetch
+ RC=$?
+ if [[ $RC != 0 ]]
+ then
+ echo "[ERROR] RC from git fetch: $RC"
+ else
+ echo git checkout "$BRANCH" --force
+ git checkout "$BRANCH" --force
RC=$?
if [[ $RC != 0 ]]
- then
- echo "[ERROR] RC from git fetch: $RC"
- else
- echo git checkout "$BRANCH" --force
- git checkout "$BRANCH" --force
- RC=$?
- if [[ $RC != 0 ]]
- then
- echo "[ERROR] RC from git checkout: $RC"
- fi
- fi
- return $RC
+ then
+ echo "[ERROR] RC from git checkout: $RC"
+ fi
+ fi
+ return $RC
}
# USAGE: fn-git-pull
fn-git-pull ()
{
echo git pull
- git pull
+ git pull
}
# USAGE: fn-git-submodule-update
fn-git-submodule-update ()
{
echo "git submodule init"
- git submodule init
- echo "git submodule update --recursive"
- git submodule update --recursive
+ git submodule init
+ echo "git submodule update --recursive"
+ git submodule update --recursive
}
# USAGE: fn-git-update-submodules
fn-git-update-submodules ()
{
echo git submodule update --init
- git submodule update --init
+ git submodule update --init
}
# USAGE: fn-git-clean
fn-git-clean ()
{
-# See bug 400657
+ # See bug 400657
echo git clean -f -d -x
- git clean -f -d -x
+ git clean -f -d -x
+ RC=$?
+ if [[ $RC != 0 ]]
+ then
+ echo "[ERROR] RC from git clean: $RC"
+ return $RC
+ else
+ # after initial clean, we'll also use git stash to clean up any temp commits
+ # and modified tracked files, which will also call clean under the covers, I believe,
+ # so may eventually want to do this first? (But, that may not allow the -x type cleanup).
+ git stash
RC=$?
if [[ $RC != 0 ]]
+ then
+ echo "[ERROR] RC from git stash: $RC"
+ return $RC
+ else
+ # we don't really want to save this stash in build directory
+ git stash clear
+ RC=$?
+ if [[ $RC != 0 ]]
then
- echo "[ERROR] RC from git clean: $RC"
+ echo "[ERROR] RC from git stash clear: $RC"
return $RC
- else
-# after initial clean, we'll also use git stash to clean up any temp commits
-# and modified tracked files, which will also call clean under the covers, I believe,
-# so may eventually want to do this first? (But, that may not allow the -x type cleanup).
- git stash
- RC=$?
- if [[ $RC != 0 ]]
- then
- echo "[ERROR] RC from git stash: $RC"
- return $RC
- else
-# we don't really want to save this stash in build directory
- git stash clear
- RC=$?
- if [[ $RC != 0 ]]
- then
- echo "[ERROR] RC from git stash clear: $RC"
- return $RC
- fi
- fi
- fi
- return 0
+ fi
+ fi
+ fi
+ return 0
}
# USAGE: fn-git-reset
fn-git-reset ()
{
echo git reset --hard $@
- git reset --hard $@
- RC=$?
- if [[ $RC != 0 ]]
- then
- echo "[ERROR] RC from git reset: $RC"
- fi
- return $RC
+ git reset --hard $@
+ RC=$?
+ if [[ $RC != 0 ]]
+ then
+ echo "[ERROR] RC from git reset: $RC"
+ fi
+ return $RC
}
# USAGE: fn-git-clean-submodules
fn-git-clean-submodules ()
{
-# See bug 400657
+ # See bug 400657
echo git submodule foreach git clean -f -d -x
- git submodule foreach git clean -f -d -x
+ git submodule foreach git clean -f -d -x
+ RC=$?
+ if [[ $RC != 0 ]]
+ then
+ echo "[ERROR] RC from submodule foreach git clean: $RC"
+ return $RC
+ else
+ # after initial clean, we'll also use git stash to clean up any temp commits
+ # and modified tracked files, which will also call clean under the covers, I believe,
+ # so may eventually want to do this first? (But, that may not allow the -x type cleanup).
+ git submodule foreach git stash
RC=$?
if [[ $RC != 0 ]]
+ then
+ echo "[ERROR] RC from git submodule stash: $RC"
+ return $RC
+ else
+ # we don't really want to save this stash in build directory
+ git submodule foreach git stash clear
+ RC=$?
+ if [[ $RC != 0 ]]
then
- echo "[ERROR] RC from submodule foreach git clean: $RC"
+ echo "[ERROR] RC from git submodule stash clear: $RC"
return $RC
- else
-# after initial clean, we'll also use git stash to clean up any temp commits
-# and modified tracked files, which will also call clean under the covers, I believe,
-# so may eventually want to do this first? (But, that may not allow the -x type cleanup).
- git submodule foreach git stash
- RC=$?
- if [[ $RC != 0 ]]
- then
- echo "[ERROR] RC from git submodule stash: $RC"
- return $RC
- else
-# we don't really want to save this stash in build directory
- git submodule foreach git stash clear
- RC=$?
- if [[ $RC != 0 ]]
- then
- echo "[ERROR] RC from git submodule stash clear: $RC"
- return $RC
- fi
- fi
- fi
- return 0
+ fi
+ fi
+ fi
+ return 0
}
@@ -266,25 +165,13 @@ fn-git-clean-submodules ()
fn-git-reset-submodules ()
{
echo git submodule foreach git reset --hard HEAD
- git submodule foreach git reset --hard HEAD
- RC=$?
- if [[ $RC != 0 ]]
- then
- echo "[ERROR] RC from submodule foreach git reset: $RC"
- fi
- return $RC
-}
-
-# USAGE: fn-build-id BUILD_TYPE
-# BUILD_TYPE: I, M, N, X, Y, P
-# TODO: depends on RAWDATE being exported/global
-fn-build-id ()
-{
- checkNArgs $# 1
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_TYPE="$1"; shift
- TIMESTAMP=$( date +%Y%m%d-%H%M --date='@'$RAWDATE )
- echo ${BUILD_TYPE}${TIMESTAMP}
+ git submodule foreach git reset --hard HEAD
+ RC=$?
+ if [[ $RC != 0 ]]
+ then
+ echo "[ERROR] RC from submodule foreach git reset: $RC"
+ fi
+ return $RC
}
# USAGE: fn-local-repo URL
@@ -292,16 +179,16 @@ fn-build-id ()
fn-local-repo ()
{
checkNArgs $# 1
- if [[ $? != 0 ]]; then return 1; fi
-# we assume REPO_AND_ACCESS is exported from calling scripts
- URL="$1"; shift
- TO_REPLACE='git://git.eclipse.org/gitroot'
- if [[ -n "${REPO_AND_ACCESS}" && "${REPO_AND_ACCESS}" != "${TO_REPLACE}" ]]
- then
- echo $URL | sed "s!${TO_REPLACE}!${REPO_AND_ACCESS}!g"
- else
- echo $URL
- fi
+ if [[ $? != 0 ]]; then return 1; fi
+ # we assume REPO_AND_ACCESS is exported from calling scripts
+ URL="$1"; shift
+ TO_REPLACE='git://git.eclipse.org/gitroot'
+ if [[ -n "${REPO_AND_ACCESS}" && "${REPO_AND_ACCESS}" != "${TO_REPLACE}" ]]
+ then
+ echo $URL | sed "s!${TO_REPLACE}!${REPO_AND_ACCESS}!g"
+ else
+ echo $URL
+ fi
}
# USAGE: fn-git-clone-aggregator GIT_CACHE URL BRANCH
@@ -311,19 +198,19 @@ fn-local-repo ()
fn-git-clone-aggregator ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- GIT_CACHE="$1"; shift
- URL="$1"; shift
- BRANCH="$1"; shift
- if [ ! -e "$GIT_CACHE" ]; then
- mkdir -p "$GIT_CACHE"
- fi
- pushd "$GIT_CACHE"
- fn-git-clone "$URL" "$BRANCH"
- popd
- pushd $(fn-git-dir "$GIT_CACHE" "$URL" )
- fn-git-submodule-update
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ GIT_CACHE="$1"; shift
+ URL="$1"; shift
+ BRANCH="$1"; shift
+ if [ ! -e "$GIT_CACHE" ]; then
+ mkdir -p "$GIT_CACHE"
+ fi
+ pushd "$GIT_CACHE"
+ fn-git-clone "$URL" "$BRANCH"
+ popd
+ pushd $(fn-git-dir "$GIT_CACHE" "$URL" )
+ fn-git-submodule-update
+ popd
}
# USAGE: fn-git-clean-aggregator AGGREGATOR_DIR BRANCH
@@ -332,39 +219,39 @@ fn-git-clone-aggregator ()
fn-git-clean-aggregator ()
{
checkNArgs $# 2
- if [[ $? != 0 ]]; then return 1; fi
- AGGREGATOR_DIR="$1"; shift
- BRANCH="$1"; shift
- pushd "$AGGREGATOR_DIR"
- fn-complete-status "Repo state status before any cleaning."
- fn-git-clean
+ if [[ $? != 0 ]]; then return 1; fi
+ AGGREGATOR_DIR="$1"; shift
+ BRANCH="$1"; shift
+ pushd "$AGGREGATOR_DIR"
+ fn-complete-status "Repo state status before any cleaning."
+ fn-git-clean
+ RC=$?
+ if [[ $RC == 0 ]]
+ then
+ fn-git-clean-submodules
+ RC=$?
+ if [[ $RC == 0 ]]
+ then
+ fn-complete-status "Repo state status after cleaning but before reset."
+ fn-git-reset-submodules
+ RC=$?
+ if [[ $RC == 0 ]]
+ then
+ fn-complete-status "Repo state status after submodules reset but before checkout."
+ fn-git-checkout "$BRANCH"
RC=$?
if [[ $RC == 0 ]]
- then
- fn-git-clean-submodules
- RC=$?
- if [[ $RC == 0 ]]
- then
- fn-complete-status "Repo state status after cleaning but before reset."
- fn-git-reset-submodules
- RC=$?
- if [[ $RC == 0 ]]
- then
- fn-complete-status "Repo state status after submodules reset but before checkout."
- fn-git-checkout "$BRANCH"
- RC=$?
- if [[ $RC == 0 ]]
- then
- fn-complete-status "Repo state status after checkout but final reset."
- fn-git-reset origin/$BRANCH
- RC=$?
- fn-complete-status "Repo state status after all cleanup in clean-aggregator."
- fi
- fi
- fi
- fi
- popd
- return $RC
+ then
+ fn-complete-status "Repo state status after checkout but final reset."
+ fn-git-reset origin/$BRANCH
+ RC=$?
+ fn-complete-status "Repo state status after all cleanup in clean-aggregator."
+ fi
+ fi
+ fi
+ fi
+ popd
+ return $RC
}
# USAGE: fn-git-clean-aggregator AGGREGATOR_DIR BRANCH
@@ -373,85 +260,39 @@ fn-git-clean-aggregator ()
fn-git-clean-aggregator2 ()
{
checkNArgs $# 2
- if [[ $? != 0 ]]; then return 1; fi
- AGGREGATOR_DIR="$1"; shift
- BRANCH="$1"; shift
- pushd "$AGGREGATOR_DIR"
- fn-complete-status "Repo state status before any cleaning."
- fn-git-clean
+ if [[ $? != 0 ]]; then return 1; fi
+ AGGREGATOR_DIR="$1"; shift
+ BRANCH="$1"; shift
+ pushd "$AGGREGATOR_DIR"
+ fn-complete-status "Repo state status before any cleaning."
+ fn-git-clean
+ RC=$?
+ if [[ $RC == 0 ]]
+ then
+ fn-git-clean-submodules
+ RC=$?
+ if [[ $RC == 0 ]]
+ then
+ fn-complete-status "Repo state status after clean but before checkout."
+ fn-git-checkout "$BRANCH"
+ RC=$?
+ if [[ $RC == 0 ]]
+ then
+ fn-complete-status "Repo state status after checkout but before reset."
+ fn-git-reset origin/$BRANCH
RC=$?
if [[ $RC == 0 ]]
- then
- fn-git-clean-submodules
- RC=$?
- if [[ $RC == 0 ]]
- then
- fn-complete-status "Repo state status after clean but before checkout."
- fn-git-checkout "$BRANCH"
- RC=$?
- if [[ $RC == 0 ]]
- then
- fn-complete-status "Repo state status after checkout but before reset."
- fn-git-reset origin/$BRANCH
- RC=$?
- if [[ $RC == 0 ]]
- then
- fn-complete-status "Repo state status after reset but before forced update."
- fn-git-update-submodules
- RC=$?
- fn-complete-status "Repo state status after all cleanup and init in clean-aggregator."
- fi
- fi
- fi
- fi
- popd
- return $RC
-}
-
-# USAGE: fn-git-cache ROOT BRANCH
-# ROOT: /shared/eclipse/builds
-# BRANCH: R4_2_maintenance
-fn-git-cache ()
-{
-# we (now) leave branch our of git-cache path, or else "topic branches", such as
-# 'david_williams/II20130409-0900' complicates directory structure
- checkNArgs $# 2
- if [[ $? != 0 ]]; then return 1; fi
- ROOT="$1"; shift
- BRANCH="$1"; shift
- echo $ROOT/gitCache
-}
-
-# USAGE: fn-git-dir GIT_CACHE URL
-# GIT_CACHE: /shared/eclipse/builds/R4_2_maintenance/gitCache
-# URL: file:///gitroot/platform/eclipse.platform.releng.aggregator.git
-fn-git-dir ()
-{
- checkNArgs $# 2
- if [[ $? != 0 ]]; then return 1; fi
- GIT_CACHE="$1"; shift
- URL="$1"; shift
- echo $GIT_CACHE/$( basename "$URL" .git )
-}
-
-# USAGE: fn-build-dir ROOT BUILD_ID STREAM
-# ROOT: /shared/eclipse/builds
-# BUILD_ID: M20121119-1900
-# STREAM: 4.3.0
-fn-build-dir ()
-{
- checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- ROOT="$1"; shift
- BUILD_ID="$1"; shift
- STREAM="$1"; shift
- eclipseStreamMajor=${STREAM:0:1}
- dropDirSegment=siteDir/eclipse/downloads/drops
- if (( $eclipseStreamMajor > 3 ))
- then
- dropDirSegment=siteDir/eclipse/downloads/drops4
+ then
+ fn-complete-status "Repo state status after reset but before forced update."
+ fn-git-update-submodules
+ RC=$?
+ fn-complete-status "Repo state status after all cleanup and init in clean-aggregator."
fi
- echo $ROOT/$dropDirSegment/$BUILD_ID
+ fi
+ fi
+ fi
+ popd
+ return $RC
}
# USAGE: fn-basebuilder-dir ROOT BUILD_ID STREAM
@@ -461,12 +302,12 @@ fn-build-dir ()
fn-basebuilder-dir ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- ROOT="$1"; shift
- BUILD_ID="$1"; shift
- STREAM="$1"; shift
- buildDirectory=$( fn-build-dir "$ROOT" "$BUILD_ID" "$STREAM" )
- echo $buildDirectory/org.eclipse.releng.basebuilder
+ if [[ $? != 0 ]]; then return 1; fi
+ ROOT="$1"; shift
+ BUILD_ID="$1"; shift
+ STREAM="$1"; shift
+ buildDirectory=$( fn-build-dir "$ROOT" "$BUILD_ID" "$STREAM" )
+ echo $buildDirectory/org.eclipse.releng.basebuilder
}
@@ -480,74 +321,74 @@ fn-basebuilder-dir ()
fn-maven-build-aggregator ()
{
checkNArgs $# 7
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- LOCAL_REPO="$1"; shift
- DEBUG=$1; shift
- QUIET=$1; shift
- SIGNING=$1; shift
- MAVEN_BREE=$1; shift
-
- MARGS="-DbuildId=$BUILD_ID"
- if $DEBUG; then
- MARGS="$MARGS -X"
- fi
- if $QUIET; then
- MARGS="$MARGS -q"
- fi
- if $SIGNING; then
- MARGS="$MARGS -Peclipse-sign"
- fi
- if [[ -n "${PATCH_BUILD}" ]]; then
- MARGS="$MARGS -PpatchBuild"
- fi
-
- MARGS="$MARGS ${MAVEN_BREE}"
-
-# Here we count on $BUILD_TYPE being exported. TODO: make parameter later?
- if [[ -n "$BUILD_TYPE" && "$BUILD_TYPE" == "N" ]]
- then
- FORCEQUALIFIERARG="-DforceContextQualifier=${BUILD_ID}"
- else
-# just for safety, make sure unset
- FORCEQUALIFIERARG=
- fi
-
- echo "DEBUG: Variables in $0"
- echo "DEBUG: BUILD_ID: $BUILD_ID"
- echo "DEBUG: REPO_DIR: $REPO_DIR"
- echo "DEBUG: LOCAL_REPO: $LOCAL_REPO"
- echo "DEBUG: DEBUG: $DEBUG"
- echo "DEBUG: QUIET: $QUIET"
- echo ""
- echo "DEBUG: CBI_JDT_REPO_URL: $CBI_JDT_REPO_URL"
- echo "DEBUG: CBI_JDT_VERSION: $CBI_JDT_VERSION"
- echo ""
- echo "DEBUG: SIGNING: $SIGNING"
- echo "DEBUG: MAVEN_BREE: $MAVEN_BREE"
- echo "DEBUG: MARGS: $MARGS"
- echo "DEBUG: FORCEQUALIFIERARG: $FORCEQUALIFIERARG"
-
-
-
-# -fail-at-end gives chance for bundles to compile, even after
-# a compile error. Might have to specify --fail-never to see them all? See
-# http://www.sonatype.com/books/mvnref-book/reference/running-sect-options.html#running-sect-failure-option
- pushd "$REPO_DIR"
-#mvn $MARGS --fail-never -V \
-#mvn $MARGS --fail-at-end -V \
-#mvn $MARGS -V \
- mvn $MARGS --fail-at-end -V ${ALT_POM_FILE} \
- clean verify \
- -DskipTests=true \
- -Dmaven.repo.local=$LOCAL_REPO $CBI_JDT_REPO_URL_ARG $CBI_JDT_VERSION_ARG \
- -Dtycho.debug.artifactcomparator \
- -DcontinueOnFail=true -Djgit.dirtyWorkingTree=error \
- -DbuildTimestamp="${TIMESTAMP}" -DbuildType="${BUILD_TYPE}" -DbuildId="${BUILD_ID}" ${FORCEQUALIFIERARG} ${JAVA_DOC_TOOL}
- rc=$?
- popd
- return $rc
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ LOCAL_REPO="$1"; shift
+ DEBUG=$1; shift
+ QUIET=$1; shift
+ SIGNING=$1; shift
+ MAVEN_BREE=$1; shift
+
+ MARGS="-DbuildId=$BUILD_ID"
+ if $DEBUG; then
+ MARGS="$MARGS -X"
+ fi
+ if $QUIET; then
+ MARGS="$MARGS -q"
+ fi
+ if $SIGNING; then
+ MARGS="$MARGS -Peclipse-sign"
+ fi
+ if [[ -n "${PATCH_BUILD}" ]]; then
+ MARGS="$MARGS -PpatchBuild"
+ fi
+
+ MARGS="$MARGS ${MAVEN_BREE}"
+
+ # Here we count on $BUILD_TYPE being exported. TODO: make parameter later?
+ if [[ -n "$BUILD_TYPE" && "$BUILD_TYPE" == "N" ]]
+ then
+ FORCEQUALIFIERARG="-DforceContextQualifier=${BUILD_ID}"
+ else
+ # just for safety, make sure unset
+ FORCEQUALIFIERARG=
+ fi
+
+ echo "DEBUG: Variables in $0"
+ echo "DEBUG: BUILD_ID: $BUILD_ID"
+ echo "DEBUG: REPO_DIR: $REPO_DIR"
+ echo "DEBUG: LOCAL_REPO: $LOCAL_REPO"
+ echo "DEBUG: DEBUG: $DEBUG"
+ echo "DEBUG: QUIET: $QUIET"
+ echo ""
+ echo "DEBUG: CBI_JDT_REPO_URL: $CBI_JDT_REPO_URL"
+ echo "DEBUG: CBI_JDT_VERSION: $CBI_JDT_VERSION"
+ echo ""
+ echo "DEBUG: SIGNING: $SIGNING"
+ echo "DEBUG: MAVEN_BREE: $MAVEN_BREE"
+ echo "DEBUG: MARGS: $MARGS"
+ echo "DEBUG: FORCEQUALIFIERARG: $FORCEQUALIFIERARG"
+
+
+
+ # -fail-at-end gives chance for bundles to compile, even after
+ # a compile error. Might have to specify --fail-never to see them all? See
+ # http://www.sonatype.com/books/mvnref-book/reference/running-sect-options.html#running-sect-failure-option
+ pushd "$REPO_DIR"
+ #mvn $MARGS --fail-never -V \
+ #mvn $MARGS --fail-at-end -V \
+ #mvn $MARGS -V \
+ mvn $MARGS --fail-at-end -V ${ALT_POM_FILE} \
+ clean verify \
+ -DskipTests=true \
+ -Dmaven.repo.local=$LOCAL_REPO $CBI_JDT_REPO_URL_ARG $CBI_JDT_VERSION_ARG \
+ -Dtycho.debug.artifactcomparator \
+ -DcontinueOnFail=true -Djgit.dirtyWorkingTree=error \
+ -DbuildTimestamp="${TIMESTAMP}" -DbuildType="${BUILD_TYPE}" -DbuildId="${BUILD_ID}" ${FORCEQUALIFIERARG} ${JAVA_DOC_TOOL}
+ rc=$?
+ popd
+ return $rc
}
# USAGE: fn-submodule-checkout BUILD_ID REPO_DIR REPOSITORIES_TXT
@@ -558,29 +399,29 @@ fn-maven-build-aggregator ()
fn-submodule-checkout ()
{
checkNArgs $# 4
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- SCRIPT="$1"; shift
- REPOSITORIES_TXT="$1"; shift
- pushd "$REPO_DIR"
- git submodule foreach "/bin/bash $SCRIPT $REPOSITORIES_TXT \$name"
- uninit=$( git submodule | grep "^-" | cut -f2 -d" " | sort -u )
- if [ ! -z "$uninit" ]; then
- echo Some modules are not initialized: $uninit
- return
- fi
- conflict=$( git submodule | grep "^U" | cut -f2 -d" " | sort -u )
- if [ ! -z "$conflict" ]; then
- echo Some modules have conflicts: $conflict
- return
- fi
- adds=$( git submodule | grep "^+" | cut -f2 -d" " )
- if [ -z "$adds" ]; then
- echo No updates for the submodules
- return
- fi
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ SCRIPT="$1"; shift
+ REPOSITORIES_TXT="$1"; shift
+ pushd "$REPO_DIR"
+ git submodule foreach "/bin/bash $SCRIPT $REPOSITORIES_TXT \$name"
+ uninit=$( git submodule | grep "^-" | cut -f2 -d" " | sort -u )
+ if [ ! -z "$uninit" ]; then
+ echo Some modules are not initialized: $uninit
+ return
+ fi
+ conflict=$( git submodule | grep "^U" | cut -f2 -d" " | sort -u )
+ if [ ! -z "$conflict" ]; then
+ echo Some modules have conflicts: $conflict
+ return
+ fi
+ adds=$( git submodule | grep "^+" | cut -f2 -d" " )
+ if [ -z "$adds" ]; then
+ echo No updates for the submodules
+ return
+ fi
+ popd
}
# USAGE: fn-add-submodule-updates REPO_DIR
@@ -588,17 +429,17 @@ fn-submodule-checkout ()
fn-add-submodule-updates ()
{
checkNArgs $# 1
- if [[ $? != 0 ]]; then return 1; fi
- REPO_DIR="$1"; shift
- pushd "$REPO_DIR"
- adds=$( git submodule | grep "^+" | cut -f2 -d" " )
- if [ -z "$adds" ]; then
- echo No updates for the submodules
- return
- fi
- echo git add $adds
- git add $adds
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ REPO_DIR="$1"; shift
+ pushd "$REPO_DIR"
+ adds=$( git submodule | grep "^+" | cut -f2 -d" " )
+ if [ -z "$adds" ]; then
+ echo No updates for the submodules
+ return
+ fi
+ echo git add $adds
+ git add $adds
+ popd
}
# USAGE: fn-tag-build-inputs BUILD_ID REPO_DIR REPOSITORIES_TXT
@@ -608,15 +449,15 @@ fn-add-submodule-updates ()
fn-tag-build-inputs ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- REPOSITORIES_TXT="$1"; shift
- pushd "$REPO_DIR"
- git submodule foreach "if grep \"^\${name}:\" $REPOSITORIES_TXT >/dev/null; then git tag $BUILD_ID; $GIT_PUSH --verbose origin $BUILD_ID; else echo Skipping \$name; fi"
- git tag $BUILD_ID
- $GIT_PUSH --verbose origin $BUILD_ID
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ REPOSITORIES_TXT="$1"; shift
+ pushd "$REPO_DIR"
+ git submodule foreach "if grep \"^\${name}:\" $REPOSITORIES_TXT >/dev/null; then git tag $BUILD_ID; $GIT_PUSH --verbose origin $BUILD_ID; else echo Skipping \$name; fi"
+ git tag $BUILD_ID
+ $GIT_PUSH --verbose origin $BUILD_ID
+ popd
}
# USAGE: fn-pom-version-updater REPO_DIR LOCAL_REPO DEBUG QUIET
@@ -627,55 +468,55 @@ fn-pom-version-updater ()
{
checkNArgs $# 4
- if [[ $? != 0 ]]; then return 1; fi
- REPO_DIR="$1"; shift
- LOCAL_REPO="$1"; shift
- DEBUG=$1; shift
- QUIET=$1; shift
-
- MARGS=""
- if $DEBUG; then
- MARGS="$MARGS -X"
- fi
- if $QUIET; then
- MARGS="$MARGS -q"
- fi
- if [[ -n "${PATCH_BUILD}" ]]; then
- MARGS="$MARGS -PpatchBuild"
- fi
- echo "DEBUG: Variables in $0"
- echo "DEBUG: PATCH_BUILD: $PATCH_BUILD"
- echo "DEBUG: REPO_DIR: $REPO_DIR"
- echo "DEBUG: LOCAL_REPO: $LOCAL_REPO"
- echo "DEBUG: DEBUG: $DEBUG"
- echo "DEBUG: QUIET: $QUIET"
- echo "DEBUG: MARGS: $MARGS"
-# fail fast if not set up correctly
- rc=$(fn-check-dir-exists TMP_DIR)
- checkForErrorExit "$rc" "$rc"
-
- report=${TMP_DIR}/pom_${BUILD_ID}.txt
- pushd "$REPO_DIR"
- mvn $MARGS ${ALT_POM_FILE} \
- org.eclipse.tycho:tycho-versions-plugin:0.20.0:update-pom \
- -Dmaven.repo.local=$LOCAL_REPO \
- -DbuildTimestamp="${TIMESTAMP}" -DbuildType="${BUILD_TYPE}" -DbuildId="${BUILD_ID}"
- RC=$?
- if [[ $RC != 0 ]]
- then
- echo "ERROR: tycho-versions-plugin:update-pom returned non-zero return code: $RC" >&2
- else
- changes=$( git status --short -uno | cut -c4- )
- if [ -z "$changes" ]; then
- echo "INFO: No changes in pom versions" >&2
- RC=0
- else
- echo "INFO: Changes in pom versions: $changes" >&2
- RC=0
- fi
- fi
- popd
- return $RC
+ if [[ $? != 0 ]]; then return 1; fi
+ REPO_DIR="$1"; shift
+ LOCAL_REPO="$1"; shift
+ DEBUG=$1; shift
+ QUIET=$1; shift
+
+ MARGS=""
+ if $DEBUG; then
+ MARGS="$MARGS -X"
+ fi
+ if $QUIET; then
+ MARGS="$MARGS -q"
+ fi
+ if [[ -n "${PATCH_BUILD}" ]]; then
+ MARGS="$MARGS -PpatchBuild"
+ fi
+ echo "DEBUG: Variables in $0"
+ echo "DEBUG: PATCH_BUILD: $PATCH_BUILD"
+ echo "DEBUG: REPO_DIR: $REPO_DIR"
+ echo "DEBUG: LOCAL_REPO: $LOCAL_REPO"
+ echo "DEBUG: DEBUG: $DEBUG"
+ echo "DEBUG: QUIET: $QUIET"
+ echo "DEBUG: MARGS: $MARGS"
+ # fail fast if not set up correctly
+ rc=$(fn-check-dir-exists TMP_DIR)
+ checkForErrorExit "$rc" "$rc"
+
+ report=${TMP_DIR}/pom_${BUILD_ID}.txt
+ pushd "$REPO_DIR"
+ mvn $MARGS ${ALT_POM_FILE} \
+ org.eclipse.tycho:tycho-versions-plugin:0.20.0:update-pom \
+ -Dmaven.repo.local=$LOCAL_REPO \
+ -DbuildTimestamp="${TIMESTAMP}" -DbuildType="${BUILD_TYPE}" -DbuildId="${BUILD_ID}"
+ RC=$?
+ if [[ $RC != 0 ]]
+ then
+ echo "ERROR: tycho-versions-plugin:update-pom returned non-zero return code: $RC" >&2
+ else
+ changes=$( git status --short -uno | cut -c4- )
+ if [ -z "$changes" ]; then
+ echo "INFO: No changes in pom versions" >&2
+ RC=0
+ else
+ echo "INFO: Changes in pom versions: $changes" >&2
+ RC=0
+ fi
+ fi
+ popd
+ return $RC
}
# USAGE: fn-pom-version-update-with-commit BUILD_ID REPO_DIR LOCAL_REPO
@@ -688,46 +529,46 @@ fn-pom-version-update-with-commit ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- LOCAL_REPO="$1"; shift
-
-# fail fast if not set up correctly
- rc=$(fn-check-dir-exists TMP_DIR)
- checkForErrorExit "$rc" "$rc"
-
- report=${TMP_DIR}/pom_${BUILD_ID}.txt
- MARGS="-DbuildId=$BUILD_ID"
- if [[ -n "${PATCH_BUILD}" ]]; then
- MARGS="$MARGS -PpatchBuild"
- fi
- pushd "$REPO_DIR"
- mvn $MARGS ${ALT_POM_FILE} \
- org.eclipse.tycho:tycho-versions-plugin:0.20.0:update-pom \
- -Dmaven.repo.local=$LOCAL_REPO \
- -DbuildTimestamp="${TIMESTAMP}" -DbuildType="${BUILD_TYPE}" -DbuildId="${BUILD_ID}"
- changes=$( git status --short -uno | cut -c4- )
- if [ -z "$changes" ]; then
- echo No changes in pom versions
- return
- fi
- repos=$( git status --short -uno | cut -c4- | grep -v pom.xml )
- for CURRENT_REPO in $repos; do
- pushd "$CURRENT_REPO"
- pom_only=$( git status --short -uno | grep -v pom.xml | wc -l )
- if [[ pom_only == 0 ]]; then
- git add $( git status --short -uno | cut -c4- )
- git commit -m "Update pom versions for build $BUILD_ID"
- echo $GIT_PUSH origin HEAD
- else
- echo Unable to update poms for $CURRENT_REPO
- fi
- popd
- done
- echo git add $changes
- git add $changes
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ LOCAL_REPO="$1"; shift
+
+ # fail fast if not set up correctly
+ rc=$(fn-check-dir-exists TMP_DIR)
+ checkForErrorExit "$rc" "$rc"
+
+ report=${TMP_DIR}/pom_${BUILD_ID}.txt
+ MARGS="-DbuildId=$BUILD_ID"
+ if [[ -n "${PATCH_BUILD}" ]]; then
+ MARGS="$MARGS -PpatchBuild"
+ fi
+ pushd "$REPO_DIR"
+ mvn $MARGS ${ALT_POM_FILE} \
+ org.eclipse.tycho:tycho-versions-plugin:0.20.0:update-pom \
+ -Dmaven.repo.local=$LOCAL_REPO \
+ -DbuildTimestamp="${TIMESTAMP}" -DbuildType="${BUILD_TYPE}" -DbuildId="${BUILD_ID}"
+ changes=$( git status --short -uno | cut -c4- )
+ if [ -z "$changes" ]; then
+ echo No changes in pom versions
+ return
+ fi
+ repos=$( git status --short -uno | cut -c4- | grep -v pom.xml )
+ for CURRENT_REPO in $repos; do
+ pushd "$CURRENT_REPO"
+ pom_only=$( git status --short -uno | grep -v pom.xml | wc -l )
+ if [[ pom_only == 0 ]]; then
+ git add $( git status --short -uno | cut -c4- )
+ git commit -m "Update pom versions for build $BUILD_ID"
+ echo $GIT_PUSH origin HEAD
+ else
+ echo Unable to update poms for $CURRENT_REPO
+ fi
+ popd
+ done
+ echo git add $changes
+ git add $changes
+ popd
}
# USAGE: fn-gather-repo BUILD_ID REPO_DIR BUILD_DIR
@@ -737,30 +578,30 @@ fn-pom-version-update-with-commit ()
fn-gather-repo ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- BUILD_DIR="$1"; shift
- if [[ -n "${PATCH_BUILD}" ]]
- then
- ORIG_PATH=eclipse.platform.releng.tychoeclipsebuilder/${PATCH_BUILD}/eclipse.releng.repository.${PATCH_BUILD}/target/site
- TARGET_PATH=eclipse.platform.releng.tychoeclipsebuilder/${PATCH_BUILD}/eclipse.releng.repository.${PATCH_BUILD}/target/repository
- ORIG_DIR_REPOSITORY=$REPO_DIR/${ORIG_PATH}
- REPO_DIR_REPOSITORY=$REPO_DIR/${TARGET_PATH}
- mv ${ORIG_DIR_REPOSITORY} ${REPO_DIR_REPOSITORY}
-
- else
- TARGET_PATH=eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/target/repository
- REPO_DIR_REPOSITORY=$REPO_DIR/$TAGET_PATH
- fi
- if [[ -d "$REPO_DIR_REPOSITORY" ]]
- then
- pushd "$REPO_DIR"
- cp -r ${TARGET_PATH} $BUILD_DIR
- popd
- else
- echo " ERROR: $REPO_DIR_REPOSITORY did not exist in fn-gather-repo"
- fi
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ if [[ -n "${PATCH_BUILD}" ]]
+ then
+ ORIG_PATH=eclipse.platform.releng.tychoeclipsebuilder/${PATCH_BUILD}/eclipse.releng.repository.${PATCH_BUILD}/target/site
+ TARGET_PATH=eclipse.platform.releng.tychoeclipsebuilder/${PATCH_BUILD}/eclipse.releng.repository.${PATCH_BUILD}/target/repository
+ ORIG_DIR_REPOSITORY=$REPO_DIR/${ORIG_PATH}
+ REPO_DIR_REPOSITORY=$REPO_DIR/${TARGET_PATH}
+ mv ${ORIG_DIR_REPOSITORY} ${REPO_DIR_REPOSITORY}
+
+ else
+ TARGET_PATH=eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/target/repository
+ REPO_DIR_REPOSITORY=$REPO_DIR/$TAGET_PATH
+ fi
+ if [[ -d "$REPO_DIR_REPOSITORY" ]]
+ then
+ pushd "$REPO_DIR"
+ cp -r ${TARGET_PATH} $BUILD_DIR
+ popd
+ else
+ echo " ERROR: $REPO_DIR_REPOSITORY did not exist in fn-gather-repo"
+ fi
}
@@ -772,35 +613,35 @@ fn-gather-repo ()
fn-gather-sdk ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- BUILD_DIR="$1"; shift
- TARGET_PRODUCTS="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/sdk/target/products
- if [[ -d "$TARGET_PRODUCTS" ]]
- then
- pushd "$TARGET_PRODUCTS"
- cp org.eclipse.sdk.ide-aix.gtk.ppc64.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-aix-gtk-ppc64.zip
- cp org.eclipse.sdk.ide-aix.gtk.ppc.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-aix-gtk-ppc.zip
- cp org.eclipse.sdk.ide-hpux.gtk.ia64.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-hpux-gtk-ia64.zip
- cp org.eclipse.sdk.ide-linux.gtk.ppc.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-ppc.tar.gz
- cp org.eclipse.sdk.ide-linux.gtk.ppc64.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-ppc64.tar.gz
- cp org.eclipse.sdk.ide-linux.gtk.s390.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-s390.tar.gz
- cp org.eclipse.sdk.ide-linux.gtk.s390x.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-s390x.tar.gz
- cp org.eclipse.sdk.ide-linux.gtk.x86_64.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-x86_64.tar.gz
- cp org.eclipse.sdk.ide-linux.gtk.x86.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk.tar.gz
-#cp org.eclipse.sdk.ide-macosx.cocoa.x86_64.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-macosx-cocoa-x86_64.tar.gz
- tar cfz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-macosx-cocoa-x86_64.tar.gz -C org.eclipse.sdk.ide/macosx/cocoa/x86_64 eclipse
-#cp org.eclipse.sdk.ide-macosx.cocoa.x86.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-macosx-cocoa.tar.gz
- tar cfz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-macosx-cocoa.tar.gz -C org.eclipse.sdk.ide/macosx/cocoa/x86 eclipse
- cp org.eclipse.sdk.ide-solaris.gtk.sparc.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-solaris-gtk.zip
- cp org.eclipse.sdk.ide-solaris.gtk.x86.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-solaris-gtk-x86.zip
- cp org.eclipse.sdk.ide-win32.win32.x86_64.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-win32-x86_64.zip
- cp org.eclipse.sdk.ide-win32.win32.x86.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-win32.zip
- popd
- else
- echo " ERROR: $TARGET_PRODUCTS did not exist in fn-gather-sdks"
- fi
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ TARGET_PRODUCTS="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/sdk/target/products
+ if [[ -d "$TARGET_PRODUCTS" ]]
+ then
+ pushd "$TARGET_PRODUCTS"
+ cp org.eclipse.sdk.ide-aix.gtk.ppc64.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-aix-gtk-ppc64.zip
+ cp org.eclipse.sdk.ide-aix.gtk.ppc.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-aix-gtk-ppc.zip
+ cp org.eclipse.sdk.ide-hpux.gtk.ia64.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-hpux-gtk-ia64.zip
+ cp org.eclipse.sdk.ide-linux.gtk.ppc.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-ppc.tar.gz
+ cp org.eclipse.sdk.ide-linux.gtk.ppc64.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-ppc64.tar.gz
+ cp org.eclipse.sdk.ide-linux.gtk.s390.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-s390.tar.gz
+ cp org.eclipse.sdk.ide-linux.gtk.s390x.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-s390x.tar.gz
+ cp org.eclipse.sdk.ide-linux.gtk.x86_64.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk-x86_64.tar.gz
+ cp org.eclipse.sdk.ide-linux.gtk.x86.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-linux-gtk.tar.gz
+ #cp org.eclipse.sdk.ide-macosx.cocoa.x86_64.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-macosx-cocoa-x86_64.tar.gz
+ tar cfz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-macosx-cocoa-x86_64.tar.gz -C org.eclipse.sdk.ide/macosx/cocoa/x86_64 eclipse
+ #cp org.eclipse.sdk.ide-macosx.cocoa.x86.tar.gz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-macosx-cocoa.tar.gz
+ tar cfz "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-macosx-cocoa.tar.gz -C org.eclipse.sdk.ide/macosx/cocoa/x86 eclipse
+ cp org.eclipse.sdk.ide-solaris.gtk.sparc.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-solaris-gtk.zip
+ cp org.eclipse.sdk.ide-solaris.gtk.x86.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-solaris-gtk-x86.zip
+ cp org.eclipse.sdk.ide-win32.win32.x86_64.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-win32-x86_64.zip
+ cp org.eclipse.sdk.ide-win32.win32.x86.zip "$BUILD_DIR"/eclipse-SDK-${BUILD_ID}-win32.zip
+ popd
+ else
+ echo " ERROR: $TARGET_PRODUCTS did not exist in fn-gather-sdks"
+ fi
}
# USAGE: fn-gather-platform BUILD_ID REPO_DIR BUILD_DIR
@@ -810,35 +651,35 @@ fn-gather-sdk ()
fn-gather-platform ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- BUILD_DIR="$1"; shift
- TARGET_PRODUCTS="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/platform/target/products
- if [[ -d "$TARGET_PRODUCTS" ]]
- then
- pushd "$TARGET_PRODUCTS"
- cp org.eclipse.platform.ide-aix.gtk.ppc64.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-aix-gtk-ppc64.zip
- cp org.eclipse.platform.ide-aix.gtk.ppc.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-aix-gtk-ppc.zip
- cp org.eclipse.platform.ide-hpux.gtk.ia64.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-hpux-gtk-ia64.zip
- cp org.eclipse.platform.ide-linux.gtk.ppc.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-ppc.tar.gz
- cp org.eclipse.platform.ide-linux.gtk.ppc64.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-ppc64.tar.gz
- cp org.eclipse.platform.ide-linux.gtk.s390.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-s390.tar.gz
- cp org.eclipse.platform.ide-linux.gtk.s390x.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-s390x.tar.gz
- cp org.eclipse.platform.ide-linux.gtk.x86_64.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-x86_64.tar.gz
- cp org.eclipse.platform.ide-linux.gtk.x86.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk.tar.gz
-#cp org.eclipse.platform.ide-macosx.cocoa.x86_64.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-macosx-cocoa-x86_64.tar.gz
- tar cfz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-macosx-cocoa-x86_64.tar.gz -C org.eclipse.platform.ide/macosx/cocoa/x86_64 eclipse
-#cp org.eclipse.platform.ide-macosx.cocoa.x86.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-macosx-cocoa.tar.gz
- tar cfz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-macosx-cocoa.tar.gz -C org.eclipse.platform.ide/macosx/cocoa/x86 eclipse
- cp org.eclipse.platform.ide-solaris.gtk.sparc.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-solaris-gtk.zip
- cp org.eclipse.platform.ide-solaris.gtk.x86.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-solaris-gtk-x86.zip
- cp org.eclipse.platform.ide-win32.win32.x86_64.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-win32-x86_64.zip
- cp org.eclipse.platform.ide-win32.win32.x86.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-win32.zip
- popd
- else
- echo " ERROR: $TARGET_PRODUCTS did not exist in fn-gather-platform"
- fi
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ TARGET_PRODUCTS="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/platform/target/products
+ if [[ -d "$TARGET_PRODUCTS" ]]
+ then
+ pushd "$TARGET_PRODUCTS"
+ cp org.eclipse.platform.ide-aix.gtk.ppc64.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-aix-gtk-ppc64.zip
+ cp org.eclipse.platform.ide-aix.gtk.ppc.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-aix-gtk-ppc.zip
+ cp org.eclipse.platform.ide-hpux.gtk.ia64.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-hpux-gtk-ia64.zip
+ cp org.eclipse.platform.ide-linux.gtk.ppc.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-ppc.tar.gz
+ cp org.eclipse.platform.ide-linux.gtk.ppc64.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-ppc64.tar.gz
+ cp org.eclipse.platform.ide-linux.gtk.s390.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-s390.tar.gz
+ cp org.eclipse.platform.ide-linux.gtk.s390x.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-s390x.tar.gz
+ cp org.eclipse.platform.ide-linux.gtk.x86_64.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk-x86_64.tar.gz
+ cp org.eclipse.platform.ide-linux.gtk.x86.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-linux-gtk.tar.gz
+ #cp org.eclipse.platform.ide-macosx.cocoa.x86_64.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-macosx-cocoa-x86_64.tar.gz
+ tar cfz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-macosx-cocoa-x86_64.tar.gz -C org.eclipse.platform.ide/macosx/cocoa/x86_64 eclipse
+ #cp org.eclipse.platform.ide-macosx.cocoa.x86.tar.gz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-macosx-cocoa.tar.gz
+ tar cfz "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-macosx-cocoa.tar.gz -C org.eclipse.platform.ide/macosx/cocoa/x86 eclipse
+ cp org.eclipse.platform.ide-solaris.gtk.sparc.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-solaris-gtk.zip
+ cp org.eclipse.platform.ide-solaris.gtk.x86.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-solaris-gtk-x86.zip
+ cp org.eclipse.platform.ide-win32.win32.x86_64.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-win32-x86_64.zip
+ cp org.eclipse.platform.ide-win32.win32.x86.zip "$BUILD_DIR"/eclipse-platform-${BUILD_ID}-win32.zip
+ popd
+ else
+ echo " ERROR: $TARGET_PRODUCTS did not exist in fn-gather-platform"
+ fi
}
# USAGE: fn-gather-swt-zips BUILD_ID REPO_DIR BUILD_DIR
@@ -848,22 +689,22 @@ fn-gather-platform ()
fn-gather-swt-zips ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- BUILD_DIR="$1"; shift
-# TODO: this directory sanity check does not accomplish much, since "binaries/bundles" always
-# exists. Results in "not found" msg. Doubt there's any simple solution.
- SWT_BUNDLES_DIR="$REPO_DIR"/eclipse.platform.swt.binaries/bundles
- if [[ -d "$SWT_BUNDLES_DIR" ]]
- then
- pushd "$SWT_BUNDLES_DIR"
- cp */target/*.zip "$BUILD_DIR"
- popd
- else
- echo " ERROR: $SWT_BUNDLES_DIR did not exist in fn-gather-swt-zips"
- fi
- }
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ # TODO: this directory sanity check does not accomplish much, since "binaries/bundles" always
+ # exists. Results in "not found" msg. Doubt there's any simple solution.
+ SWT_BUNDLES_DIR="$REPO_DIR"/eclipse.platform.swt.binaries/bundles
+ if [[ -d "$SWT_BUNDLES_DIR" ]]
+ then
+ pushd "$SWT_BUNDLES_DIR"
+ cp */target/*.zip "$BUILD_DIR"
+ popd
+ else
+ echo " ERROR: $SWT_BUNDLES_DIR did not exist in fn-gather-swt-zips"
+ fi
+}
# USAGE: fn-gather-test-zips BUILD_ID REPO_DIR BUILD_DIR
# BUILD_ID: I20121116-0700
@@ -871,29 +712,29 @@ fn-gather-swt-zips ()
# BUILD_DIR: /shared/eclipse/builds/R4_2_maintenance/dirs/M20121120-1747
fn-gather-test-zips ()
{
-checkNArgs $# 3
-if [[ $? != 0 ]]; then return 1; fi
-BUILD_ID="$1"; shift
-REPO_DIR="$1"; shift
-BUILD_DIR="$1"; shift
-TEST_ZIP_DIR="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/target
-if [[ -d "$TEST_ZIP_DIR" ]]
-then
-pushd "$TEST_ZIP_DIR"
-cp eclipse-junit-tests-bundle.zip "$BUILD_DIR"/eclipse-Automated-Tests-${BUILD_ID}.zip
-TEST_FRAMEWORK_DIR=$TEST_ZIP_DIR/eclipse-test-framework
-if [[ -d "$TEST_FRAMEWORK_DIR" ]]
-then
-pushd "$TEST_FRAMEWORK_DIR"
-zip -r "$BUILD_DIR"/eclipse-test-framework-${BUILD_ID}.zip *
-popd
-else
-echo " ERROR: $TEST_FRAMEWORK_DIR did not exist in fn-gather-test-zips."
-fi
-popd
-else
-echo " ERROR: $TEST_ZIP_DIR did not exist in fn-gather-test-zips."
-fi
+ checkNArgs $# 3
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ TEST_ZIP_DIR="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/target
+ if [[ -d "$TEST_ZIP_DIR" ]]
+ then
+ pushd "$TEST_ZIP_DIR"
+ cp eclipse-junit-tests-bundle.zip "$BUILD_DIR"/eclipse-Automated-Tests-${BUILD_ID}.zip
+ TEST_FRAMEWORK_DIR=$TEST_ZIP_DIR/eclipse-test-framework
+ if [[ -d "$TEST_FRAMEWORK_DIR" ]]
+ then
+ pushd "$TEST_FRAMEWORK_DIR"
+ zip -r "$BUILD_DIR"/eclipse-test-framework-${BUILD_ID}.zip *
+ popd
+ else
+ echo " ERROR: $TEST_FRAMEWORK_DIR did not exist in fn-gather-test-zips."
+ fi
+ popd
+ else
+ echo " ERROR: $TEST_ZIP_DIR did not exist in fn-gather-test-zips."
+ fi
}
@@ -903,23 +744,23 @@ fi
# BUILD_DIR: /shared/eclipse/builds/R4_2_maintenance/dirs/M20121120-1747
fn-gather-ecj-jars ()
{
-checkNArgs $# 3
-if [[ $? != 0 ]]; then return 1; fi
-BUILD_ID="$1"; shift
-REPO_DIR="$1"; shift
-BUILD_DIR="$1"; shift
-ECJ_JAR_DIR="$REPO_DIR"/eclipse.jdt.core/org.eclipse.jdt.core/target
-if [[ -d "$ECJ_JAR_DIR" ]]
-then
-pushd "$ECJ_JAR_DIR"
-# The blob wildcard ('*') is to match "any version number", e.g. 3.9.0, 3.9.1, etc.
-cp org.eclipse.jdt.core-*-SNAPSHOT-batch-compiler.jar "$BUILD_DIR"/ecj-${BUILD_ID}.jar
-cp org.eclipse.jdt.core-*-SNAPSHOT-batch-compiler-src.jar "$BUILD_DIR"/ecjsrc-${BUILD_ID}.jar
-popd
-else
-echo " ERROR: $ECJ_JAR_DIR did not exist in fn-gather-ecj-jars."
-#TODO eventually, fail the build here? If they don't exist, something must be pretty wrong?
-fi
+ checkNArgs $# 3
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ ECJ_JAR_DIR="$REPO_DIR"/eclipse.jdt.core/org.eclipse.jdt.core/target
+ if [[ -d "$ECJ_JAR_DIR" ]]
+ then
+ pushd "$ECJ_JAR_DIR"
+ # The blob wildcard ('*') is to match "any version number", e.g. 3.9.0, 3.9.1, etc.
+ cp org.eclipse.jdt.core-*-SNAPSHOT-batch-compiler.jar "$BUILD_DIR"/ecj-${BUILD_ID}.jar
+ cp org.eclipse.jdt.core-*-SNAPSHOT-batch-compiler-src.jar "$BUILD_DIR"/ecjsrc-${BUILD_ID}.jar
+ popd
+ else
+ echo " ERROR: $ECJ_JAR_DIR did not exist in fn-gather-ecj-jars."
+ #TODO eventually, fail the build here? If they don't exist, something must be pretty wrong?
+ fi
}
@@ -932,41 +773,41 @@ fi
fn-slice-repos ()
{
checkNArgs $# 4
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- BUILD_DIR="$1"; shift
- BASEBUILDER_LAUNCHER="$1"; shift
- ANT_SCRIPT="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/repos/buildAll.xml
- REPO_DIR_DIR="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/target/repository
- if [[ -d "$REPO_DIR_DIR" ]]
- then
- pushd "$REPO_DIR"
- java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
- -data ${BUILD_DIR}/workspace-buildrepos \
- -application org.eclipse.ant.core.antRunner \
- -buildfile "$ANT_SCRIPT" \
- -Declipse.build.configs="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder \
- -DbuildId="$BUILD_ID" \
- -DbuildRepo="$REPO_DIR_DIR" \
- -DpostingDirectory=$(dirname "$BUILD_DIR") \
- -DequinoxPostingDirectory="$BUILD_ROOT/siteDir/equinox/drops" \
- -DbuildLabel="$BUILD_ID" \
- -Djava.io.tmpdir=$TMP_DIR \
- -DbuildDirectory="$BUILD_DIR"
- RC=$?
- popd
- if [[ $RC != 0 ]]
- then
- BUILD_FAILED="${buildDirectory}/buildFailed-slice-repo-error"
- echo " ERROR: Java antrunner call with $ANT_SCRIPT returned non-zero return code, $RC, in fn-slice-repo" >>${BUILD_FAILED}
- return $RC
- fi
- else
- BUILD_FAILED="${buildDirectory}/buildFailed-slice-repo-error"
- echo " ERROR: $REPO_DIR_DIR did not exist in fn-slice-repo. Probably due to an earlier error?" >>${BUILD_FAILED}
- return 1
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ BASEBUILDER_LAUNCHER="$1"; shift
+ ANT_SCRIPT="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/repos/buildAll.xml
+ REPO_DIR_DIR="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/target/repository
+ if [[ -d "$REPO_DIR_DIR" ]]
+ then
+ pushd "$REPO_DIR"
+ java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
+ -data ${BUILD_DIR}/workspace-buildrepos \
+ -application org.eclipse.ant.core.antRunner \
+ -buildfile "$ANT_SCRIPT" \
+ -Declipse.build.configs="$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder \
+ -DbuildId="$BUILD_ID" \
+ -DbuildRepo="$REPO_DIR_DIR" \
+ -DpostingDirectory=$(dirname "$BUILD_DIR") \
+ -DequinoxPostingDirectory="$BUILD_ROOT/siteDir/equinox/drops" \
+ -DbuildLabel="$BUILD_ID" \
+ -Djava.io.tmpdir=$TMP_DIR \
+ -DbuildDirectory="$BUILD_DIR"
+ RC=$?
+ popd
+ if [[ $RC != 0 ]]
+ then
+ BUILD_FAILED="${buildDirectory}/buildFailed-slice-repo-error"
+ echo " ERROR: Java antrunner call with $ANT_SCRIPT returned non-zero return code, $RC, in fn-slice-repo" >>${BUILD_FAILED}
+ return $RC
fi
+ else
+ BUILD_FAILED="${buildDirectory}/buildFailed-slice-repo-error"
+ echo " ERROR: $REPO_DIR_DIR did not exist in fn-slice-repo. Probably due to an earlier error?" >>${BUILD_FAILED}
+ return 1
+ fi
}
@@ -977,22 +818,22 @@ fn-slice-repos ()
fn-gather-repo-zips ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- BUILD_DIR="$1"; shift
- if [[ -d "$REPO_DIR" ]]
- then
- pushd "$REPO_DIR"/eclipse.platform.repository/target/repos
- for r in org.eclipse.*; do
- pushd $r
- zip -r "$BUILD_DIR"/${r}-${BUILD_ID}.zip *
- popd
- done
- popd
- else
- echo " ERROR: $REPO_DIR did not exist in fn-gather-repo-zips"
- fi
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ if [[ -d "$REPO_DIR" ]]
+ then
+ pushd "$REPO_DIR"/eclipse.platform.repository/target/repos
+ for r in org.eclipse.*; do
+ pushd $r
+ zip -r "$BUILD_DIR"/${r}-${BUILD_ID}.zip *
+ popd
+ done
+ popd
+ else
+ echo " ERROR: $REPO_DIR did not exist in fn-gather-repo-zips"
+ fi
}
# USAGE: fn-gather-compile-logs BUILD_ID REPO_DIR BUILD_DIR
@@ -1002,40 +843,40 @@ fn-gather-repo-zips ()
fn-gather-compile-logs ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- BUILD_DIR="$1"; shift
- if [[ -d "$REPO_DIR" ]]
- then
- mkdir -p "$BUILD_DIR"/compilelogs/plugins
- pushd "$REPO_DIR"
- for dot in $( find * -name "@dot.xml" ); do
- targetDir=$( dirname "$dot" )
- echo "Processing $dot in $targetDir"
- if [ ! -r "$targetDir"/MANIFEST.MF ]; then
- echo "**Failed to process $dot in $targetDir. Likely compile error. Will try source MANIFEST.MF in directory containing target."
- targetDir=$( dirname "${targetDir}" )
- if [ ! -r "$targetDir"/META-INF/MANIFEST.MF ]
- then
- echo "**Failed to process $dot in $targetDir."
- else
- BUNDLE_ID=$( grep Bundle-SymbolicName "$targetDir"/META-INF/MANIFEST.MF | cut -f2 -d" " | cut -f1 -d\; | tr -d '\f\r\n\t' )
- BUNDLE_VERSION=$( grep Bundle-Version "$targetDir"/META-INF/MANIFEST.MF | cut -f2 -d" " | tr -d '\f\r\n\t' )
- mkdir "$BUILD_DIR"/compilelogs/plugins/${BUNDLE_ID}_${BUNDLE_VERSION}
- cp "$dot" "$BUILD_DIR"/compilelogs/plugins/${BUNDLE_ID}_${BUNDLE_VERSION}
- fi
- else
- BUNDLE_ID=$( grep Bundle-SymbolicName "$targetDir"/MANIFEST.MF | cut -f2 -d" " | cut -f1 -d\; | tr -d '\f\r\n\t' )
- BUNDLE_VERSION=$( grep Bundle-Version "$targetDir"/MANIFEST.MF | cut -f2 -d" " | tr -d '\f\r\n\t' )
- mkdir "$BUILD_DIR"/compilelogs/plugins/${BUNDLE_ID}_${BUNDLE_VERSION}
- cp "$dot" "$BUILD_DIR"/compilelogs/plugins/${BUNDLE_ID}_${BUNDLE_VERSION}
- fi
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ if [[ -d "$REPO_DIR" ]]
+ then
+ mkdir -p "$BUILD_DIR"/compilelogs/plugins
+ pushd "$REPO_DIR"
+ for dot in $( find * -name "@dot.xml" ); do
+ targetDir=$( dirname "$dot" )
+ echo "Processing $dot in $targetDir"
+ if [ ! -r "$targetDir"/MANIFEST.MF ]; then
+ echo "**Failed to process $dot in $targetDir. Likely compile error. Will try source MANIFEST.MF in directory containing target."
+ targetDir=$( dirname "${targetDir}" )
+ if [ ! -r "$targetDir"/META-INF/MANIFEST.MF ]
+ then
+ echo "**Failed to process $dot in $targetDir."
+ else
+ BUNDLE_ID=$( grep Bundle-SymbolicName "$targetDir"/META-INF/MANIFEST.MF | cut -f2 -d" " | cut -f1 -d\; | tr -d '\f\r\n\t' )
+ BUNDLE_VERSION=$( grep Bundle-Version "$targetDir"/META-INF/MANIFEST.MF | cut -f2 -d" " | tr -d '\f\r\n\t' )
+ mkdir "$BUILD_DIR"/compilelogs/plugins/${BUNDLE_ID}_${BUNDLE_VERSION}
+ cp "$dot" "$BUILD_DIR"/compilelogs/plugins/${BUNDLE_ID}_${BUNDLE_VERSION}
+ fi
+ else
+ BUNDLE_ID=$( grep Bundle-SymbolicName "$targetDir"/MANIFEST.MF | cut -f2 -d" " | cut -f1 -d\; | tr -d '\f\r\n\t' )
+ BUNDLE_VERSION=$( grep Bundle-Version "$targetDir"/MANIFEST.MF | cut -f2 -d" " | tr -d '\f\r\n\t' )
+ mkdir "$BUILD_DIR"/compilelogs/plugins/${BUNDLE_ID}_${BUNDLE_VERSION}
+ cp "$dot" "$BUILD_DIR"/compilelogs/plugins/${BUNDLE_ID}_${BUNDLE_VERSION}
+ fi
done
popd
- else
- echo " ERROR: $REPO_DIR did not exist in fn-gather-compile-logs"
- fi
+ else
+ echo " ERROR: $REPO_DIR did not exist in fn-gather-compile-logs"
+ fi
}
@@ -1049,19 +890,19 @@ fn-gather-compile-logs ()
fn-gather-main-index ()
{
checkNArgs $# 6
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- BUILD_DIR="$1"; shift
- STREAM="$1"; shift
- BUILD_TYPE="$1"; shift
- BUILD_PRETTY_DATE="$1"; shift
- pushd "$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/eclipse/templateFiles
-
-# Simplified by creating PHP variables in buildproperties.php
- cp "index.php.template${PATCH_BUILD}" "$BUILD_DIR"/index.php
-
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ STREAM="$1"; shift
+ BUILD_TYPE="$1"; shift
+ BUILD_PRETTY_DATE="$1"; shift
+ pushd "$REPO_DIR"/eclipse.platform.releng.tychoeclipsebuilder/eclipse/templateFiles
+
+ # Simplified by creating PHP variables in buildproperties.php
+ cp "index.php.template${PATCH_BUILD}" "$BUILD_DIR"/index.php
+
+ popd
}
# USAGE: fn-parse-compile-logs BUILD_ID ANT_SCRIPT BUILD_DIR BASEBUILDER_LAUNCHER
@@ -1072,25 +913,25 @@ fn-gather-main-index ()
fn-parse-compile-logs ()
{
checkNArgs $# 4
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- ANT_SCRIPT="$1"; shift
- BUILD_DIR="$1"; shift
- BASEBUILDER_LAUNCHER="$1"; shift
- EBuilderDir="${BUILD_DIR}/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder"
- pushd "$BUILD_DIR"
- java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
- -data ${BUILD_DIR}/workspace-verifyCompile \
- -application org.eclipse.ant.core.antRunner \
- -buildfile "$ANT_SCRIPT" \
- -DbuildDirectory=$(dirname "$BUILD_DIR" ) \
- -DpostingDirectory=$(dirname "$BUILD_DIR" ) \
- -DEBuilderDir="${EBuilderDir}" \
- -DbuildId="$BUILD_ID" \
- -DbuildLabel="$BUILD_ID" \
- -Djava.io.tmpdir=$TMP_DIR \
- verifyCompile
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ ANT_SCRIPT="$1"; shift
+ BUILD_DIR="$1"; shift
+ BASEBUILDER_LAUNCHER="$1"; shift
+ EBuilderDir="${BUILD_DIR}/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder"
+ pushd "$BUILD_DIR"
+ java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
+ -data ${BUILD_DIR}/workspace-verifyCompile \
+ -application org.eclipse.ant.core.antRunner \
+ -buildfile "$ANT_SCRIPT" \
+ -DbuildDirectory=$(dirname "$BUILD_DIR" ) \
+ -DpostingDirectory=$(dirname "$BUILD_DIR" ) \
+ -DEBuilderDir="${EBuilderDir}" \
+ -DbuildId="$BUILD_ID" \
+ -DbuildLabel="$BUILD_ID" \
+ -Djava.io.tmpdir=$TMP_DIR \
+ verifyCompile
+ popd
}
# USAGE: fn-summarize-comparator-logs BUILD_ID ANT_SCRIPT BUILD_DIR BASEBUILDER_LAUNCHER
@@ -1102,25 +943,25 @@ fn-parse-compile-logs ()
fn-summarize-comparator-logs ()
{
checkNArgs $# 4
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- ANT_SCRIPT="$1"; shift
- BUILD_DIR="$1"; shift
- BASEBUILDER_LAUNCHER="$1"; shift
- EBuilderDir="${BUILD_DIR}/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder"
- pushd "$BUILD_DIR"
- java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
- -data ${BUILD_DIR}/workspace-comparatorLogs \
- -application org.eclipse.ant.core.antRunner \
- -buildfile "$ANT_SCRIPT" \
- -DbuildDirectory=$(dirname "$BUILD_DIR" ) \
- -DpostingDirectory=$(dirname "$BUILD_DIR" ) \
- -DEBuilderDir="${EBuilderDir}" \
- -DbuildId="$BUILD_ID" \
- -DbuildLabel="$BUILD_ID" \
- -Djava.io.tmpdir=$TMP_DIR \
- compare
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ ANT_SCRIPT="$1"; shift
+ BUILD_DIR="$1"; shift
+ BASEBUILDER_LAUNCHER="$1"; shift
+ EBuilderDir="${BUILD_DIR}/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder"
+ pushd "$BUILD_DIR"
+ java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
+ -data ${BUILD_DIR}/workspace-comparatorLogs \
+ -application org.eclipse.ant.core.antRunner \
+ -buildfile "$ANT_SCRIPT" \
+ -DbuildDirectory=$(dirname "$BUILD_DIR" ) \
+ -DpostingDirectory=$(dirname "$BUILD_DIR" ) \
+ -DEBuilderDir="${EBuilderDir}" \
+ -DbuildId="$BUILD_ID" \
+ -DbuildLabel="$BUILD_ID" \
+ -Djava.io.tmpdir=$TMP_DIR \
+ compare
+ popd
}
# USAGE: fn-summarize-apitooling BUILD_ID ANT_SCRIPT BUILD_DIR BASEBUILDER_LAUNCHER
# BUILD_ID: I20121116-0700
@@ -1131,45 +972,45 @@ fn-summarize-comparator-logs ()
fn-summarize-apitooling ()
{
checkNArgs $# 4
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- ANT_SCRIPT="$1"; shift
- BUILD_DIR="$1"; shift
- BASEBUILDER_LAUNCHER="$1"; shift
- EBuilderDir=$BUILD_DIR/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder
- pushd "$BUILD_DIR"
-# Make sure FREEZE_PARAMS is defined, but empty space, if not using freeze reports.
- FREEZE_PARAMS=" "
-# When no "freeze" in effect for a release comment these out. Uncomment after M6, changing to appropriate versions.
-# FREEZE_PARAMS="-DfreezeBaseURL=http://download.eclipse.org/eclipse/downloads/drops4/S-4.4M6-201403061200/eclipse-SDK-4.4M6-win32.zip \
-# -DfreezeName=Eclipse-SDK-4.4M6 \
-# -DfreezeFilename=eclipse-SDK-4.4M6-win32.zip "
-# this API_PREV_REF_LABEL variable should be changed any time the version used
-# by previousBaseURL changes. Its purpose is just to localize changes to this one
-# place, and not have to make further, hard-coded changes to testResults.php.template.
-# Similar for freeze label.
- API_PREV_REF_LABEL=4.4.0
- fn-write-property API_PREV_REF_LABEL
-# API_FREEZE_REF_LABEL=4.5M6
- API_FREEZE_REF_LABEL=" "
- fn-write-property API_FREEZE_REF_LABEL
- java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
- -data ${BUILD_DIR}/workspace-comparatorLogs \
- -application org.eclipse.ant.core.antRunner \
- -buildfile "$ANT_SCRIPT" \
- -DbuildDirectory=$(dirname "$BUILD_DIR" ) \
- -DpostingDirectory=$(dirname "$BUILD_DIR" ) \
- -DEBuilderDir=$EBuilderDir \
- -DbuildId="$BUILD_ID" \
- -DbuildLabel="$BUILD_ID" \
- -DbuildWorkingArea="${BUILD_HOME}/4${BUILD_TYPE}/gitCache/eclipse.platform.releng.aggregator" \
- -DpreviousBaseURL=http://download.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-win32.zip \
- -DpreviousBaselineName=Eclipse-SDK-4.4 \
- -DpreviousBaselineFilename=eclipse-SDK-4.4-win32.zip \
- -Djava.io.tmpdir=$TMP_DIR \
- ${FREEZE_PARAMS} \
- apiToolsReports
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ ANT_SCRIPT="$1"; shift
+ BUILD_DIR="$1"; shift
+ BASEBUILDER_LAUNCHER="$1"; shift
+ EBuilderDir=$BUILD_DIR/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder
+ pushd "$BUILD_DIR"
+ # Make sure FREEZE_PARAMS is defined, but empty space, if not using freeze reports.
+ FREEZE_PARAMS=" "
+ # When no "freeze" in effect for a release comment these out. Uncomment after M6, changing to appropriate versions.
+ # FREEZE_PARAMS="-DfreezeBaseURL=http://download.eclipse.org/eclipse/downloads/drops4/S-4.4M6-201403061200/eclipse-SDK-4.4M6-win32.zip \
+ # -DfreezeName=Eclipse-SDK-4.4M6 \
+ # -DfreezeFilename=eclipse-SDK-4.4M6-win32.zip "
+ # this API_PREV_REF_LABEL variable should be changed any time the version used
+ # by previousBaseURL changes. Its purpose is just to localize changes to this one
+ # place, and not have to make further, hard-coded changes to testResults.php.template.
+ # Similar for freeze label.
+ API_PREV_REF_LABEL=4.4.0
+ fn-write-property API_PREV_REF_LABEL
+ # API_FREEZE_REF_LABEL=4.5M6
+ API_FREEZE_REF_LABEL=" "
+ fn-write-property API_FREEZE_REF_LABEL
+ java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
+ -data ${BUILD_DIR}/workspace-comparatorLogs \
+ -application org.eclipse.ant.core.antRunner \
+ -buildfile "$ANT_SCRIPT" \
+ -DbuildDirectory=$(dirname "$BUILD_DIR" ) \
+ -DpostingDirectory=$(dirname "$BUILD_DIR" ) \
+ -DEBuilderDir=$EBuilderDir \
+ -DbuildId="$BUILD_ID" \
+ -DbuildLabel="$BUILD_ID" \
+ -DbuildWorkingArea="${BUILD_HOME}/4${BUILD_TYPE}/gitCache/eclipse.platform.releng.aggregator" \
+ -DpreviousBaseURL=http://download.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-win32.zip \
+ -DpreviousBaselineName=Eclipse-SDK-4.4 \
+ -DpreviousBaselineFilename=eclipse-SDK-4.4-win32.zip \
+ -Djava.io.tmpdir=$TMP_DIR \
+ ${FREEZE_PARAMS} \
+ apiToolsReports
+ popd
}
# USAGE: fn-publish-eclipse BUILD_TYPE BUILD_STREAM BUILD_ID REPO_DIR BUILD_DIR BASEBUILDER_LAUNCHER
@@ -1182,41 +1023,41 @@ fn-summarize-apitooling ()
fn-publish-eclipse ()
{
checkNArgs $# 6
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_TYPE="$1"; shift
- BUILD_STREAM="$1"; shift
- BUILD_ID="$1"; shift
- AGGR_DIR="$1"; shift
- BUILD_DIR="$1"; shift
- BASEBUILDER_LAUNCHER="$1"; shift
- EBuilderDir="$BUILD_DIR"/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder
- pushd "$BUILD_DIR"
- java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
- -data ${BUILD_DIR}/workspace-publish \
- -application org.eclipse.ant.core.antRunner \
- -v \
- -buildfile "$EBuilderDir"/eclipse/helper.xml \
- -DbuildId="$BUILD_ID" \
- -DbuildRepo="$AGGR_DIR"/eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/target/repository \
- -DpostingDirectory="$BUILD_ROOT/siteDir/eclipse/downloads/drops4" \
- -DequinoxPostingDirectory="$BUILD_ROOT/siteDir/equinox/drops" \
- -DpublishingContent="$EBuilderDir"/eclipse/publishingFiles \
- -DdropTemplateFileName="${EBuilderDir}/eclipse/publishingFiles/templateFiles/index.php.template${PATCH_BUILD}" \
- -DbuildLabel="$BUILD_DIR_SEG" \
- -DEBuilderDir="$EBuilderDir" \
- -DAGGR_DIR="$AGGR_DIR" \
- -DeclipseStream=$BUILD_STREAM \
- -DbuildType="$BUILD_TYPE" \
- -Dbase.builder=$(dirname $(dirname "$BASEBUILDER_LAUNCHER" ) ) \
- -DbuildDirectory=$(dirname "$BUILD_DIR") \
- -Djava.io.tmpdir=$TMP_DIR \
- publish
-# hide experimental builds, for now
- if [[ $BUILD_ID =~ [PXY] ]]
- then
- touch buildHidden
- fi
- popd
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_TYPE="$1"; shift
+ BUILD_STREAM="$1"; shift
+ BUILD_ID="$1"; shift
+ AGGR_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ BASEBUILDER_LAUNCHER="$1"; shift
+ EBuilderDir="$BUILD_DIR"/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder
+ pushd "$BUILD_DIR"
+ java -Djava.io.tmpdir=$TMP_DIR -jar "$BASEBUILDER_LAUNCHER" \
+ -data ${BUILD_DIR}/workspace-publish \
+ -application org.eclipse.ant.core.antRunner \
+ -v \
+ -buildfile "$EBuilderDir"/eclipse/helper.xml \
+ -DbuildId="$BUILD_ID" \
+ -DbuildRepo="$AGGR_DIR"/eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/target/repository \
+ -DpostingDirectory="$BUILD_ROOT/siteDir/eclipse/downloads/drops4" \
+ -DequinoxPostingDirectory="$BUILD_ROOT/siteDir/equinox/drops" \
+ -DpublishingContent="$EBuilderDir"/eclipse/publishingFiles \
+ -DdropTemplateFileName="${EBuilderDir}/eclipse/publishingFiles/templateFiles/index.php.template${PATCH_BUILD}" \
+ -DbuildLabel="$BUILD_DIR_SEG" \
+ -DEBuilderDir="$EBuilderDir" \
+ -DAGGR_DIR="$AGGR_DIR" \
+ -DeclipseStream=$BUILD_STREAM \
+ -DbuildType="$BUILD_TYPE" \
+ -Dbase.builder=$(dirname $(dirname "$BASEBUILDER_LAUNCHER" ) ) \
+ -DbuildDirectory=$(dirname "$BUILD_DIR") \
+ -Djava.io.tmpdir=$TMP_DIR \
+ publish
+ # hide experimental builds, for now
+ if [[ $BUILD_ID =~ [PXY] ]]
+ then
+ touch buildHidden
+ fi
+ popd
}
# USAGE: fn-checkout-basebuilder BUILDER_DIR
@@ -1224,27 +1065,27 @@ fn-publish-eclipse ()
fn-checkout-basebuilder ()
{
checkNArgs $# 1
- if [[ $? != 0 ]]; then return 1; fi
- BUILDER_DIR="$1"; shift
- if [ -e "$BUILDER_DIR" ]; then
- echo "A basic builder directory already existed, so not re-fetched."
- echo " Directory found at $BUILDER_DIR."
- return 0
- fi
- echo "A basic builder did not exist, so will fetch platform and tools."
- DROP_DIR=$( dirname "$BUILDER_DIR" )
-# Are these as expected? TODO: change comments.
- echo "Drop directory: $DROP_DIR"
- echo "BUILDER_DIR: $BUILDER_DIR"
- EBuilderDir=$DROP_DIR/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder
- if [[ ! -d "${EBuilderDir}" ]]
- then
- echo "EBuilderDir did not exist, so will fetch that first"
- ${SCRIPT_PATH}/getEBuilderForDropDir.sh $DROP_DIR $EBUILDER_HASH
- else
- echo "EBuilderDir already existed, so no need to fetch that"
- fi
- ant -f $EBuilderDir/eclipse/getBaseBuilderAndTools.xml -DWORKSPACE=$DROP_DIR
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILDER_DIR="$1"; shift
+ if [ -e "$BUILDER_DIR" ]; then
+ echo "A basic builder directory already existed, so not re-fetched."
+ echo " Directory found at $BUILDER_DIR."
+ return 0
+ fi
+ echo "A basic builder did not exist, so will fetch platform and tools."
+ DROP_DIR=$( dirname "$BUILDER_DIR" )
+ # Are these as expected? TODO: change comments.
+ echo "Drop directory: $DROP_DIR"
+ echo "BUILDER_DIR: $BUILDER_DIR"
+ EBuilderDir=$DROP_DIR/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder
+ if [[ ! -d "${EBuilderDir}" ]]
+ then
+ echo "EBuilderDir did not exist, so will fetch that first"
+ ${SCRIPT_PATH}/getEBuilderForDropDir.sh $DROP_DIR $EBUILDER_HASH
+ else
+ echo "EBuilderDir already existed, so no need to fetch that"
+ fi
+ ant -f $EBuilderDir/eclipse/getBaseBuilderAndTools.xml -DWORKSPACE=$DROP_DIR
}
# USAGE: fn-basebuilder-launcher BUILDER_DIR
@@ -1252,9 +1093,9 @@ fn-checkout-basebuilder ()
fn-basebuilder-launcher ()
{
checkNArgs $# 1
- if [[ $? != 0 ]]; then return 1; fi
- BUILDER_DIR="$1"; shift
- find "$BUILDER_DIR" -name "org.eclipse.equinox.launcher_*.jar" | tail -1
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILDER_DIR="$1"; shift
+ find "$BUILDER_DIR" -name "org.eclipse.equinox.launcher_*.jar" | tail -1
}
# USAGE: fn-pom-version-report BUILD_ID REPO_DIR BUILD_DIR LOCAL_REPO
@@ -1264,41 +1105,41 @@ fn-basebuilder-launcher ()
fn-pom-version-report ()
{
checkNArgs $# 3
- if [[ $? != 0 ]]; then return 1; fi
- BUILD_ID="$1"; shift
- REPO_DIR="$1"; shift
- BUILD_DIR="$1"; shift
- pushd "$REPO_DIR"
- mkdir -p "$BUILD_DIR"/pom_updates
- git submodule foreach "if (git status -s -uno | grep pom.xml >/dev/null ); then git diff >$BUILD_DIR/pom_updates/\$name.diff; fi "
- pushd "$BUILD_DIR"/pom_updates
- nDiffs=$( ls -1 $BUILD_DIR/pom_updates/*.diff | wc -l )
-# don't create index.html if no diffs to display, as our PHP DL page knows
-# not to display link if index.html is not present.
-if (( $nDiffs > 0 ))
-then
-POM_UPDATES=""
-echo "" >index.html
-echo "" >>index.html
-echo "POM version report for $BUILD_ID" >>index.html
-echo "" >>index.html
-echo "" >>index.html
-echo "POM version report for $BUILD_ID
" >>index.html
-echo "These repositories need patches to bring their pom.xml files up to the correct version.
" >>index.html
-echo "" >>index.html
-
-for f in *.diff; do
-FNAME=$( basename $f .diff )
-echo "- $FNAME
" >> index.html
-POM_UPDATES="${POM_UPDATES}- $FNAME
"
-done
-echo "
" >> index.html
-echo "" >> index.html
-# we write to property files, for later use in email message
-fn-write-property POM_UPDATES
-fi
-popd
-popd
+ if [[ $? != 0 ]]; then return 1; fi
+ BUILD_ID="$1"; shift
+ REPO_DIR="$1"; shift
+ BUILD_DIR="$1"; shift
+ pushd "$REPO_DIR"
+ mkdir -p "$BUILD_DIR"/pom_updates
+ git submodule foreach "if (git status -s -uno | grep pom.xml >/dev/null ); then git diff >$BUILD_DIR/pom_updates/\$name.diff; fi "
+ pushd "$BUILD_DIR"/pom_updates
+ nDiffs=$( ls -1 $BUILD_DIR/pom_updates/*.diff | wc -l )
+ # don't create index.html if no diffs to display, as our PHP DL page knows
+ # not to display link if index.html is not present.
+ if (( $nDiffs > 0 ))
+ then
+ POM_UPDATES=""
+ echo "" >index.html
+ echo "" >>index.html
+ echo "POM version report for $BUILD_ID" >>index.html
+ echo "" >>index.html
+ echo "" >>index.html
+ echo "POM version report for $BUILD_ID
" >>index.html
+ echo "These repositories need patches to bring their pom.xml files up to the correct version.
" >>index.html
+ echo "" >>index.html
+
+ for f in *.diff; do
+ FNAME=$( basename $f .diff )
+ echo "- $FNAME
" >> index.html
+ POM_UPDATES="${POM_UPDATES}- $FNAME
"
+ done
+ echo "
" >> index.html
+ echo "" >> index.html
+ # we write to property files, for later use in email message
+ fn-write-property POM_UPDATES
+ fi
+ popd
+ popd
}
# USAGE: fn-check-dir-exists DIR_VAR_NAME
@@ -1309,20 +1150,20 @@ popd
# checkForErrorExit "$rc" "$rc"
fn-check-dir-exists ()
{
-checkNArgs $# 1
-if [[ $? != 0 ]]; then return 1; fi
-DIR_VAR_NAME=$1
-if [[ -z "${!DIR_VAR_NAME}" ]]
-then
-echo "DIR_VAR_NAME, ${DIR_VAR_NAME}, must be defined before running this script."
-else
-if [[ ! -d "${!DIR_VAR_NAME}" ]]
-then
-echo "The directory DIR_VAR_NAME, ${DIR_VAR_NAME} (\"${!DIR_VAR_NAME}\"), must exist before running this script."
-else
-echo 0
-fi
-fi
+ checkNArgs $# 1
+ if [[ $? != 0 ]]; then return 1; fi
+ DIR_VAR_NAME=$1
+ if [[ -z "${!DIR_VAR_NAME}" ]]
+ then
+ echo "DIR_VAR_NAME, ${DIR_VAR_NAME}, must be defined before running this script."
+ else
+ if [[ ! -d "${!DIR_VAR_NAME}" ]]
+ then
+ echo "The directory DIR_VAR_NAME, ${DIR_VAR_NAME} (\"${!DIR_VAR_NAME}\"), must exist before running this script."
+ else
+ echo 0
+ fi
+ fi
}
# USAGE: fn-write-property VAR_NAME
@@ -1348,20 +1189,20 @@ fi
fn-write-property ()
{
checkNArgs $# 1
- if [[ $? != 0 ]]; then return 1; fi
- VAR_NAME=$1
- if [[ -z "${VAR_NAME}" ]]
- then
- echo "VAR_NAME must be passed to this script, $0."
- return 1
- fi
-
-# bash scripts (export may be overkill ... but, just in case needed)
- echo "export ${VAR_NAME}=\"${!VAR_NAME}\"" >> $BUILD_ENV_FILE
-# PHP, suitable for direct "include"
- echo "\$${VAR_NAME} = \"${!VAR_NAME}\";" >> $BUILD_ENV_FILE_PHP
-# standard properties file
- echo "${VAR_NAME} = \"${!VAR_NAME}\"" >> $BUILD_ENV_FILE_PROP
+ if [[ $? != 0 ]]; then return 1; fi
+ VAR_NAME=$1
+ if [[ -z "${VAR_NAME}" ]]
+ then
+ echo "VAR_NAME must be passed to this script, $0."
+ return 1
+ fi
+
+ # bash scripts (export may be overkill ... but, just in case needed)
+ echo "export ${VAR_NAME}=\"${!VAR_NAME}\"" >> $BUILD_ENV_FILE
+ # PHP, suitable for direct "include"
+ echo "\$${VAR_NAME} = \"${!VAR_NAME}\";" >> $BUILD_ENV_FILE_PHP
+ # standard properties file
+ echo "${VAR_NAME} = \"${!VAR_NAME}\"" >> $BUILD_ENV_FILE_PROP
}
@@ -1370,15 +1211,15 @@ fn-write-property ()
fn-write-property-init ()
{
checkNArgs $# 0
- if [[ $? != 0 ]]; then return 1; fi
-# nothing really required for bash shsource, but we'll put in some niceties
- echo "#!/usr/bin/env bash" > $BUILD_ENV_FILE
- echo "# properties written for $BUILD_ID" >> $BUILD_ENV_FILE
-# PHP, suitable for direct "include": needs to start and end with
- echo " $BUILD_ENV_FILE_PHP
- echo "// properties written for $BUILD_ID " >> $BUILD_ENV_FILE_PHP
-# standard properties file: nothing special required
- echo "! properties written for $BUILD_ID" > $BUILD_ENV_FILE_PROP
+ if [[ $? != 0 ]]; then return 1; fi
+ # nothing really required for bash shsource, but we'll put in some niceties
+ echo "#!/usr/bin/env bash" > $BUILD_ENV_FILE
+ echo "# properties written for $BUILD_ID" >> $BUILD_ENV_FILE
+ # PHP, suitable for direct "include": needs to start and end with
+ echo " $BUILD_ENV_FILE_PHP
+ echo "// properties written for $BUILD_ID " >> $BUILD_ENV_FILE_PHP
+ # standard properties file: nothing special required
+ echo "! properties written for $BUILD_ID" > $BUILD_ENV_FILE_PROP
}
@@ -1387,15 +1228,15 @@ fn-write-property-init ()
fn-write-property-close ()
{
checkNArgs $# 0
- if [[ $? != 0 ]]; then return 1; fi
-# nothing really required for bash shsource, but we'll put in some niceties
- echo "# finished properties for $BUILD_ID" >> $BUILD_ENV_FILE
-# PHP, suitable for direct "include": needs to start and end with
-# Note: technically may not need closing ?> for an 'include' ?
- echo "// finished properties for $BUILD_ID " >> $BUILD_ENV_FILE_PHP
- echo "?>" >> $BUILD_ENV_FILE_PHP
-# standard properties file: nothing special required
- echo "! finshed properties for $BUILD_ID" >> $BUILD_ENV_FILE_PROP
+ if [[ $? != 0 ]]; then return 1; fi
+ # nothing really required for bash shsource, but we'll put in some niceties
+ echo "# finished properties for $BUILD_ID" >> $BUILD_ENV_FILE
+ # PHP, suitable for direct "include": needs to start and end with
+ # Note: technically may not need closing ?> for an 'include' ?
+ echo "// finished properties for $BUILD_ID " >> $BUILD_ENV_FILE_PHP
+ echo "?>" >> $BUILD_ENV_FILE_PHP
+ # standard properties file: nothing special required
+ echo "! finshed properties for $BUILD_ID" >> $BUILD_ENV_FILE_PROP
}
@@ -1409,9 +1250,9 @@ fn-write-property-close ()
fn-complete-status ()
{
checkNArgs $# 1
- if [[ $? != 0 ]]; then return 1; fi
- MESSAGE=$1
- printf "\n\t%s\n\n" "${MESSAGE}"
- git status
- git submodule foreach git status
+ if [[ $? != 0 ]]; then return 1; fi
+ MESSAGE=$1
+ printf "\n\t%s\n\n" "${MESSAGE}"
+ git status
+ git submodule foreach git status
}
diff --git a/production/build_eclipse_org.shsource b/production/build_eclipse_org.shsource
index 38eded1e7..55fa97336 100644
--- a/production/build_eclipse_org.shsource
+++ b/production/build_eclipse_org.shsource
@@ -2,13 +2,13 @@
# default definitions for this branch
-# this buildeclipse.shsource file is to ease local builds to override some variables.
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
# It should not be used for production builds.
-source buildeclipse.shsource 2>/dev/null
+source localbuildproperties.shsource 2>/dev/null
export BUILD_HOME=${BUILD_HOME:-/shared/eclipse/builds}
export BRANCH=${BRANCH:-master}
-export STREAM=${STREAM:-4.4.0}
+export STREAM=${STREAM:-4.5.0}
export BUILD_TYPE=${BUILD_TYPE:-N}
# If not set be caller, make sure its an empty string
@@ -24,10 +24,10 @@ export PATCH_BUILD=${PATCH_BUILD:-""}
if [[ -n ${PATCH_BUILD} ]]
then
export ALT_POM_FILE="-f eclipse.platform.releng.tychoeclipsebuilder/${PATCH_BUILD}/pom.xml"
-echo "DEBUG: ALT_POM_FILE: $ALT_POM_FILE"
+echo " DEBUG: ALT_POM_FILE: $ALT_POM_FILE"
else
export ALT_POM_FILE=""
-echo "DEBUG: ALT_POM_FILE: None. Using normal default."
+echo " DEBUG: ALT_POM_FILE: None. Using normal default."
fi
@@ -57,20 +57,6 @@ export MAVEN_PATH=${MAVEN_PATH:-/shared/common/apache-maven-3.1.1/bin}
export PATH=$JAVA_HOME/bin:$MAVEN_PATH:$ANT_HOME/bin:$PATH
-# if not defined "externally", we use default for eclipse.org
-if [[ -z "${REPO_AND_ACCESS}" ]]
-then
-# unless we are on 'build' machine
-if [[ "build" == "$(hostname)" ]]
-then
-export REPO_AND_ACCESS=file:///gitroot
-else
-export REPO_AND_ACCESS=git://git.eclipse.org/gitroot
-fi
-fi
-
-AGGREGATOR_REPO=${REPO_AND_ACCESS}/platform/eclipse.platform.releng.aggregator.git
-
# Only used to start antrunner for tests. May not need here?
BASEBUILDER_TAG=R38M6PlusRC3G
@@ -87,7 +73,7 @@ MAVEN_BREE=-Pbree-libs
# local, non build.eclipse.org builds (or, test builds) may need to override, and turn off signing.
-# otherwwise, we always sign if I or M builds, but not N builds
+# otherwise, we always sign if I or M builds, but not N builds
#
if [[ $BUILD_TYPE =~ [IMXYP] ]]
then
diff --git a/production/get-aggregator.sh b/production/get-aggregator.sh
index f1d372531..e1607c40a 100644
--- a/production/get-aggregator.sh
+++ b/production/get-aggregator.sh
@@ -3,12 +3,14 @@
if [ $# -ne 1 ]; then
echo USAGE: $0 env_file
+ touch "${buildDirectory}/buildFailed-get-aggregator"
exit 1
fi
if [ ! -r "$1" ]; then
echo "$1" cannot be read
echo USAGE: $0 env_file
+ touch "${buildDirectory}/buildFailed-get-aggregator"
exit 1
fi
@@ -22,7 +24,7 @@ source "$1"
cd $BUILD_ROOT
# derived values
-gitCache=$( fn-git-cache "$BUILD_ROOT" "${BRANCH}" )
+gitCache=$( fn-git-cache "$BUILD_ROOT" )
aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
if [[ -r "$aggDir" ]]
diff --git a/production/getEBuilderForDropDir.sh b/production/getEBuilderForDropDir.sh
index ad8ac9b7d..efb2c461c 100755
--- a/production/getEBuilderForDropDir.sh
+++ b/production/getEBuilderForDropDir.sh
@@ -1,6 +1,12 @@
#!/usr/bin/env bash
# Utility script to get "ebuilder"
+printf "\n\tDEBUG: %s\n" "executing ${0}"
+printf "\t\t\t%s\n" "As called from ${FUNCNAME[1]}, called from line number ${BASH_LINENO[0]} in ${BASH_SOURCE[1]}."
+
+SCRIPT_PATH=${SCRIPT_PATH:-$(pwd)}
+printf "\n\tINFO: %s\n" "SCRIPT_PATH: $SCRIPT_PATH"
+source $SCRIPT_PATH/build-functions.shsource
BUILD_DIR=$1
EBUILDER_HASH=$2
@@ -8,13 +14,13 @@ EBUILDER_HASH=$2
if [[ -z "${BUILD_DIR}" ]]
then
- echo "BUILD_DIR not supplied, will assume current directory, for testing."
+ printf "\n\tWARNING: %s\n" "BUILD_DIR not defined, assuming $BUILD_DIR"
BUILD_DIR=${PWD}
else
# normally will exist by now, but if not, we'll create it.
if [[ ! -d "${BUILD_DIR}" ]]
then
- echo "WARNING: BUILD_DIR did not exist, so created it: $BUILD_DIR."
+ printf "\n\tWARNING: %s\n" "BUILD_DIR did not exist when expected. Creating $BUILD_DIR"
mkdir -p $BUILD_DIR
fi
fi
@@ -26,18 +32,24 @@ then
fi
EBUILDER=eclipse.platform.releng.aggregator
+# derived values
+gitCache=$( fn-git-cache "$BUILD_ROOT")
+aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
RC=0
# don't clone, if already exists.
if [[ ! -d ${BUILD_DIR}/${EBUILDER} ]]
then
- # Not sure 'REPO_AND_ACCESS' is defined in all possible scenerios, so we'll provide a default.
- # It is in main scenerios, but not sure about things like "re-running unit tests at a later time".
+ # Not sure 'REPO_AND_ACCESS' is defined in all possible scenarios, so we'll provide a default.
+ # It is in main scenarios, but not sure about things like "re-running unit tests at a later time".
# If directory doesn't exist yet, create it first, so we can assign proper access
# permissions for later "clean up" routines.
mkdir -p "${BUILD_DIR}/${EBUILDER}"
chmod -c g+ws "${BUILD_DIR}/${EBUILDER}"
- git clone ${REPO_AND_ACCESS:-git://git.eclipse.org/gitroot}/platform/${EBUILDER} ${BUILD_DIR}/${EBUILDER}
+ # note the use of "reference" ... we typically only need a little bit of
+ # new stuff, that the gitCache version doesn't have already, if any.
+
+ git clone --reference $aggDir ${AGGREGATOR_REPO} ${BUILD_DIR}/${EBUILDER}
RC=$?
if [[ $RC != 0 ]]
then
@@ -66,6 +78,16 @@ else
fi
popd
fi
-
+# prepare a (small) zip, for easy retrieval of "production" files, during unit tests on Hudson.
+# This basic function used to be provided by CGit, but was turned off for "snapshots" of commits,
+# and was a bit overkill for those doing their own "remote" test builds (or tests).
+# This small zip is stored, unadvertised, on download site, and retrieved as part of the
+# Hudson test "bootstrap". The "production" directory in general, though, is also
+# used during the build itself.
+# (hard to know "where" we are at ... so we'll make sure.
+printf "\n\tDEBUG: %s\n" "About to create EBuilder zip: ${EBUILDER}-${EBUILDER_HASH}.zip"
+pushd ${buildDirectory}
+zip -r "${buildDirectory}/${EBUILDER}-${EBUILDER_HASH}.zip" "${EBUILDER}/production/testScripts"
+popd
exit $RC
diff --git a/production/master-build.sh b/production/master-build.sh
index 65d215a27..8cdaf559d 100644
--- a/production/master-build.sh
+++ b/production/master-build.sh
@@ -1,6 +1,5 @@
#!/usr/bin/env bash
-# master script to drive Eclipse Platform builds.
-RAWDATE=$( date +%s )
+
if [ $# -ne 1 ]; then
echo USAGE: $0 env_file
@@ -9,22 +8,31 @@ fi
INITIAL_ENV_FILE=$1
+
if [ ! -r "$INITIAL_ENV_FILE" ]; then
echo "$INITIAL_ENV_FILE" cannot be read
echo USAGE: $0 env_file
exit 1
fi
-export BUILD_TIME_PATCHES=${BUILD_TIME_PATCHES:-false}
-# force "test build" if doing patch build (since, it really is for tests)
-# and this simply makes sure a human does not forget the "-t" and end up
-# trying to push some patched build (and promoting to downloads).
+export SCRIPT_PATH="${BUILD_ROOT}/production"
+
+
+source "${SCRIPT_PATH}/build-functions.shsource"
+
+source "${INITIAL_ENV_FILE}"
+
+source "${SCRIPT_PATH}/bashUtilities.shsource"
+source "${SCRIPT_PATH}/bootstrapVariables.shsource"
+
+
+assertNotEmpty gitCache
+assertNotEmpty aggDir
+assertNotEmpty BUILD_ID
+assertNotEmpty buildDirectory
+
-if [[ "${BUILD_TIME_PATCHES}" == "true" ]]
-then
- testbuildonly=true
-fi
# remember, local "test builds" that use this script must change
# or override 'GIT_PUSH' to simply echo, not actually push. Only
@@ -34,10 +42,7 @@ if [[ "${testbuildonly}" == "true" ]]
then
GIT_PUSH='echo no git push since testbuildonly'
fi
-if [[ "${BUILD_TIME_PATCHES}" == "true" ]]
-then
- GIT_PUSH='echo no git push since testbuildonly AND patched build'
-fi
+
if [[ "${BUILD_TYPE}" == "N" ]]
then
GIT_PUSH='echo no git push done since Nightly'
@@ -49,19 +54,6 @@ fi
GIT_PUSH=${GIT_PUSH:-'git push'}
-
-export SCRIPT_PATH="${BUILD_ROOT}/production"
-
-
-source "${SCRIPT_PATH}/build-functions.shsource"
-
-source "${INITIAL_ENV_FILE}"
-
-# BUILD_KIND allows fine tuning of how promoted, tested, download site name, etc.
-# CBI is only primary production build value. In future may use special values for
-# special cases, such as TEST, JAVA8, etc.
-export BUILD_KIND=${BUILD_KIND:-CBI}
-
cd $BUILD_ROOT
buildrc=0
@@ -70,7 +62,7 @@ buildrc=0
# correct values for cbi-jdt-repo.url and cbi-jdt-version are
# codified in the parent pom. These variables give an easy way
-# to test "experimental versions" in production build.
+# to test "experimental versions" in production-like build.
if [[ -n $CBI_JDT_REPO_URL ]]
then
@@ -81,19 +73,9 @@ then
export CBI_JDT_VERSION_ARG="-Dcbi-jdt-version=$CBI_JDT_VERSION"
fi
-BUILD_ID=$(fn-build-id "$BUILD_TYPE" )
-export buildDirectory=$( fn-build-dir "$BUILD_ROOT" "$BUILD_ID" "$STREAM" )
-if [[ -z "${buildDirectory}" ]]
-then
- echo "PROGRAM ERROR: buildDirectory returned from fn-build-dir was empty"
- exit 1
-else
- # this should be when we first create buildDirectory
- echo "Making buildDirectory: ${buildDirectory}"
- mkdir -p "${buildDirectory}"
- # it appears GID bit is not always set correctly, so we'll do so explicitly
- chmod -c g+s "${buildDirectory}"
-fi
+assertNotEmpty buildDirectory
+echo "buildDirectory: >${buildDirectory}<"
+
export logsDirectory="${buildDirectory}/buildlogs"
mkdir -p "${logsDirectory}"
checkForErrorExit $? "Could not create buildlogs directory: ${logsDirectory}"
@@ -112,14 +94,14 @@ TIMESTAMP=$( date +%Y%m%d-%H%M --date='@'$RAWDATE )
export TRACE_OUTPUT=${TRACE_OUTPUT:-$buildDirectory/buildlogs/trace_output.txt}
echo $BUILD_PRETTY_DATE > ${TRACE_OUTPUT}
+assertNotEmpty buildDirectory
+
# These files have variable/value pairs for this build, suitable for use in
# shell scripts, PHP files, or as Ant (or Java) properties
export BUILD_ENV_FILE=${buildDirectory}/buildproperties.shsource
export BUILD_ENV_FILE_PHP=${buildDirectory}/buildproperties.php
export BUILD_ENV_FILE_PROP=${buildDirectory}/buildproperties.properties
-gitCache=$( fn-git-cache "$BUILD_ROOT" "$BRANCH" )
-aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
export LOCAL_REPO="${BUILD_ROOT}"/localMavenRepo
# In production builds, we normally specify CLEAN_LOCAL,
@@ -205,7 +187,6 @@ fn-write-property GIT_PUSH
fn-write-property LOCAL_REPO
fn-write-property SCRIPT_PATH
fn-write-property STREAMS_PATH
-fn-write-property BUILD_KIND
fn-write-property CBI_JDT_REPO_URL
fn-write-property CBI_JDT_REPO_URL_ARG
fn-write-property CBI_JDT_VERSION
@@ -218,6 +199,7 @@ if [[ "${testbuildonly}" == "true" ]]
then
fn-write-property testbuildonly
fi
+fn-write-property buildDirectory
fn-write-property BUILD_ENV_FILE
fn-write-property BUILD_ENV_FILE_PHP
fn-write-property BUILD_ENV_FILE_PROP
@@ -229,11 +211,9 @@ fn-write-property BUILD_TYPE_NAME
fn-write-property TRACE_OUTPUT
fn-write-property comparatorRepository
fn-write-property logsDirectory
-fn-write-property BUILD_TIME_PATCHES
fn-write-property BUILD_HOME
-
$SCRIPT_PATH/get-aggregator.sh $BUILD_ENV_FILE 2>&1 | tee ${GET_AGGREGATOR_BUILD_LOG}
# if file exists, then get-aggregator failed
if [[ -f "${buildDirectory}/buildFailed-get-aggregator" ]]
@@ -249,47 +229,6 @@ else
$SCRIPT_PATH/update-build-input.sh $BUILD_ENV_FILE 2>&1 | tee $logsDirectory/mb020_update-build-input_output.txt
checkForErrorExit $? "Error occurred while updating build input"
- if $BUILD_TIME_PATCHES ; then
- # temp patches for bugs
- # apply the pre-created patch from tempPatches
- # patches created, typically, by navigating to repoToPath, then
- # git diff --no-prefix > ../eclipse.platform.releng.aggregator/production/tempPatches/
- # (then commit and push change to "tempPatches" directory, with normal ID, not with build id)
-
- repoToPatch=eclipse.jdt.core
- patchFile=jdtComparatorFix.patch
- echo "INFO: apply patch file, $patchFile, in repo $repoToPatch"
- patch -p0 --backup -d $aggDir/$repoToPatch -i $aggDir/production/tempPatches/$patchFile
- #checkForErrorExit $? "Error occurred applying patch"
-
- # Note: to "simulate" qualifier increases, when needed,
- # the fix/patch must be "committed" (to build repo, not pushed to origin).
- # This requires more effort to "reset" ... say to HEAD~1, or re-clone the repo,
- # or else the 'checkout/pull' in next run will not succeed.
- echo "INFO: commit to build machine repository (no push): $repoToPatch"
- pushd $aggDir/$repoToPatch/
- git commit --all -m "temp patch for testing"
- #checkForErrorExit $? "Error occurred committing patch"
- popd
-
- # Note: to "simulate" qualifier increases, when needed,
- # the fix/patch must be "committed" (to build repo, not pushed to origin).
- # This requires more effort to "reset" ... say to HEAD~1, or re-clone the repo,
- # or else the 'checkout/pull' in next run will not succeed.
- #pushd $aggDir/$repoToPatch
- #git commit --all -m "temp patch for testing"
- #checkForErrorExit $? "Error occurred committing patch"
- #popd
-
- #repoToPatch=rt.equinox.p2
- #patchFile=p2SourceFix.patch
- #echo "INFO: apply patch file, $patchFile, in repo $repoToPatch"
-
- #patch -p0 --backup -d $aggDir/$repoToPatch -i $aggDir/production/tempPatches/$patchFile
- #checkForErrorExit $? "Error occurred applying patch"
-
-
- fi
# We always make tag commits, if build successful or not, but don't push
# back to origin if doing N builds or test builds.
@@ -416,7 +355,7 @@ then
fi
# if all ended well, put "promotion scripts" in known locations
-$SCRIPT_PATH/promote-build.sh $BUILD_KIND $BUILD_ENV_FILE 2>&1 | tee $logsDirectory/mb090_promote-build_output.txt
+$SCRIPT_PATH/promote-build.sh $BUILD_ENV_FILE 2>&1 | tee $logsDirectory/mb090_promote-build_output.txt
checkForErrorExit $? "Error occurred during promote-build"
fn-write-property-close
diff --git a/production/parse-logs.sh b/production/parse-logs.sh
index 13b6bda40..5d7fe3588 100644
--- a/production/parse-logs.sh
+++ b/production/parse-logs.sh
@@ -22,7 +22,7 @@ source "$1"
cd $BUILD_ROOT
# derived values
-gitCache=$( fn-git-cache "$BUILD_ROOT" "$BRANCH" )
+gitCache=$( fn-git-cache "$BUILD_ROOT" )
aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
if [ -z "$BUILD_ID" ]; then
diff --git a/production/pom-version-updater.sh b/production/pom-version-updater.sh
index 3b2b690c4..66d412508 100755
--- a/production/pom-version-updater.sh
+++ b/production/pom-version-updater.sh
@@ -22,7 +22,7 @@ source "$1"
cd $BUILD_ROOT
# derived values
-gitCache=$( fn-git-cache "$BUILD_ROOT" "$BRANCH" )
+gitCache=$( fn-git-cache "$BUILD_ROOT" )
aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
buildDirectory=$( fn-build-dir "$BUILD_ROOT" "$BUILD_ID" "$STREAM" )
diff --git a/production/promote-build.sh b/production/promote-build.sh
index d02a5b384..c92c96fc9 100755
--- a/production/promote-build.sh
+++ b/production/promote-build.sh
@@ -8,29 +8,9 @@
function usage ()
{
- printf "\n\n\t%s\n" "promote-build.sh (BUILD_KIND) if none specified, CBI assumed"
+ printf "\n\n\t%s\n" "promote-build.sh env_file"
}
-BUILD_KIND=$1
-if [[ -z "$BUILD_KIND" ]]
-then
- BUILD_KIND=CBI
-fi
-
-case $BUILD_KIND in
-
- 'CBI' )
- echo "Promote Build from CBI"
- # always assume true, for now, until debugged
- # testbuildonly=true;
-
- ;;
- *) echo "ERROR: Invalid or missing argument to $(basename $0)";
- usage;
- exit 1;
- ;;
-esac
-
if [[ -z ${SCRIPT_PATH} ]]
then
SCRIPT_PATH=${PWD}
@@ -38,7 +18,7 @@ fi
source $SCRIPT_PATH/build-functions.shsource
-source "$2" 2>/dev/null
+source "$1" 2>/dev/null
# The 'workLocation' provides a handy central place to have the
# promote script, and log results. ASSUMING this works for all
@@ -77,12 +57,8 @@ fi
ptimestamp=$( date +%Y%m%d%H%M )
echo "#!/usr/bin/env bash" > ${promoteScriptLocationEclipse}/${scriptName}
echo "# promotion script created at $ptimestamp" >> ${promoteScriptLocationEclipse}/${scriptName}
-# TODO: changed "syncDropLocation" to handle a third parameter (BUILD_KIND)
-# And now a fourth ... eBuilder HASHTAG,so won't always have to assume master, and
-# so the tests can get their own copy.
-# and now a fifth, so we can 'source' all relevent variables ... in particular, we want
-# to see if BUILD_FAILED is defined.
-echo "$workLocation/syncDropLocation.sh $STREAM $BUILD_ID $BUILD_KIND $EBUILDER_HASH $BUILD_ENV_FILE" >> ${promoteScriptLocationEclipse}/${scriptName}
+
+echo "$workLocation/syncDropLocation.sh $STREAM $BUILD_ID $EBUILDER_HASH $BUILD_ENV_FILE" >> ${promoteScriptLocationEclipse}/${scriptName}
# we restrict "others" rights for a bit more security or safety from accidents
chmod -v ug=rwx,o-rwx ${promoteScriptLocationEclipse}/${scriptName}
diff --git a/production/publish-eclipse.sh b/production/publish-eclipse.sh
index 5847b8c83..4446fda69 100644
--- a/production/publish-eclipse.sh
+++ b/production/publish-eclipse.sh
@@ -21,7 +21,7 @@ source "$1"
cd $BUILD_ROOT
# derived values
-gitCache=$( fn-git-cache "$BUILD_ROOT" "$BRANCH" )
+gitCache=$( fn-git-cache "$BUILD_ROOT")
aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
if [ -z "$BUILD_ID" ]; then
@@ -31,6 +31,7 @@ fi
buildDirectory=$( fn-build-dir "$BUILD_ROOT" "$BUILD_ID" "$STREAM" )
basebuilderDir=$( fn-basebuilder-dir "$BUILD_ROOT" "$BUILD_ID" "$STREAM" )
+printf "/n/tINFO: %s/n" "calling getEBuilderForDropDir.sh from publish-eclipse.sh"
$SCRIPT_PATH/getEBuilderForDropDir.sh $buildDirectory $EBUILDER_HASH
fn-checkout-basebuilder "$basebuilderDir"
diff --git a/production/publish-equinox.sh b/production/publish-equinox.sh
index 712991c13..ae0fa0d9e 100644
--- a/production/publish-equinox.sh
+++ b/production/publish-equinox.sh
@@ -1,8 +1,8 @@
#!/usr/bin/env bash
#
-# this buildeclipse.shsource file is to ease local builds to override some variables.
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
# It should not be used for production builds.
-source buildeclipse.shsource 2>/dev/null
+source localbuildproperties.shsource 2>/dev/null
export BUILD_HOME=${BUILD_HOME:-/shared/eclipse/builds}
@@ -175,7 +175,7 @@ fn-publish-equinox ()
cd $BUILD_ROOT
# derived values
-gitCache=$( fn-git-cache "$BUILD_ROOT" "$BRANCH" )
+gitCache=$( fn-git-cache "$BUILD_ROOT")
aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
if [ -z "$BUILD_ID" ]; then
diff --git a/production/publish-repo.sh b/production/publish-repo.sh
index 58f109338..569c63a23 100644
--- a/production/publish-repo.sh
+++ b/production/publish-repo.sh
@@ -19,7 +19,7 @@ source $SCRIPT_PATH/build-functions.shsource
source "$1"
# derived values
-gitCache=$( fn-git-cache "$BUILD_ROOT" "$BRANCH" )
+gitCache=$( fn-git-cache "$BUILD_ROOT")
aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
if [ -z "$BUILD_ID" ]; then
diff --git a/production/run-maven-build.sh b/production/run-maven-build.sh
index 2a5bfb55c..70849a314 100644
--- a/production/run-maven-build.sh
+++ b/production/run-maven-build.sh
@@ -22,7 +22,7 @@ source "$1"
cd $BUILD_ROOT
# derived values
-gitCache=$( fn-git-cache "$BUILD_ROOT" "$BRANCH" )
+gitCache=$( fn-git-cache "$BUILD_ROOT" )
aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
if [ -z "$BUILD_ID" ]; then
diff --git a/production/sdk/collect.sh b/production/sdk/collect.sh
index 42f8be8f2..35f203d65 100755
--- a/production/sdk/collect.sh
+++ b/production/sdk/collect.sh
@@ -11,7 +11,7 @@
# Start with minimal path for consistency across machines
# plus, cron jobs do not inherit an environment
# care is needed not have anything in ${HOME}/bin that would effect the build
-# unintentionally, but is required to make use of "source buildeclipse.shsource" on
+# unintentionally, but is required to make use of "source localbuildproperties.shsource" on
# local machines.
# Likely only a "release engineer" would be interested, such as to override "SIGNING" (setting it
# to false) for a test I-build on a remote machine.
@@ -31,9 +31,9 @@ oldumask=`umask`
umask 0002
echo "umask explicitly set to 0002, old value was $oldumask"
-# this buildeclipse.shsource file is to ease local builds to override some variables.
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
# It should not be used for production builds.
-source buildeclipse.shsource 2>/dev/null
+source localbuildproperties.shsource 2>/dev/null
export BUILD_HOME=${BUILD_HOME:-/shared/eclipse/builds}
export JAVA_HOME=/shared/common/jdk1.7.0-latest
@@ -48,14 +48,12 @@ job="$(echo $inputline | cut -d\ -f1)"
buildNumber="$(echo $inputline | cut -d\ -f2)"
buildId="$(echo $inputline | cut -d\ -f3)"
eclipseStream="$(echo $inputline | cut -d\ -f4)"
-BUILD_KIND="$(echo $inputline | cut -d\ -f5)"
-EBUILDER_HASH="$(echo $inputline | cut -d\ -f6)"
+EBUILDER_HASH="$(echo $inputline | cut -d\ -f5)"
echo "job: $job"
echo "buildNumber: $buildNumber"
echo "buildId: $buildId"
echo "eclipseStream: $eclipseStream"
-echo "BUILD_KIND: $BUILD_KIND"
echo "EBUILDER_HASH: $EBUILDER_HASH"
${ANT_HOME}/bin/ant -version
@@ -65,5 +63,4 @@ ${ANT_HOME}/bin/ant -version
-DbuildNumber=${buildNumber} \
-DbuildId=${buildId} \
-DeclipseStream=${eclipseStream} \
- -DBUILD_KIND=${BUILD_KIND} \
-DEBUILDER_HASH=${EBUILDER_HASH}
diff --git a/production/sdk/collectTestResults.xml b/production/sdk/collectTestResults.xml
index 7542f89c7..e415e3017 100644
--- a/production/sdk/collectTestResults.xml
+++ b/production/sdk/collectTestResults.xml
@@ -1,91 +1,94 @@
+ name="collectTestResults"
+ default="collectTestResults"
+ basedir=".">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+ name="env.HUDSON_HOST"
+ value="hudson.eclipse.org" />
+ name="env.HUDSON_PROTOCOL"
+ value="https" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ name="env.BUILD_HOME"
+ value="/shared/eclipse/builds" />
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/production/sdk/promotion/getEBuilder.sh b/production/sdk/promotion/getEBuilder.sh
index 8ca4fb78c..90c6ab4b8 100755
--- a/production/sdk/promotion/getEBuilder.sh
+++ b/production/sdk/promotion/getEBuilder.sh
@@ -3,9 +3,8 @@
# Utility script to "bootstrap" Hudson Eclipse Platform Unit tests, to get the
# basic files needed to get all the other required files and start the test framework.
-BUILD_KIND=$1
-EBUILDER_HASH=$2
-WORKSPACE=$3
+EBUILDER_HASH=$1
+WORKSPACE=$2
if [[ -z "${WORKSPACE}" ]]
then
@@ -25,26 +24,9 @@ then
EBUILDER_HASH=master
fi
-if [[ -z "${BUILD_KIND}" ]]
-then
- echo "BUILD_KIND not supplied, assuming CBI"
- BUILD_KIND=CBI
-fi
-
-if [[ "${BUILD_KIND}" == "CBI" ]]
-then
EBUILDER=eclipse.platform.releng.aggregator
TARGETNAME=eclipse.platform.releng.aggregator
ESCRIPT_LOC=${EBUILDER}/production/testScripts
-elif [[ "$BUILD_KIND" == "PDE" ]]
-then
- EBUILDER=eclipse.platform.releng.eclipsebuilder
- TARGETNAME=org.eclipse.releng.eclipsebuilder
- ESCRIPT_LOC=${TARGETNAME}
-else
- echo "ERROR: Unexpected value of BUILD_KIND: ${BUILD_KIND}"
- exit 1
-fi
# don't re-fetch, if already exists.
# TODO: May need to provide a "force" parameter to use when testing?
diff --git a/production/sdk/promotion/runAntRunner.sh b/production/sdk/promotion/runAntRunner.sh
index 0c7d0ea9c..3f0a02b43 100755
--- a/production/sdk/promotion/runAntRunner.sh
+++ b/production/sdk/promotion/runAntRunner.sh
@@ -6,9 +6,9 @@
# the build file, if not build.xml, must be second argument
# that can be followed be target or other arguments
-# this buildeclipse.shsource file is to ease local builds to override some variables.
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
# It should not be used for production builds.
-source buildeclipse.shsource 2>/dev/null
+source localbuildproperties.shsource 2>/dev/null
export BUILD_HOME=${BUILD_HOME:-/shared/eclipse/builds}
# If used for other things, where a build doesn't exist,
diff --git a/production/sdk/promotion/sdkPromotionCronJob.sh b/production/sdk/promotion/sdkPromotionCronJob.sh
index 6aeb03262..4cf4d92a7 100755
--- a/production/sdk/promotion/sdkPromotionCronJob.sh
+++ b/production/sdk/promotion/sdkPromotionCronJob.sh
@@ -16,7 +16,7 @@
# Start with minimal path for consistency across machines
# plus, cron jobs do not inherit an environment
# care is needed not have anything in ${HOME}/bin that would effect the build
-# unintentionally, but is required to make use of "source buildeclipse.shsource" on
+# unintentionally, but is required to make use of "source localbuildproperties.shsource" on
# local machines.
# Likely only a "release engineer" would be interested, such as to override "SIGNING" (setting it
# to false) for a test I-build on a remote machine.
@@ -37,9 +37,9 @@ umask 0002
# Remember, don't echo except when testing, or mail will be sent each time it runs.
#echo "umask explicitly set to 0002, old value was $oldumask"
-# this buildeclipse.shsource file is to ease local builds to override some variables.
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
# It should not be used for production builds.
-source buildeclipse.shsource 2>/dev/null
+source localbuildproperties.shsource 2>/dev/null
diff --git a/production/sdk/promotion/startTests.sh b/production/sdk/promotion/startTests.sh
index f5fea3058..3cc4080f4 100755
--- a/production/sdk/promotion/startTests.sh
+++ b/production/sdk/promotion/startTests.sh
@@ -28,8 +28,7 @@ source buildParams.shsource 2>/dev/null
# which is how invoke from "promote script"
eclipseStream=${eclipseStream:-${1}}
buildId=${buildId:-${2}}
-BUILD_KIND=${BUILD_KIND:-${3}}
-EBUILDER_HASH=${EBUILDER_HASH:-${4}}
+EBUILDER_HASH=${EBUILDER_HASH:-${3}}
if [[ -z ${eclipseStream} || -z ${buildId} ]]
then
@@ -38,11 +37,6 @@ then
exit 1
fi
-if [[ -z "${BUILD_KIND}" ]]
-then
- BUILD_KIND=CBI
-fi
-
if [[ -z "${EBUILDER_HASH}" ]]
then
EBUILDER_HASH=master
@@ -71,7 +65,7 @@ else
exit 1
fi
-source buildeclipse.shsource 2>/dev/null
+source localbuildproperties.shsource 2>/dev/null
echo "values in ${0}"
echo "eclipseStream: $eclipseStream"
@@ -80,7 +74,6 @@ echo "eclipseStreamMinor: $eclipseStreamMinor"
echo "eclipseStreamService: $eclipseStreamService"
echo "buildType: $buildType"
echo "buildId: $buildId"
-echo "BUILD_KIND: $BUILD_KIND"
echo "EBUILDER_HASH: $EBUILDER_HASH"
@@ -106,7 +99,6 @@ HUDSON_TOKEN=windows2012tests ant \
-DpostingDirectory=${postingDirectory} \
-DbuildId=${buildId} \
-DeclipseStream=${eclipseStream} \
- -DBUILD_KIND=${BUILD_KIND} \
-DEBUILDER_HASH=${EBUILDER_HASH} \
-f ${builderDir}/invokeTestsJSON.xml
diff --git a/production/sdk/promotion/syncDropLocation.sh b/production/sdk/promotion/syncDropLocation.sh
index 960997141..5bfeb8758 100755
--- a/production/sdk/promotion/syncDropLocation.sh
+++ b/production/sdk/promotion/syncDropLocation.sh
@@ -4,9 +4,9 @@ SCRIPTDIR=$( dirname $0 )
echo "SCRIPTDIR: ${SCRIPTDIR}"
source ${SCRIPTDIR}/syncUpdateUtils.shsource
-# this buildeclipse.shsource file is to ease local builds to override some variables.
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
# It should not be used for production builds.
-source buildeclipse.shsource 2>/dev/null
+source localbuildproperties.shsource 2>/dev/null
function sendPromoteMail ()
{
@@ -30,16 +30,8 @@ function sendPromoteMail ()
fi
echo " buildId: ${buildId}"
- BUILD_KIND=$3
- if [[ -z "${BUILD_KIND}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)"
- return 1;
- fi
- echo " BUILD_KIND: ${BUILD_KIND}"
-
# optional? Or blank?
- BUILD_FAILED=$4
+ BUILD_FAILED=$3
eclipseStreamMajor=${eclipseStream:0:1}
@@ -76,7 +68,7 @@ function sendPromoteMail ()
# and catch anything of substance.
comparatorLogMinimumSize=500
- mainPath=$( dlToPath "$eclipseStream" "$buildId" "$BUILD_KIND" )
+ mainPath=$( dlToPath "$eclipseStream" "$buildId")
echo " mainPath: $mainPath"
if [[ "$mainPath" == 1 ]]
then
@@ -109,16 +101,10 @@ function sendPromoteMail ()
EXTRA_SUBJECT_STRING="${EXTRA_SUBJECT_STRING} - POM UPDATES REQUIRED"
fi
- if [[ "${BUILD_KIND}" == "CBI" ]]
- then
# 4.3.0 Build: I20120411-2034
SUBJECT="${eclipseStream} ${buildType}-Build: ${buildId} $EXTRA_SUBJECT_STRING"
- else
- # 4.3.0 Build: I20120411-2034
- SUBJECT="${BUILD_KIND} based ${eclipseStream} ${buildType}-Build: ${buildId} $EXTRA_SUBJECT_STRING"
- fi
- # override in buildeclipse.shsource if doing local tests
+ # override in localbuildproperties.shsource if doing local tests
TO=${TO:-"platform-releng-dev@eclipse.org"}
# for initial testing, only to me -- change as desired after initial testing.
@@ -180,7 +166,7 @@ function sendPromoteMail ()
fi
- if [[ "${BUILD_KIND}" == "CBI" && ${buildType} =~ [NMI] ]]
+ if [[ ${buildType} =~ [NMI] ]]
then
(
echo "To: ${TO}"
@@ -192,7 +178,7 @@ function sendPromoteMail ()
echo -e "${message1}"
echo ""
) | /usr/lib/sendmail -t
- elif [[ "${BUILD_KIND}" == "CBI" && ${buildType} =~ [PYX] ]]
+ elif [[ ${buildType} =~ [PYX] ]]
then
(
echo "To: ${TO}"
@@ -218,8 +204,7 @@ function startTests()
buildType=$2
eclipseStream=$3
buildId=$4
- BUILD_KIND=$5
- EBUILDER_HASH=$6
+ EBUILDER_HASH=$5
if [[ -z "${EBUILDER_HASH}" ]]
then
printf "\n\n\t%s\n\n" "ERROR: Must provide builder (or aggregator) hash as fourth argumnet, for this function $(basename $0)"
@@ -230,38 +215,19 @@ function startTests()
echo "buildType: $buildType"
echo "eclipseStream: $eclipseStream"
echo "buildId: $buildId"
- echo "BUILD_KIND: $BUILD_KIND"
echo "EBUILDER_HASH: $EBUILDER_HASH"
- if [[ "${BUILD_KIND}" == 'CBI' ]]
- then
+
BUILD_ROOT=${BUILD_HOME}/${eclipseStreamMajor}${buildType}
eclipsebuilder=eclipse.platform.releng.aggregator/production/testScripts
- dlFromPath=$( dlFromPath $eclipseStream $buildId $BUILD_KIND )
+ dlFromPath=$( dlFromPath $eclipseStream $buildId )
echo "DEBUG CBI dlFromPath: $dlFromPath"
buildDropDir=${BUILD_ROOT}/siteDir/$dlFromPath/${buildId}
echo "DEBGUG CBI buildDropDir: $buildDropDir"
builderDropDir=${buildDropDir}/${eclipsebuilder}
echo "DEBUG: CBI builderDropDir: ${builderDropDir}"
- elif [[ "${BUILD_KIND}" == 'PDE' ]]
- then
- BUILD_ROOT=/shared/eclipse/eclipse${eclipseStreamMajor}${buildType}
- buildDir=${BUILD_ROOT}/build
- supportDir=${buildDir}/supportDir
- eclipsebuilder=org.eclipse.releng.eclipsebuilder
- builderDir=${supportDir}/$eclipsebuilder
- # assumed in fixed location, for now, for PDE builds
- builderDropDir=/shared/eclipse/sdk/promotion
- echo "DEBUG: PDE builderDropDir for PDE: ${builderDropDir}"
- dlFromPath=$( dlFromPath $eclipseStream $buildId $BUILD_KIND )
- echo "DEBUG: PDE dlFromPath: $dlFromPath"
- buildDropDir=${BUILD_ROOT}/siteDir/$dlFromPath/${buildId}
- echo "DEBUG: PDE builderDropDir: ${builderDropDir}"
- else
- echo "ERROR. Unrecognized value of BUILD_KIND: $BUILD_KIND"
- fi
# finally, execute
- ${builderDropDir}/startTests.sh ${eclipseStream} ${buildId} ${BUILD_KIND} ${EBUILDER_HASH}
+ ${builderDropDir}/startTests.sh ${eclipseStream} ${buildId} ${EBUILDER_HASH}
}
# this funtion currently syncs local repo on build machine, and adds
@@ -283,13 +249,6 @@ function syncRepoSite ()
return 1;
fi
- BUILD_KIND=$3
- if [[ -z "${BUILD_KIND}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)" >&2
- return 1;
- fi
-
# contrary to intuition (and previous behavior, bash 3.1) do NOT use quotes around right side of expression.
if [[ "${eclipseStream}" =~ ^([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)$ ]]
then
@@ -301,8 +260,8 @@ function syncRepoSite ()
return 1
fi
- fromDir=$(updateSiteOnBuildDir "$eclipseStream" "$buildId" "$BUILD_KIND")
- toDir=$(updateSiteOnDL "$eclipseStream" "$buildId" "$BUILD_KIND")
+ fromDir=$(updateSiteOnBuildDir "$eclipseStream" "$buildId" )
+ toDir=$(updateSiteOnDL "$eclipseStream" "$buildId" )
#toDir="/home/data/httpd/download.eclipse.org/eclipse/updates/4.3-builds"
if [[ -n "${fromDir}" && -d "${fromDir}" && -n "${toDir}" && -d "${toDir}" ]]
@@ -327,7 +286,7 @@ function syncRepoSite ()
# runAntRunner requires basebuilder to be installed at drop site, so we'll check here if it exists yet,
# and if not, fetch it.
- dropFromBuildDir=$( dropFromBuildDir "$eclipseStream" "$buildId" "$BUILD_KIND" )
+ dropFromBuildDir=$( dropFromBuildDir "$eclipseStream" "$buildId" )
EBuilderDir=$dropFromBuildDir/eclipse.platform.releng.aggregator/eclipse.platform.releng.tychoeclipsebuilder
# assume ant is on the path
@@ -345,7 +304,6 @@ function syncRepoSite ()
# it requires four arguments
# eclipseStream (e.g. 4.2 or 3.8)
# buildId (e.g. N20120415-2015)
-# BUILD_KIND (CBI or special value)
# EBUILDER_HASH (SHA1 HASH or branch of eclipse builder to used
if (( $# < 4 ))
@@ -355,7 +313,6 @@ then
printf "\n\t%s\n" "This script, $scriptname requires four arguments, in order: "
printf "\t\t%s\t%s\n" "eclipseStream" "(e.g. 4.2.2 or 3.8.2) "
printf "\t\t%s\t%s\n" "buildId" "(e.g. N20120415-2015) "
- printf "\t\t%s\t%s\n" "BUILD_KIND" "(e.g. PDE or special cased value) "
printf "\t\t%s\t%s\n" "EBUILDER_HASH" "(SHA1 HASH for eclipe builder used) "
printf "\t%s\n" "for example,"
printf "\t%s\n\n" "./$scriptname 4.2 N N20120415-2015 CBI master"
@@ -381,16 +338,8 @@ then
fi
echo "buildId: $buildId"
-BUILD_KIND=$3
-if [[ -z "${BUILD_KIND}" ]]
-then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)"
- exit 1
-fi
-echo "BUILD_KIND: $BUILD_KIND"
-
#TODO: asssume master for now, if unspecified. But should tighten up to through error as scripts get finished.
-EBUILDER_HASH=$4
+EBUILDER_HASH=$3
if [[ -z "${EBUILDER_HASH}" ]]
then
printf "\n\n\t%s\n\n" "WARNING: Must provide builder (or aggregator) hash as fourth argumnet, for this function, $0"
@@ -401,7 +350,7 @@ echo "EBUILDER_HASH: $EBUILDER_HASH"
# we get all build variables here. Currently need it to check if BUILD_FAILED is defined.
# if BUILD FAILED, we still "publish", but dont' update bad repo nor start tests
-BUILD_ENV_FILE=$5
+BUILD_ENV_FILE=$4
source $BUILD_ENV_FILE
eclipseStreamMajor=${eclipseStream:0:1}
@@ -423,13 +372,12 @@ echo "eclipseStream: $eclipseStream"
echo "eclipseStreamMajor: $eclipseStreamMajor"
echo "eclipseStreamMinor: $eclipseStreamMinor"
echo "eclipseStreamService: $eclipseStreamService"
-echo "BUILD_KIND: $BUILD_KIND"
echo "buildType: $buildType"
echo "BUILD_ENV_FILE: $BUILD_ENV_FILE"
# = = = = = = = = =
# compute dirctiory on build machine
-dropFromBuildDir=$( dropFromBuildDir "$eclipseStream" "$buildId" "$BUILD_KIND" )
+dropFromBuildDir=$( dropFromBuildDir "$eclipseStream" "$buildId" )
echo "dropFromBuildDir: $dropFromBuildDir"
if [[ ! -d "${dropFromBuildDir}" ]]
then
@@ -439,12 +387,12 @@ then
fi
SCRIPTDIR=$( dirname $0 )
echo "SCRIPTDIR: ${SCRIPTDIR}"
-${SCRIPTDIR}/getEBuilder.sh "${BUILD_KIND}" "${EBUILDER_HASH}" "${dropFromBuildDir}"
+${SCRIPTDIR}/getEBuilder.sh "${EBUILDER_HASH}" "${dropFromBuildDir}"
# if build failed, don't promote repo
if [[ -z "$BUILD_FAILED" ]]
then
- syncRepoSite "$eclipseStream" "$buildType" "$BUILD_KIND"
+ syncRepoSite "$eclipseStream" "$buildType"
rccode=$?
if [[ $rccode != 0 ]]
then
@@ -456,7 +404,7 @@ else
fi
# We still update drop location, even if failed, just to get the logs up there on downloads
-syncDropLocation "$eclipseStream" "$buildId" "$BUILD_KIND" "${EBUILDER_HASH}"
+syncDropLocation "$eclipseStream" "$buildId" "${EBUILDER_HASH}"
rccode=$?
if [[ $rccode != 0 ]]
then
@@ -468,10 +416,10 @@ fi
if [[ -z "$BUILD_FAILED" ]]
then
# if update to downloads succeeded, start the unit tests on Hudson
- startTests $eclipseStreamMajor $buildType $eclipseStream $buildId $BUILD_KIND ${EBUILDER_HASH}
+ startTests $eclipseStreamMajor $buildType $eclipseStream $buildId ${EBUILDER_HASH}
fi
-sendPromoteMail "$eclipseStream" "$buildId" "$BUILD_KIND" "$BUILD_FAILED"
+sendPromoteMail "$eclipseStream" "$buildId" "$BUILD_FAILED"
rccode=$?
if [[ $rccode != 0 ]]
then
diff --git a/production/sdk/promotion/syncUpdateUtils.shsource b/production/sdk/promotion/syncUpdateUtils.shsource
index 6d99c3503..c469904a8 100644
--- a/production/sdk/promotion/syncUpdateUtils.shsource
+++ b/production/sdk/promotion/syncUpdateUtils.shsource
@@ -1,183 +1,134 @@
#!/usr/bin/env bash
-# this buildeclipse.shsource file is to ease local builds to override some variables.
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
# It should not be used for production builds.
-source buildeclipse.shsource 2>/dev/null
+source localbuildproperties.shsource 2>/dev/null
export BUILD_HOME=${BUILD_HOME:-/shared/eclipse/builds}
function dropOnDLServer()
{
eclipseStream=$1
- if [[ -z "${eclipseStream}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argumnet, for this function $(basename $0)" >&2
- return 1;
+ if [[ -z "${eclipseStream}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argument, for this function $(basename $0)" >&2
+ return 1;
fi
- buildId=$2
- if [[ -z "${buildId}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide buildType as second argumnet, for this function $(basename $0)" >&2
- return 1;
- fi
-
- BUILD_KIND=$3
- if [[ -z "${BUILD_KIND}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)" >&2
- return 1;
+ buildId=$2
+ if [[ -z "${buildId}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide buildType as second argument, for this function $(basename $0)" >&2
+ return 1;
fi
- pathToDL=$( dlToPath "$eclipseStream" "$buildId" "$BUILD_KIND" )
+ pathToDL=$( dlToPath "$eclipseStream" "$buildId")
- if [[ "$pathToDL" == 1 ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: pathToDL could not be computed." >&2
- return 1
- fi
- toDir="/home/data/httpd/download.eclipse.org/${pathToDL}"
- echo $toDir
+ if [[ "$pathToDL" == 1 ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: pathToDL could not be computed." >&2
+ return 1
+ fi
+ toDir="/home/data/httpd/download.eclipse.org/${pathToDL}"
+ echo $toDir
}
function updateSiteOnDL()
{
eclipseStream=$1
- if [[ -z "${eclipseStream}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argumnet, for this function $(basename $0)" >&2
- return 1;
+ if [[ -z "${eclipseStream}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argument, for this function $(basename $0)" >&2
+ return 1;
fi
- buildId=$2
- if [[ -z "${buildId}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide buildType as second argumnet, for this function $(basename $0)" >&2
- return 1;
+ buildId=$2
+ if [[ -z "${buildId}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide buildType as second argument, for this function $(basename $0)" >&2
+ return 1;
fi
- BUILD_KIND=$3
- if [[ -z "${BUILD_KIND}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)" >&2
- return 1;
- fi
-# contrary to intuition (and previous behavior, bash 3.1) do NOT use quotes around right side of expression.
- if [[ "${eclipseStream}" =~ ([[:digit:]]*)\.([[:digit:]]*)\.([[:digit:]]*) ]]
- then
- eclipseStreamMajor=${BASH_REMATCH[1]}
- eclipseStreamMinor=${BASH_REMATCH[2]}
- eclipseStreamService=${BASH_REMATCH[3]}
- else
- echo "ERROR: eclipseStream, $eclipseStream, must contain major, minor, and service versions, such as 4.2.0" >&2
- exit 1
- fi
- buildType=${buildId:0:1}
+ # contrary to intuition (and previous behavior, bash 3.1) do NOT use quotes around right side of expression.
+ if [[ "${eclipseStream}" =~ ([[:digit:]]*)\.([[:digit:]]*)\.([[:digit:]]*) ]]
+ then
+ eclipseStreamMajor=${BASH_REMATCH[1]}
+ eclipseStreamMinor=${BASH_REMATCH[2]}
+ eclipseStreamService=${BASH_REMATCH[3]}
+ else
+ echo "ERROR: eclipseStream, $eclipseStream, must contain major, minor, and service versions, such as 4.2.0" >&2
+ exit 1
+ fi
+ buildType=${buildId:0:1}
toSiteDir="/home/data/httpd/download.eclipse.org/eclipse/updates"
- if [[ "${BUILD_KIND}" == 'CBI' ]]
- then
- updatesSuffix="builds"
- elif [[ "${BUILD_KIND}" == 'PDE' ]]
- then
- updatesSuffix="buildspdebased"
- else
- echo "ERROR: Unexpected value of BUILD_KIND, $BUILD_KIND" >&2
- fi
- toMainUpdateDir=$toSiteDir/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-${updatesSuffix}/
-# We'll check for existence, and create if doesn't exist ... as long as it is "under" our
-# toSiteDir, it is likely an intentional new one, rather than an error.
+ updatesSuffix="builds"
+
+ toMainUpdateDir=$toSiteDir/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-${updatesSuffix}/
+ # We'll check for existence, and create if doesn't exist ... as long as it is "under" our
+ # toSiteDir, it is likely an intentional new one, rather than an error.
if [[ ! -d "${toMainUpdateDir}" ]]
+ then
+ if [[ -d "${toSiteDir}" ]]
then
- if [[ -d "${toSiteDir}" ]]
- then
-# create
- mkdir -p "${toMainUpdateDir}"
- RC=$?
- if [[ $RC != 0 ]]
- then
- echo "ERROR: could not create main update site: ${toMainUpdateDir}" >&2
-# "return" empty string, as indication of error"
- toMainUpdateDir=""
- fi
- else
- echo "PROGRAM ERROR: main update site root did not exist: ${toSiteDir}" >&2
-# "return" empty string, as indication of error"
- toMainUpdateDir=""
- fi
- fi
- echo $toMainUpdateDir
+ # create
+ mkdir -p "${toMainUpdateDir}"
+ RC=$?
+ if [[ $RC != 0 ]]
+ then
+ echo "ERROR: could not create main update site: ${toMainUpdateDir}" >&2
+ # "return" empty string, as indication of error"
+ toMainUpdateDir=""
+ fi
+ else
+ echo "PROGRAM ERROR: main update site root did not exist: ${toSiteDir}" >&2
+ # "return" empty string, as indication of error"
+ toMainUpdateDir=""
+ fi
+ fi
+ echo $toMainUpdateDir
}
# compute update site on build server
function updateSiteOnBuildDir()
{
eclipseStream=$1
- if [[ -z "${eclipseStream}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argumnet, for this function $(basename $0)" >&2
- return 1;
+ if [[ -z "${eclipseStream}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argument, for this function $(basename $0)" >&2
+ return 1;
fi
- buildId=$2
- if [[ -z "${buildId}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide buildType as second argumnet, for this function $(basename $0)" >&2
- return 1;
- fi
-
- BUILD_KIND=$3
- if [[ -z "${BUILD_KIND}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)" >&2
- return 1;
+ buildId=$2
+ if [[ -z "${buildId}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide buildType as second argument, for this function $(basename $0)" >&2
+ return 1;
fi
-# contrary to intuition (and previous behavior, bash 3.1) do NOT use quotes around right side of expression.
- if [[ "${eclipseStream}" =~ ([[:digit:]]*)\.([[:digit:]]*)\.([[:digit:]]*) ]]
- then
- eclipseStreamMajor=${BASH_REMATCH[1]}
- eclipseStreamMinor=${BASH_REMATCH[2]}
- eclipseStreamService=${BASH_REMATCH[3]}
- else
- echo "eclipseStream, $eclipseStream, must contain major, minor, and service versions, such as 4.2.0" >&2
- return 1
- fi
- buildType=${buildId:0:1}
-
- if [[ "${BUILD_KIND}" == 'CBI' ]]
- then
- buildRoot=${BUILD_HOME}/${eclipseStreamMajor}${buildType}
- elif [[ "${BUILD_KIND}" == 'PDE' ]]
- then
- buildRoot=/shared/eclipse/eclipse${eclipseStreamMajor}${buildType}
+ # contrary to intuition (and previous behavior, bash 3.1) do NOT use quotes around right side of expression.
+ if [[ "${eclipseStream}" =~ ([[:digit:]]*)\.([[:digit:]]*)\.([[:digit:]]*) ]]
+ then
+ eclipseStreamMajor=${BASH_REMATCH[1]}
+ eclipseStreamMinor=${BASH_REMATCH[2]}
+ eclipseStreamService=${BASH_REMATCH[3]}
else
- echo "ERROR: Unexpected value of BUILD_KIND, $BUILD_KIND" >&2
- return 1
- fi
-
+ echo "eclipseStream, $eclipseStream, must contain major, minor, and service versions, such as 4.2.0" >&2
+ return 1
+ fi
+ buildType=${buildId:0:1}
- if [[ "${BUILD_KIND}" == 'CBI' ]]
- then
- siteDir=${buildRoot}/siteDir
- updatesSuffix="builds"
- fromDir=$siteDir/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-${updatesSuffix}/${buildId}
+ buildRoot=${BUILD_HOME}/${eclipseStreamMajor}${buildType}
- elif [[ "${BUILD_KIND}" == 'PDE' ]]
- then
siteDir=${buildRoot}/siteDir
- updatesSuffix="buildspdebased"
+ updatesSuffix="builds"
fromDir=$siteDir/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-${updatesSuffix}/${buildId}
- else
- echo "ERROR: Unexpected value of BUILD_KIND, $BUILD_KIND" >&2
- return 1
- fi
- echo $fromDir
+ echo $fromDir
}
# compute main part of download server drop directory
@@ -185,34 +136,24 @@ function dropFromBuildDir ()
{
eclipseStream=$1
- buildId=$2
- BUILD_KIND=$3
- pathFromDL=$( dlFromPath "$eclipseStream" "$buildId" "$BUILD_KIND" )
+ buildId=$2
+ pathFromDL=$( dlFromPath "$eclipseStream" "$buildId" )
- if [[ "$pathFromDL" == 1 ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: pathToDL could not be computed." >&2
- return 1
- fi
+ if [[ "$pathFromDL" == 1 ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: pathToDL could not be computed." >&2
+ return 1
+ fi
- eclipseStreamMajor=${eclipseStream:0:1}
+ eclipseStreamMajor=${eclipseStream:0:1}
buildType=${buildId:0:1}
- if [[ "${BUILD_KIND}" == 'CBI' ]]
- then
- buildRoot=${BUILD_HOME}/${eclipseStreamMajor}${buildType}
- elif [[ "${BUILD_KIND}" == 'PDE' ]]
- then
- buildRoot=/shared/eclipse/eclipse${eclipseStreamMajor}${buildType}
- else
- echo "ERROR: BUILD_KIND value not recognized, $BUILD_KIND" >&2
- return 1
- fi
+ buildRoot=${BUILD_HOME}/${eclipseStreamMajor}${buildType}
- siteDir=${buildRoot}/siteDir
+ siteDir=${buildRoot}/siteDir
- fromDir=${siteDir}/${pathFromDL}/${buildId}
+ fromDir=${siteDir}/${pathFromDL}/${buildId}
echo "$fromDir"
@@ -222,170 +163,133 @@ function dropFromBuildDir ()
function dlToPath()
{
eclipseStream=$1
- if [[ -z "${eclipseStream}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argumnet, for this function $(basename $0)" >&2
- return 1;
+ if [[ -z "${eclipseStream}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argument, for this function $(basename $0)" >&2
+ return 1;
fi
- buildId=$2
- if [[ -z "${buildId}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide buildId as second argumnet, for this function $(basename $0)" >&2
- return 1;
+ buildId=$2
+ if [[ -z "${buildId}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide buildId as second argument, for this function $(basename $0)" >&2
+ return 1;
fi
- BUILD_KIND=$3
- if [[ -z "${BUILD_KIND}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)" >&2
- return 1;
- fi
-
-
-
- eclipseStreamMajor=${eclipseStream:0:1}
+ eclipseStreamMajor=${eclipseStream:0:1}
buildType=${buildId:0:1}
-# CBI is "normal" case. In future might have special cases.
- if [[ "${BUILD_KIND}" == 'CBI' ]]
- then
- dropsuffix=""
- else
- dropsuffix="pdebased"
- fi
-
- pathToDL=eclipse/downloads/drops
- if (( $eclipseStreamMajor > 3 ))
- then
- pathToDL=$pathToDL$eclipseStreamMajor
- fi
+ pathToDL=eclipse/downloads/drops
+ if (( $eclipseStreamMajor > 3 ))
+ then
+ pathToDL=$pathToDL$eclipseStreamMajor
+ fi
- pathToDL=$pathToDL$dropsuffix
-#echo "pathToDL: $pathToDL"
- echo $pathToDL
+ echo $pathToDL
}
-# compute main (left part) of download site.
-# because we want "from" on build machine to stay the same, only change "to" part, to be "pdebased"
function dlFromPath()
{
eclipseStream=$1
- if [[ -z "${eclipseStream}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argumnet, for this function $(basename $0)" >&2
- return 1;
+ if [[ -z "${eclipseStream}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argument, for this function $(basename $0)" >&2
+ return 1;
fi
- buildId=$2
- if [[ -z "${buildId}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide buildId as second argumnet, for this function $(basename $0)" >&2
- return 1;
+ buildId=$2
+ if [[ -z "${buildId}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide buildId as second argument, for this function $(basename $0)" >&2
+ return 1;
fi
- BUILD_KIND=$3
- if [[ -z "${BUILD_KIND}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)" >&2
- return 1;
- fi
-
- eclipseStreamMajor=${eclipseStream:0:1}
+ eclipseStreamMajor=${eclipseStream:0:1}
buildType=${buildId:0:1}
-
-
pathFromDL=eclipse/downloads/drops
- if (( $eclipseStreamMajor > 3 ))
- then
- pathFromDL=$pathFromDL$eclipseStreamMajor
- fi
+ if (( $eclipseStreamMajor > 3 ))
+ then
+ pathFromDL=$pathFromDL$eclipseStreamMajor
+ fi
- echo $pathFromDL
+ echo $pathFromDL
}
function syncDropLocation ()
{
echo "start syncDropLocation"
- eclipseStream=$1
- if [[ -z "${eclipseStream}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argumnet, for this function $(basename $0)" >&2
- return 1;
+ eclipseStream=$1
+ if [[ -z "${eclipseStream}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide eclipseStream as first argument, for this function $(basename $0)" >&2
+ return 1;
fi
- echo "eclipseStream: $eclipseStream"
+ echo "eclipseStream: $eclipseStream"
- buildId=$2
- if [[ -z "${buildId}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide buildId as second argumnet, for this function $(basename $0)" >&2
- return 1;
+ buildId=$2
+ if [[ -z "${buildId}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide buildId as second argument, for this function $(basename $0)" >&2
+ return 1;
fi
- echo "buildId: $buildId"
+ echo "buildId: $buildId"
- BUILD_KIND=$3
- if [[ -z "${BUILD_KIND}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)" >&2
- return 1;
- fi
- echo "BUILD_KIND: $BUILD_KIND"
- EBUILDER_HASH=$4
- if [[ -z "${EBUILDER_HASH}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide builder (or aggregator) hash as fourth argumnet, for this function $(basename $0)" >&2
- return 1;
+ EBUILDER_HASH=$3
+ if [[ -z "${EBUILDER_HASH}" ]]
+ then
+ printf "\n\n\t%s\n\n" "ERROR: Must provide builder (or aggregator) hash as fourth argument, for this function $(basename $0)" >&2
+ return 1;
fi
- echo "EBUILDER_HASH: $EBUILDER_HASH"
+ echo "EBUILDER_HASH: $EBUILDER_HASH"
- eclipseStreamMajor=${eclipseStream:0:1}
+ eclipseStreamMajor=${eclipseStream:0:1}
buildType=${buildId:0:1}
- fromDir=$( dropFromBuildDir $eclipseStream $buildId $BUILD_KIND )
- if [[ ! -d "${fromDir}" ]]
- then
- echo "ERROR: fromDir is not a directory? fromDir: ${fromDir}"
- return 1
- fi
-
-
- toDir=$( dropOnDLServer $eclipseStream $buildId $BUILD_KIND )
- if [[ ! -d "${toDir}" ]]
- then
- echo "ERROR: toDir is not a directory? toDir: ${toDir}"
- return 1
- fi
-
- echo " fromDir: ${fromDir}" >&2
- echo " toDir: ${toDir}" >&2
-
-# here, for dl site, best not to preserve times, since (if mirrored)
-# would be more accurate for mirroring system to have
-# actual times (and we are copying only one specific
-# sub-sirectory) (But, we do for now, for easier testing)
- if [[ -n "${fromDir}" && -d "${fromDir}" && -n "${toDir}" && -d "${toDir}" ]]
- then
- rsync --recursive --prune-empty-dirs --exclude="*apitoolingreference/*" --exclude="*org.eclipse.releng.basebuilder/*" --exclude="*eclipse.platform.releng.aggregator/*" --exclude="*repository/*" --exclude="*workspace-*/*" "${fromDir}" "${toDir}"
- rccode=$?
- else
- rccode=9
- fi
- if [[ $rccode != 0 ]]
- then
- echo "ERROR: rsync did not complete normally.rccode: $rccode"
- return $rccode
- else
-# Now update main DL page index pages, to show available
- source /shared/eclipse/sdk/updateIndexFilesFunction.shsource
- updateIndex
- fi
-
-
-
- echo "ending syncDropLocation"
+ fromDir=$( dropFromBuildDir $eclipseStream $buildId )
+ if [[ ! -d "${fromDir}" ]]
+ then
+ echo "ERROR: fromDir is not a directory? fromDir: ${fromDir}"
+ return 1
+ fi
+
+
+ toDir=$( dropOnDLServer $eclipseStream $buildId )
+ if [[ ! -d "${toDir}" ]]
+ then
+ echo "ERROR: toDir is not a directory? toDir: ${toDir}"
+ return 1
+ fi
+
+ echo " fromDir: ${fromDir}" >&1
+ echo " toDir: ${toDir}" >&1
+
+ # here, for dl site, best not to preserve times, since (if mirrored)
+ # would be more accurate for mirroring system to have
+ # actual times (and we are copying only one specific
+ # sub-directory) (But, we do for now, for easier testing)
+ if [[ -n "${fromDir}" && -d "${fromDir}" && -n "${toDir}" && -d "${toDir}" ]]
+ then
+ # Note the slash at end of aggregator ... we do not want to exclude eclipse.platform.releng.aggregator-(builder hash).zip
+ # TODO: remove --verbose, once confident it works as expected.
+ rsync --times --omit-dir-times --recursive --prune-empty-dirs --exclude="*apitoolingreference/*" --exclude="*org.eclipse.releng.basebuilder/*" --exclude="*eclipse.platform.releng.aggregator/*" --exclude="*repository/*" --exclude="*workspace-*/*" "${fromDir}" "${toDir}"
+ rccode=$?
+ else
+ rccode=9
+ fi
+ if [[ $rccode != 0 ]]
+ then
+ echo "ERROR: rsync did not complete normally.rccode: $rccode"
+ return $rccode
+ else
+ # Now update main DL page index pages, to show available
+ source /shared/eclipse/sdk/updateIndexFilesFunction.shsource
+ updateIndex
+ fi
+
+ echo "ending syncDropLocation"
}
diff --git a/production/sdk/promotion/updateDropLocation.sh b/production/sdk/promotion/updateDropLocation.sh
index 97b413a79..93a89d01b 100755
--- a/production/sdk/promotion/updateDropLocation.sh
+++ b/production/sdk/promotion/updateDropLocation.sh
@@ -22,34 +22,15 @@ function dlpath()
return 1;
fi
- BUILD_KIND=$3
- if [[ -z "${BUILD_KIND}" ]]
- then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)"
- return 1;
- fi
-
-
-
eclipseStreamMajor=${eclipseStream:0:1}
buildType=${buildId:0:1}
- # CBI is "normal" one. Other clauses can be added in future for special cases.
- if [[ "${BUILD_KIND}" == "CBI" ]]
- then
- dropsuffix=""
- else
- dropsuffix="pdebased"
- fi
-
pathToDL=eclipse/downloads/drops
if (( $eclipseStreamMajor > 3 ))
then
pathToDL=$pathToDL$eclipseStreamMajor
fi
- pathToDL=$pathToDL$dropsuffix
-
echo $pathToDL
}
@@ -59,8 +40,7 @@ function updatePages()
{
eclipseStream=$1
buildId=$2
- BUILD_KIND=$3
- EBUILDER_HASH=$4
+ EBUILDER_HASH=$3
if [[ -z "${EBUILDER_HASH}" ]]
then
printf "\n\n\t%s\n\n" "ERROR: Must provide builder (or aggregator) hash as fourth argumnet, for this function $(basename $0)"
@@ -76,27 +56,18 @@ function updatePages()
echo "buildType: $buildType"
echo "eclipseStream: $eclipseStream"
echo "buildId: $buildId"
- echo "BUILD_KIND: $BUILD_KIND"
echo "EBUILDER_HASH: $EBUILDER_HASH"
# compute dirctiory on build machine
- dropFromBuildDir=$( dropFromBuildDir "$eclipseStream" "$buildId" "$BUILD_KIND" )
+ dropFromBuildDir=$( dropFromBuildDir "$eclipseStream" "$buildId" )
echo "dropFromBuildDir: $dropFromBuildDir"
- if [[ "${BUILD_KIND}" == "CBI" ]]
- then
+
eclipsebuilder=eclipse.platform.releng.aggregator
ebuilderDropDir="${dropFromBuildDir}/${eclipsebuilder}/production/testScripts"
- elif [[ "${BUILD_KIND}" == "PDE" ]]
- then
- eclipsebuilder=org.eclipse.releng.eclipsebuilder
- ebuilderDropDir="${builderDir}/testScripts"
- else
- echo "ERROR: Unexpected value of BUILD_KIND, $BUILD_KIND"
- fi
echo "DEBUG: ebuilderDropDir: ${ebuilderDropDir}"
- ${ebuilderDropDir}/updateTestResultsPages.sh $eclipseStream $buildId $BUILD_KIND
+ ${ebuilderDropDir}/updateTestResultsPages.sh $eclipseStream $buildId
rccode=$?
if [[ $rccode != 0 ]]
then
@@ -111,20 +82,18 @@ function updatePages()
# it requires four arguments
# eclipseStream (e.g. 4.2 or 3.8)
# buildId (e.g. N20120415-2015)
-# BUILD_KIND (CBI or special case)
# EBUILDER_HASH (SHA1 HASH or branch of eclipse builder to used
-if [[ $# != 4 ]]
+if [[ "${#}" != "3" ]]
then
# usage:
scriptname=$(basename $0)
- printf "\n\t%s\n" "This script, $scriptname requires four arguments, in order: "
+ printf "\n\t%s\n" "This script, $scriptname requires three arguments, in order: "
printf "\t\t%s\t%s\n" "eclipseStream" "(e.g. 4.2.2 or 3.8.2) "
printf "\t\t%s\t%s\n" "buildId" "(e.g. N20120415-2015) "
- printf "\t\t%s\t%s\n" "BUILD_KIND" "(e.g. CBI or special case) "
printf "\t\t%s\t%s\n" "EBUILDER_HASH" "(SHA1 HASH for eclipe builder used) "
printf "\t%s\n" "for example,"
- printf "\t%s\n\n" "./$scriptname 4.2 N N20120415-2015 CBI master"
+ printf "\t%s\n\n" "./$scriptname 4.2 N20120415-2015 master"
exit 1
fi
@@ -146,15 +115,7 @@ then
fi
echo "buildId: $buildId"
-BUILD_KIND=$3
-if [[ -z "${BUILD_KIND}" ]]
-then
- printf "\n\n\t%s\n\n" "ERROR: Must provide BUILD_KIND as third argumnet, for this function $(basename $0)"
- exit 1
-fi
-echo "BUILD_KIND: $BUILD_KIND"
-
-EBUILDER_HASH=$4
+EBUILDER_HASH=$3
if [[ -z "${EBUILDER_HASH}" ]]
then
printf "\n\n\t%s\n\n" "ERROR: Must provide builder (or aggregator) hash as fourth argumnet, for this function $(basename $0)"
@@ -167,8 +128,8 @@ buildType=${buildId:0:1}
echo "buildType: $buildType"
# = = = = = = = = =
-# compute dirctiory on build machine
-dropFromBuildDir=$( dropFromBuildDir "$eclipseStream" "$buildId" "$BUILD_KIND" )
+# compute directory on build machine
+dropFromBuildDir=$( dropFromBuildDir "$eclipseStream" "$buildId" )
echo "dropFromBuildDir: $dropFromBuildDir"
if [[ "${dropFromBuildDir}" == "1" ]]
@@ -184,9 +145,9 @@ then
exit 1
fi
SCRIPTDIR=$( dirname $0 )
-${SCRIPTDIR}/getEBuilder.sh "${BUILD_KIND}" "${EBUILDER_HASH}" "${dropFromBuildDir}"
+${SCRIPTDIR}/getEBuilder.sh "${EBUILDER_HASH}" "${dropFromBuildDir}"
-updatePages $eclipseStream $buildId $BUILD_KIND "${EBUILDER_HASH}"
+updatePages $eclipseStream $buildId "${EBUILDER_HASH}"
rccode=$?
if [ $rccode -ne 0 ]
then
@@ -194,7 +155,7 @@ then
exit $rccode
fi
-syncDropLocation "$eclipseStream" "$buildId" "$BUILD_KIND" "${EBUILDER_HASH}"
+syncDropLocation "$eclipseStream" "$buildId" "${EBUILDER_HASH}"
rccode=$?
if [ $rccode -ne 0 ]
then
@@ -204,4 +165,3 @@ fi
exit 0
-
diff --git a/production/sdk/startTests.sh b/production/sdk/startTests.sh
index 449259543..951c44382 100755
--- a/production/sdk/startTests.sh
+++ b/production/sdk/startTests.sh
@@ -29,8 +29,7 @@ source buildParams.shsource 2>/dev/null
# which is how invoke from "promote script"
eclipseStream=${eclipseStream:-${1}}
buildId=${buildId:-${2}}
-BUILD_KIND=${BUILD_KIND:-${3}}
-EBUILDER_HASH=${EBUILDER_HASH:-${4}}
+EBUILDER_HASH=${EBUILDER_HASH:-${3}}
if [[ -z ${eclipseStream} || -z ${buildId} ]]
then
@@ -39,11 +38,6 @@ then
exit 1
fi
-if [[ -z "${BUILD_KIND}" ]]
-then
- BUILD_KIND=CBI
-fi
-
if [[ -z "${EBUILDER_HASH}" ]]
then
EBUILDER_HASH=master
@@ -72,7 +66,7 @@ else
exit 1
fi
-source buildeclipse.shsource 2>/dev/null
+source localbuildproperties.shsource 2>/dev/null
echo "values in ${0}"
echo "eclipseStream: $eclipseStream"
@@ -81,7 +75,6 @@ echo "eclipseStreamMinor: $eclipseStreamMinor"
echo "eclipseStreamService: $eclipseStreamService"
echo "buildType: $buildType"
echo "buildId: $buildId"
-echo "BUILD_KIND: $BUILD_KIND"
echo "EBUILDER_HASH: $EBUILDER_HASH"
@@ -107,7 +100,6 @@ HUDSON_TOKEN=windows2012tests ant \
-DpostingDirectory=${postingDirectory} \
-DbuildId=${buildId} \
-DeclipseStream=${eclipseStream} \
- -DBUILD_KIND=${BUILD_KIND} \
-DEBUILDER_HASH=${EBUILDER_HASH} \
-f ${builderDir}/invokeTestsJSON.xml
diff --git a/production/sdk/testdataCronJob.sh b/production/sdk/testdataCronJob.sh
index f8286bf44..67003a1fd 100755
--- a/production/sdk/testdataCronJob.sh
+++ b/production/sdk/testdataCronJob.sh
@@ -12,7 +12,7 @@
# Start with minimal path for consistency across machines
# plus, cron jobs do not inherit an environment
# care is needed not have anything in ${HOME}/bin that would effect the build
-# unintentionally, but is required to make use of "source buildeclipse.shsource" on
+# unintentionally, but is required to make use of "source localbuildproperties.shsource" on
# local machines.
# Likely only a "release engineer" would be interested, such as to override "SIGNING" (setting it
# to false) for a test I-build on a remote machine.
diff --git a/production/sdk/updateIndexFilesFunction.shsource b/production/sdk/updateIndexFilesFunction.shsource
index f476743e5..ce037226d 100644
--- a/production/sdk/updateIndexFilesFunction.shsource
+++ b/production/sdk/updateIndexFilesFunction.shsource
@@ -11,9 +11,9 @@
function internalUpdateIndex ()
{
- # this buildeclipse.shsource file is to ease local builds to override some variables.
+ # this localbuildproperties.shsource file is to ease local builds to override some variables.
# It should not be used for production builds.
- source buildeclipse.shsource 2>/dev/null
+ source localbuildproperties.shsource 2>/dev/null
SITE_HOST=${SITE_HOST:-download.eclipse.org}
#echo "SITE_HOST: $SITE_HOST"
diff --git a/production/sdk/wgetFresh.sh b/production/sdk/wgetFresh.sh
index 8501d231d..70fae23bc 100755
--- a/production/sdk/wgetFresh.sh
+++ b/production/sdk/wgetFresh.sh
@@ -2,6 +2,12 @@
# gets a fresh copy of utility scripts
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
+# It should not be used for production builds.
+source localbuildproperties.shsource 2>/dev/null
+
+export GIT_HOST=${GIT_HOST:-"git.eclipse.org"}
+
# codifying the branch (or tag) to use, so it can be set/chagned in one place
initScriptTag="h=master"
@@ -12,13 +18,13 @@ initScriptTag="h=master"
source checkForErrorExit.sh
gitfile=makeBranch.sh
-wget --no-verbose -O ${gitfile} http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${gitfile}?$initScriptTag 2>&1;
+wget --no-verbose -O ${gitfile} http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${gitfile}?$initScriptTag 2>&1;
checkForErrorExit $? "could not wget file: ${gitfile}"
gitfile=renameBuild.sh
-wget --no-verbose -O ${gitfile} http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${gitfile}?$initScriptTag 2>&1;
+wget --no-verbose -O ${gitfile} http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${gitfile}?$initScriptTag 2>&1;
checkForErrorExit $? "could not wget file: ${gitfile}"
gitfile=checkForErrorExit.sh
-wget --no-verbose -O ${gitfile} http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${gitfile}?$initScriptTag 2>&1;
+wget --no-verbose -O ${gitfile} http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${gitfile}?$initScriptTag 2>&1;
checkForErrorExit $? "could not wget file: ${gitfile}"
# get this script itself (would have to run twice to make use changes, naturally)
@@ -26,7 +32,7 @@ checkForErrorExit $? "could not wget file: ${gitfile}"
# but will remove it if no differences found.
# and a command line like the following works well
-wget --no-verbose -O wgetFresh.NEW.sh http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/wgetFresh.sh?$initScriptTag 2>&1;
+wget --no-verbose -O wgetFresh.NEW.sh http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/wgetFresh.sh?$initScriptTag 2>&1;
differs=`diff wgetFresh.NEW.sh wgetFresh.sh`
diff --git a/production/sdk/wgetFreshSDKdir.sh b/production/sdk/wgetFreshSDKdir.sh
index 94528e2dc..43a7e0844 100755
--- a/production/sdk/wgetFreshSDKdir.sh
+++ b/production/sdk/wgetFreshSDKdir.sh
@@ -4,13 +4,24 @@
# need to manually check and make sure nothing is running or will
# be running soon.
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
+# It should not be used for production builds.
+source localbuildproperties.shsource 2>/dev/null
+export GIT_HOST=${GIT_HOST:-"git.eclipse.org"}
+
+
# codifying the branch (or tag) to use, so it can be set/chagned in one place
branch=master
initScriptTag="h=$branch"
# to use a tag instead of branch, would be tag=X, such as
# tag=vI20120417-0700, or in full form
-# http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/wgetFresh.sh?tag=vI20120417-0700
+# http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/wgetFresh.sh?tag=vI20120417-0700
+
+# this localbuildproperties.shsource file is to ease local builds to override some variables.
+# It should not be used for production builds.
+source localbuildproperties.shsource 2>/dev/null
+export GIT_HOST=${GIT_HOST:-"git.eclipse.org"}
source /shared/eclipse/sdk/checkForErrorExit.sh
@@ -21,7 +32,7 @@ source /shared/eclipse/sdk/checkForErrorExit.sh
# first get a fresh copy of just this file, put in parent directory
# since overtime there will be few changes and can re-invoke from there.
#fileToGet=wgetFreshSDKdir.sh
-#wget --no-verbose -O ../${fileToGet} http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${fileToGet}?${initScriptTag} 2>&1
+#wget --no-verbose -O ../${fileToGet} http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${fileToGet}?${initScriptTag} 2>&1
#checkForErrorExit $? "could not wget file: ${fileToGet}"
#chmod -c +x ../${fileToGet}
cd /shared/eclipse
@@ -32,8 +43,8 @@ rm -fr tempeb 2>/dev/null
mkdir -p tempeb
checkForErrorExit $? "could not mkdir?!"
-#wget -O master.zip http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/snapshot/master.zip
-wget -O master.zip http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/snapshot/master.zip
+#wget -O master.zip http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/snapshot/master.zip
+wget -O master.zip http://${GIT_HOST}/c/platform/eclipse.platform.releng.aggregator.git/snapshot/master.zip
checkForErrorExit $? "could not get aggregator?!"
unzip -q ${branch}.zip -d tempeb
diff --git a/production/tag-build-input.sh b/production/tag-build-input.sh
index 34cf26628..c3cfe0867 100644
--- a/production/tag-build-input.sh
+++ b/production/tag-build-input.sh
@@ -21,7 +21,7 @@ source "$1"
cd $BUILD_ROOT
# derived values
-gitCache=$( fn-git-cache "$BUILD_ROOT" "$BRANCH" )
+gitCache=$( fn-git-cache "$BUILD_ROOT" )
aggDir=$( fn-git-dir "$gitCache" "$AGGREGATOR_REPO" )
repositories=$( echo $STREAMS_PATH/repositories${PATCH_BUILD}.txt )
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux/equinoxp2tests.properties
index 30c9b8af4..d7ce00908 100644
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux/equinoxp2tests.properties
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/linux/equinoxp2tests.properties
@@ -1,9 +1,19 @@
-#Fri Oct 22 11:38:18 EDT 2010
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=@executionDir@/eclipse-platform-3.7.2-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.tests.current.build.repo=@org.eclipse.equinox.p2.tests.current.build.repo@
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=@executionDir@\\eclipse-platform-3.7.2-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=@executionDir@/eclipse-platform-3.7.2-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=@executionDir@/eclipse-platform-@buildId@-linux-gtk-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=@executionDir@\\eclipse-platform-@buildId@-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=@executionDir@/eclipse-platform-@buildId@-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
+#Properties required by equinox p2 tests
+#Version from production/testScripts/configuration/sdk.tests/testConfigs
+
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=\${basedir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=\${basedir}\\eclipse-platform-${buildId}-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-${buildId}-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
+
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=\${basedir}/eclipse-platform-4.4-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=\${basedir}\\\\eclipse-platform-4.4-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-4.4-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=\${basedir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
+
+org.eclipse.equinox.p2.tests.current.build.repo=http\://${DOWNLOAD_HOST}/eclipse/updates/${eclipseStreamMajor}.${eclipseStreamMinor}-${buildType}-builds/${buildId}
+org.eclipse.equinox.p2.tests.last.release.build.repo=http\://${DOWNLOAD_HOST}/eclipse/updates/4.4/R-4.4-201406061215
\ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties
index 8c89deb00..c473a8694 100644
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/linux/testing.properties
@@ -26,8 +26,8 @@ runtimeDeltapack=eclipse-${buildId}-delta-pack.zip
#name of Platform runtime to install and test
runtimePlatform=eclipse-platform-${buildId}-linux-gtk.tar.gz
-# Not currently used on eclipse.org tests
-previousRuntimePlatform=eclipse-platform-3.7.1-linux-gtk.tar.gz
+#Used to have a stable version of p2 director?
+previousRuntimePlatformVersion=4.4
#directory where test scripts are launched
executionDir=${testDir}/eclipse-testing
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/equinoxp2tests.properties
index 4455946df..fec7ef26a 100644
--- a/production/testScripts/configuration/sdk.tests/testConfigs/linux32/equinoxp2tests.properties
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/linux32/equinoxp2tests.properties
@@ -1,9 +1,17 @@
-#Fri Oct 22 11:38:18 EDT 2010
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=@executionDir@/eclipse-platform-3.7.2-linux-gtk.tar.gz
-org.eclipse.equinox.p2.tests.current.build.repo=@org.eclipse.equinox.p2.tests.current.build.repo@
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=@executionDir@\\eclipse-platform-3.7.2-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=@executionDir@/eclipse-platform-3.7.2-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=@executionDir@/eclipse-platform-@buildId@-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=@executionDir@\\eclipse-platform-@buildId@-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=@executionDir@/eclipse-platform-@buildId@-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
+#Properties required by equinox p2 tests
+#Wed, 14 Mar 2012 19:41:56 -0400
+
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=\${basedir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=\${basedir}\\eclipse-platform-${buildId}-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-${buildId}-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=\${basedir}/eclipse-platform-4.4-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=\${basedir}\\\\eclipse-platform-4.4-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-4.4-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=\${basedir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.tests.current.build.repo=file:/shared/eclipse/e4/lts/eclipse.platform.releng.aggregator/eclipse.platform.repository/target/repository/
+org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
\ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macmini/equinoxp2tests.properties
index 4455946df..fec7ef26a 100644
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macmini/equinoxp2tests.properties
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/macmini/equinoxp2tests.properties
@@ -1,9 +1,17 @@
-#Fri Oct 22 11:38:18 EDT 2010
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=@executionDir@/eclipse-platform-3.7.2-linux-gtk.tar.gz
-org.eclipse.equinox.p2.tests.current.build.repo=@org.eclipse.equinox.p2.tests.current.build.repo@
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=@executionDir@\\eclipse-platform-3.7.2-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=@executionDir@/eclipse-platform-3.7.2-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=@executionDir@/eclipse-platform-@buildId@-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=@executionDir@\\eclipse-platform-@buildId@-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=@executionDir@/eclipse-platform-@buildId@-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
+#Properties required by equinox p2 tests
+#Wed, 14 Mar 2012 19:41:56 -0400
+
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=\${basedir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=\${basedir}\\eclipse-platform-${buildId}-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-${buildId}-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=\${basedir}/eclipse-platform-4.4-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=\${basedir}\\\\eclipse-platform-4.4-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-4.4-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=\${basedir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.tests.current.build.repo=file:/shared/eclipse/e4/lts/eclipse.platform.releng.aggregator/eclipse.platform.repository/target/repository/
+org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
\ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/macosx/equinoxp2tests.properties
index d3d6a5770..fec7ef26a 100644
--- a/production/testScripts/configuration/sdk.tests/testConfigs/macosx/equinoxp2tests.properties
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/macosx/equinoxp2tests.properties
@@ -1,9 +1,17 @@
-#Fri Oct 22 11:38:18 EDT 2010
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=@executionDir@/eclipse-platform-3.7.2-linux-gtk.tar.gz
-org.eclipse.equinox.p2.tests.current.build.repo=@org.eclipse.equinox.p2.tests.current.build.repo@
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=@executionDir@\\eclipse-platform-3.7.2-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=@executionDir@/eclipse-platform-3.7.2-macosx-cocoa-x86_64.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=@executionDir@/eclipse-platform-@buildId@-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=@executionDir@\\eclipse-platform-@buildId@-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=@executionDir@/eclipse-platform-@buildId@-macosx-cocoa-x86_64.tar.gz
-org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
+#Properties required by equinox p2 tests
+#Wed, 14 Mar 2012 19:41:56 -0400
+
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=\${basedir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=\${basedir}\\eclipse-platform-${buildId}-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-${buildId}-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=\${basedir}/eclipse-platform-4.4-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=\${basedir}\\\\eclipse-platform-4.4-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-4.4-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=\${basedir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.tests.current.build.repo=file:/shared/eclipse/e4/lts/eclipse.platform.releng.aggregator/eclipse.platform.repository/target/repository/
+org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
\ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/equinoxp2tests.properties
index ce25cea6e..fec7ef26a 100644
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/equinoxp2tests.properties
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/win7-64/equinoxp2tests.properties
@@ -1,9 +1,17 @@
-#Fri Oct 22 11:38:18 EDT 2010
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=@executionDir@\\eclipse-platform-3.7.2-linux-gtk.tar.gz
-org.eclipse.equinox.p2.tests.current.build.repo=@org.eclipse.equinox.p2.tests.current.build.repo@
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=@executionDir@\\eclipse-platform-3.7.2-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=@executionDir@\\eclipse-platform-3.7.2-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=@executionDir@\\eclipse-platform-@buildId@-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=@executionDir@\\eclipse-platform-@buildId@-win32-x86_64.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=@executionDir@\\eclipse-platform-@buildId@-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
+#Properties required by equinox p2 tests
+#Wed, 14 Mar 2012 19:41:56 -0400
+
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=\${basedir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=\${basedir}\\eclipse-platform-${buildId}-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-${buildId}-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=\${basedir}/eclipse-platform-4.4-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=\${basedir}\\\\eclipse-platform-4.4-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-4.4-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=\${basedir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.tests.current.build.repo=file:/shared/eclipse/e4/lts/eclipse.platform.releng.aggregator/eclipse.platform.repository/target/repository/
+org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
\ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testConfigs/win7/equinoxp2tests.properties b/production/testScripts/configuration/sdk.tests/testConfigs/win7/equinoxp2tests.properties
index 1d4718a55..fec7ef26a 100644
--- a/production/testScripts/configuration/sdk.tests/testConfigs/win7/equinoxp2tests.properties
+++ b/production/testScripts/configuration/sdk.tests/testConfigs/win7/equinoxp2tests.properties
@@ -1,9 +1,17 @@
-#Fri Oct 22 11:38:18 EDT 2010
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=@executionDir@\\eclipse-platform-3.7.2-linux-gtk.tar.gz
-org.eclipse.equinox.p2.tests.current.build.repo=@org.eclipse.equinox.p2.tests.current.build.repo@
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=@executionDir@\\eclipse-platform-3.7.2-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=@executionDir@\\eclipse-platform-3.7.2-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=@executionDir@\\eclipse-platform-@buildId@-linux-gtk.tar.gz
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=@executionDir@\\eclipse-platform-@buildId@-win32.zip
-org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=@executionDir@\\eclipse-platform-@buildId@-macosx-cocoa.tar.gz
-org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
+#Properties required by equinox p2 tests
+#Wed, 14 Mar 2012 19:41:56 -0400
+
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux=\${basedir}/eclipse-platform-${buildId}-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-${buildId}-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32=\${basedir}\\eclipse-platform-${buildId}-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-${buildId}-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-${buildId}-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux=\${basedir}/eclipse-platform-4.4-linux-gtk.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.linux-x86_64=\${basedir}/eclipse-platform-4.4-linux-gtk-x86_64.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32=\${basedir}\\\\eclipse-platform-4.4-win32.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.win32-x86_64=\${basedir}\\\\eclipse-platform-4.4-win32-x86_64.zip
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx=\${basedir}/eclipse-platform-4.4-macosx-cocoa.tar.gz
+org.eclipse.equinox.p2.reconciler.tests.lastrelease.platform.archive.macosx-x86_64=\${basedir}/eclipse-platform-4.4-macosx-cocoa-x86_64.tar.gz
+org.eclipse.equinox.p2.tests.current.build.repo=file:/shared/eclipse/e4/lts/eclipse.platform.releng.aggregator/eclipse.platform.repository/target/repository/
+org.eclipse.equinox.p2.tests.last.release.build.repo=http\://download.eclipse.org/eclipse/updates/4.1/R-4.1.2-201202230900
\ No newline at end of file
diff --git a/production/testScripts/configuration/sdk.tests/testScripts/test.xml b/production/testScripts/configuration/sdk.tests/testScripts/test.xml
index 3f1b33766..707e88355 100644
--- a/production/testScripts/configuration/sdk.tests/testScripts/test.xml
+++ b/production/testScripts/configuration/sdk.tests/testScripts/test.xml
@@ -1,6 +1,6 @@
@@ -102,6 +102,15 @@
value="true">
+
+
+
+
+
@@ -340,18 +349,23 @@
- -installIU ${extraIU} +
+ -installExtraIU ${extraIU} +
+ from ${currentBuildRepo}
+ into ${eclipse-home}
+ using launcher: ${launcherPath}
+
@@ -375,18 +389,23 @@
name="launcherPath"
refid="launcher.paths" />
- -installIU ${testPlugin} +
+ -installTestIU ${testPlugin} +
+ from ${repoLocation}
+ into ${eclipse-home}
+ using launcher: ${launcherPath}
+
@@ -422,6 +441,7 @@
+
@@ -1342,7 +1362,7 @@
-
+
@@ -1455,9 +1475,9 @@
relatively quick, and realtively reliable on build.eclipse.org hardware
-->
-
- -->
+
diff --git a/production/testScripts/configuration/streamSpecific-build.properties b/production/testScripts/configuration/streamSpecific-build.properties
index 930d6e25e..2fb03bb9e 100644
--- a/production/testScripts/configuration/streamSpecific-build.properties
+++ b/production/testScripts/configuration/streamSpecific-build.properties
@@ -6,7 +6,7 @@
# purely title or identifier for display, to help confirm right file
# is being retrived and used.
-streamSpecificPropertiesTitle="Properties for 4.4.0 builds and tests"
+streamSpecificPropertiesTitle="Properties for 4.5.0 builds and tests"
# emfRepoURL should NOT be defined in 38 builds, so the
# builder will know to "skip" tasks related to EMF
@@ -18,20 +18,23 @@ streamSpecificPropertiesTitle="Properties for 4.4.0 builds and tests"
# TODO: we could likely get rid of this section,
# now that we have ${eclipseStreamMajor} and ${eclipseStreamMinor} available in main scripts
# (but, we'd still need _this_ file anyway, so can improve these repo location variables later.
- p2repoN=http://@localmirror@/eclipse/updates/4.4-N-builds
- p2repoI=http://@localmirror@/eclipse/updates/4.4-I-builds
- p2repoM=http://@localmirror@/eclipse/updates/4.4-M-builds
- p2repoNPath=/eclipse/updates/4.4-N-builds
- p2repoIPath=/eclipse/updates/4.4-I-builds
- p2repoMPath=/eclipse/updates/4.3-M-builds
- p2repopreviousR=http://@localmirror@/eclipse/updates/4.3/R-4.3.2-201402211700
- p2repoXPath=/eclipse/updates/4.4-X-builds
-
+# p2repoN=http://@localmirror@/eclipse/updates/4.4-N-builds
+# p2repoI=http://@localmirror@/eclipse/updates/4.4-I-builds
+# p2repoM=http://@localmirror@/eclipse/updates/4.4-M-builds
+# p2repoNPath=/eclipse/updates/4.4-N-builds
+# p2repoIPath=/eclipse/updates/4.4-I-builds
+# p2repoMPath=/eclipse/updates/4.3-M-builds
+# p2repoXPath=/eclipse/updates/4.4-X-builds
+
+ stableDirectorLocation=http://${DOWNLOAD_HOST}/eclipse/downloads/drops4/R-4.4-201406061215
+ # version here is "build label" ... in general form, the "middle" of archive name,
+ # such as "eclipse-platform-${stableDirectorVersion}-linux-gtk-x86_64.tar.gz
+ stableDirectorVersion=4.4
# Note: API tests needs the _base_ of previous release, and also the previous service release
# Bug 378587 - update releng tests (data) to go work against previous release
# Bug 380033 - temp fix to hard code 'archive.eclipse.org' for now
- apiTestsPreviousBaseDLBaseURL=http://${ARCHIVE_HOST}/eclipse/downloads/drops4/R-4.1-201106201631
- apiTestsPreviousBaseWin32Filename=eclipse-SDK-4.1-win32.zip
- apiTestsPreviousRefererenceBaseDLBaseURL=http://${ARCHIVE_HOST}/eclipse/downloads/drops4/R-4.1.2-201202230900
- apiTestsPreviousRefererenceWin32Filename=eclipse-SDK-4.1.2-win32.zip
+ apiTestsPreviousBaseDLBaseURL=http://${DOWNLOAD_HOST}/eclipse/downloads/drops4/R-4.4-201406061215
+ apiTestsPreviousBaseWin32Filename=eclipse-SDK-4.4-win32.zip
+ apiTestsPreviousRefererenceBaseDLBaseURL=http://${DOWNLOAD_HOST}/eclipse/downloads/drops4/R-4.3.2-201402211700
+ apiTestsPreviousRefererenceWin32Filename=eclipse-SDK-4.3.2-win32.zip
diff --git a/production/testScripts/genTestIndexes.xml b/production/testScripts/genTestIndexes.xml
index 72832fc19..904559627 100644
--- a/production/testScripts/genTestIndexes.xml
+++ b/production/testScripts/genTestIndexes.xml
@@ -6,7 +6,6 @@
-