Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'production/sdk/bootstrap/mb4P_hudson.sh')
-rwxr-xr-xproduction/sdk/bootstrap/mb4P_hudson.sh134
1 files changed, 134 insertions, 0 deletions
diff --git a/production/sdk/bootstrap/mb4P_hudson.sh b/production/sdk/bootstrap/mb4P_hudson.sh
new file mode 100755
index 000000000..2c83db837
--- /dev/null
+++ b/production/sdk/bootstrap/mb4P_hudson.sh
@@ -0,0 +1,134 @@
+#!/usr/bin/env bash
+
+# This job is just like its cronjob counter part, except it
+# turns off verbose debugging (else Hudson logs would be 300 MB)
+# and does not pipe output to separate files, but lets it all go
+# to Hudson't "console".
+# Normally resides in $BUILD_HOME
+
+function usage()
+{
+ printf "\n\tSimple script start a build of a certain stream." >&2
+ printf "\n\tUsage: %s [[-h] | [-t]] " $(basename $0) >&2
+ printf "\n\t\t%s\n" "where h==help, t==test build " >&2
+}
+
+# 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 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.
+export PATH=/usr/local/bin:/usr/bin:/bin:${HOME}/bin
+# unset common variables (some defined for genie.releng) which we don't want (or, set ourselves)
+unset JAVA_HOME
+unset JAVA_ROOT
+unset JAVA_JRE
+unset CLASSPATH
+unset JAVA_BINDIR
+unset JRE_HOME
+
+# 0002 is often the default for shell users, but it is not when ran from
+# a cron job, so we set it explicitly, so releng group has write access to anything
+# we create.
+NEWUMASK="0002"
+oldumask=$(umask)
+umask $NEWUMASK
+
+echo "ulimit (file handles): $( ulimit -n ) "
+ulimit -n 4096
+echo "ulimit (file handles): $( ulimit -n ) "
+
+echo "locale charmap: $(locale charmap)"
+echo "LC_ALL: $LC_ALL"
+echo "LANG: $LANG"
+echo "LANGUAGE: $LANGUAGE"
+export LC_ALL=en_US.UTF-8
+export LANG=en_US.UTF-8
+export LANGUAGE=en_US.UTF-8
+echo "LC_ALL: $LC_ALL"
+echo "LANG: $LANG"
+echo "LANGUAGE: $LANGUAGE"
+echo "locale charmap: $(locale charmap)"
+
+# all optional
+# normally, when ran from crobjob, none should be specified
+while getopts 'ht' OPTION
+do
+ case $OPTION in
+ h) usage
+ exit
+ ;;
+ t) export testbuildonly=true
+ ;;
+ esac
+done
+
+# 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
+
+# BUILD_HOME defines the "top" of the build area (for all types of builds)
+export BUILD_HOME=${BUILD_HOME:-/shared/eclipse/builds}
+
+SCRIPT_NAME=$0
+
+echo "Starting $SCRIPT_NAME at $( date +%Y%m%d-%H%M ) "
+
+echo "umask explicitly set to $NEWUMASK, old value was $oldumask"
+
+# use BETA_JAVA_18_3 to do a "complete build" that includes Java 10 beta code
+# use master to literally build "just the three" bundles that are required.
+#export BRANCH=BETA_JAVA_11
+export BRANCH=master
+export BUILD_TYPE=P
+export STREAM=4.9.0
+export PATCH_BUILD=java11patch49
+
+eclipseStreamMajor=${STREAM:0:1}
+
+# unique short name for stream and build type
+BUILDSTREAMTYPEDIR=${eclipseStreamMajor}$BUILD_TYPE
+
+export BUILD_ROOT=${BUILD_HOME}/${BUILDSTREAMTYPEDIR}
+
+# These values for proxies come from the configuration files of the Releng HIPP instance.
+# They are normally defined in "ANT_OPTS" and similar environment variables, but
+# the JavaDoc program requires them is this special -Jflag form.
+export JAVA_DOC_PROXIES=${JAVA_DOC_PROXIES:-"-J-Dhttps.proxyHost=proxy.eclipse.org -J-Dhttps.proxyPort=9898 -J-Dhttps.nonProxyHosts=\"172.30.206.*\""}
+
+# These definitions are primarily for Curl. (Wget and other programs use different env variables or parameters
+export NO_PROXY=${NO_PROXY:-eclipse.org,build.eclipse.org,download.eclipse.org,archive.eclipse.org,dev.eclipes.org,git.eclipse.org}
+export ALL_PROXY=${ALL_PROXY:-proxy.eclipse.org:9898}
+
+# default (later) is set to 'true'.
+# set to false here for less output.
+# setting to false until bug 495750 is fixed, else too much output.
+# export MVN_DEBUG=false
+
+
+export PRODUCTION_SCRIPTS_DIR=production
+if [[ -z "${WORKSPACE}" ]]
+then
+ export RUNNING_ON_HUDSON=false
+else
+ export RUNNING_ON_HUDSON=true
+fi
+echo -e "\n\t[INFO]RUNNING_ON_HUDSON: $RUNNING_ON_HUDSON"
+
+# To allow this cron job to work from hudson, or traditional crontab
+if [[ -z "${WORKSPACE}" ]]
+then
+ export UTILITIES_HOME=/shared/eclipse
+ source $BUILD_HOME/bootstrap.shsource
+ makeProductionDirectoryOnBuildMachine
+ # build_eclipse_org.shsource should come from branch
+ # though ideally the rest of "production" directory would be identical between branches.
+${BUILD_ROOT}/${PRODUCTION_SCRIPTS_DIR}/master-build.sh "${BUILD_ROOT}/${PRODUCTION_SCRIPTS_DIR}/build_eclipse_org.shsource"
+else
+ export UTILITIES_HOME=${WORKSPACE}/utilities/production
+ source $UTILITIES_HOME/sdk/bootstrap/bootstrap.shsource
+ $UTILITIES_HOME/master-build.sh $UTILITIES_HOME/build_eclipse_org.shsource
+fi
+

Back to the top