2017-04-21 18:33:55 -06:00
|
|
|
#!/bin/bash -v
|
|
|
|
set -xe
|
|
|
|
|
2017-10-30 16:21:12 -04:00
|
|
|
# Determine where we are
|
2017-04-21 18:33:55 -06:00
|
|
|
path_to_script=`readlink -f $0`
|
|
|
|
dir=$(dirname $path_to_script)
|
2017-10-30 16:21:12 -04:00
|
|
|
source ${dir}/buildEnvironment.sh
|
2017-04-21 18:33:55 -06:00
|
|
|
|
|
|
|
export _script_dir=${dir}
|
|
|
|
echo "Running build.sh from ${_script_dir}"
|
|
|
|
echo " JENKINS_WORKSPACE = ${JENKINS_WORKSPACE}"
|
2017-10-30 16:21:12 -04:00
|
|
|
cd ${dir}
|
2017-11-14 12:42:26 -07:00
|
|
|
logdir=${dir}/logs
|
|
|
|
|
|
|
|
if [ ! -d $logdir ]; then
|
|
|
|
mkdir -p $logdir
|
|
|
|
fi
|
2017-04-21 18:33:55 -06:00
|
|
|
|
|
|
|
START_TIME=`date "+%s"`
|
|
|
|
timestamp=`date +%Y_%m_%d_%H:%M:%S`
|
|
|
|
|
2017-10-30 16:21:12 -04:00
|
|
|
# Cleanup before building CAVE rpms
|
|
|
|
if [[ ${2} = "buildCAVE" ]]; then
|
|
|
|
rm -rf ${JENKINS_HOME}/buildspace/workspace/AWIPS2-UPC_build/baseline/
|
|
|
|
rm -rf ${JENKINS_HOME}/buildspace/workspace/tmp/${USER}/
|
|
|
|
fi
|
2017-04-21 18:33:55 -06:00
|
|
|
|
|
|
|
echo "BUILD_DIR = $BUILD_DIR"
|
|
|
|
echo "BUILD_WORKSPACE = $BUILD_WORKSPACE"
|
|
|
|
echo "BASELINE = $BASELINE"
|
2017-10-30 16:21:12 -04:00
|
|
|
echo "WORKSPACE = $WORKSPACE"
|
2017-04-21 18:33:55 -06:00
|
|
|
echo "AWIPSII_VERSION = $AWIPSII_VERSION"
|
|
|
|
echo "AWIPSII_RELEASE = $AWIPSII_RELEASE"
|
|
|
|
echo "AWIPSII_TOP_DIR = $AWIPSII_TOP_DIR"
|
|
|
|
echo "UFRAME_ECLIPSE = $UFRAME_ECLIPSE"
|
|
|
|
echo "AWIPSII_STATIC_FILES = $AWIPSII_STATIC_FILES"
|
|
|
|
echo "AWIPSII_BUILD_ROOT = $AWIPSII_BUILD_ROOT"
|
|
|
|
|
2017-10-30 16:21:12 -04:00
|
|
|
# Prepare the rpm build directory structure
|
|
|
|
mkdir -p ${AWIPSII_TOP_DIR}/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
2017-04-21 18:33:55 -06:00
|
|
|
|
|
|
|
pushd . > /dev/null 2>&1
|
|
|
|
cd ${BASELINE}
|
|
|
|
mkdir -p ${WORKSPACE}
|
2018-07-27 17:01:14 -06:00
|
|
|
if [[ ${2} = "buildCAVE" ]]; then
|
2018-08-01 12:52:04 -06:00
|
|
|
RSYNC_DIRS=`cat $dir/rsync.dirs |grep -v nativelib | grep -v awips2-rpm`
|
2018-07-27 17:01:14 -06:00
|
|
|
else
|
|
|
|
RSYNC_DIRS=`cat $dir/rsync.dirs`
|
|
|
|
fi
|
2017-04-21 18:33:55 -06:00
|
|
|
rsync -ruql --delete --exclude-from=${dir}/excludes ${RSYNC_DIRS} ${WORKSPACE}
|
|
|
|
|
|
|
|
popd > /dev/null 2>&1
|
|
|
|
|
|
|
|
# execute the build for the appropriate architecture
|
|
|
|
_rpms_build_directory=${WORKSPACE}/rpms/build
|
|
|
|
_architecture=`uname -i`
|
|
|
|
_build_sh_directory=${_rpms_build_directory}/${_architecture}
|
|
|
|
pushd . > /dev/null 2>&1
|
|
|
|
|
|
|
|
cd ${_build_sh_directory}
|
|
|
|
cp -v ${dir}/buildEnvironment.sh .
|
|
|
|
|
2017-10-30 16:21:12 -04:00
|
|
|
# check rpms/build/x86_64/build.sh for build groups
|
2017-04-23 11:05:48 -06:00
|
|
|
|
2017-11-14 12:42:26 -07:00
|
|
|
build_log=${logdir}/build${1}-${timestamp}.log
|
2017-04-23 11:05:48 -06:00
|
|
|
if [ "${1}" = "-b" -a -n "${2}" ]; then
|
2017-11-14 12:42:26 -07:00
|
|
|
build_log=${logdir}/build-${2}-${timestamp}.log
|
2017-04-23 11:05:48 -06:00
|
|
|
fi
|
|
|
|
|
|
|
|
/bin/bash ${_build_sh_directory}/build.sh ${1} ${2} > ${build_log}
|
2017-04-21 18:33:55 -06:00
|
|
|
|
|
|
|
popd > /dev/null 2>&1
|
|
|
|
|
|
|
|
export rpm_end_dir="${AWIPSII_VERSION}-${AWIPSII_RELEASE}"
|
|
|
|
|
|
|
|
if [ "$(ls -A ${AWIPSII_TOP_DIR}/RPMS/x86_64/)" ]; then
|
2018-07-05 11:53:39 -06:00
|
|
|
mv ${AWIPSII_TOP_DIR}/RPMS/x86_64/* ${JENKINS_HOME}/build/rpms/awips2_latest/x86_64/
|
2017-04-21 18:33:55 -06:00
|
|
|
fi
|
|
|
|
if [ "$(ls -A ${AWIPSII_TOP_DIR}/RPMS/noarch/)" ]; then
|
2018-07-05 11:53:39 -06:00
|
|
|
mv ${AWIPSII_TOP_DIR}/RPMS/noarch/* ${JENKINS_HOME}/build/rpms/awips2_latest/noarch/
|
2017-04-21 18:33:55 -06:00
|
|
|
fi
|
|
|
|
|
|
|
|
END_TIME=`date "+%s"`
|
|
|
|
TIME_SPENT=$((END_TIME - START_TIME))
|
|
|
|
TTI_HOURS=$((TIME_SPENT/3600))
|
|
|
|
TTI_SECS=$((TIME_SPENT %3600)) #Remaining seconds
|
|
|
|
TTI_MINS=$((TTI_SECS/60))
|
|
|
|
TTI_SECS=$((TTI_SECS%60))
|
|
|
|
echo "Total-time-Spent-In-The-Build-For $0 = $TTI_HOURS hours, $TTI_MINS minutes, $TTI_SECS seconds"
|
|
|
|
|
|
|
|
exit
|