Skip to main content
diff options
Diffstat (limited to 'production/sdk/bootstrap/')
1 files changed, 134 insertions, 0 deletions
diff --git a/production/sdk/bootstrap/ b/production/sdk/bootstrap/
new file mode 100755
index 000000000..2c83db837
--- /dev/null
+++ b/production/sdk/bootstrap/
@@ -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 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.
+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"
+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 "locale charmap: $(locale charmap)"
+# all optional
+# normally, when ran from crobjob, none should be specified
+while getopts 'ht' OPTION
+ case $OPTION in
+ h) usage
+ exit
+ ;;
+ t) export testbuildonly=true
+ ;;
+ esac
+# 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}
+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
+# unique short name for stream and build type
+# 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.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=${,,,,,}
+export ALL_PROXY=${}
+# 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}" ]]
+ export RUNNING_ON_HUDSON=false
+ export RUNNING_ON_HUDSON=true
+# To allow this cron job to work from hudson, or traditional crontab
+if [[ -z "${WORKSPACE}" ]]
+ 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.
+ export UTILITIES_HOME=${WORKSPACE}/utilities/production
+ source $UTILITIES_HOME/sdk/bootstrap/bootstrap.shsource
+ $UTILITIES_HOME/ $UTILITIES_HOME/build_eclipse_org.shsource

Back to the top