awips2/build/build.sh

92 lines
2.6 KiB
Bash
Raw Normal View History

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}
if [[ ${2} = "buildCAVE" ]]; then
RSYNC_DIRS=`cat $dir/rsync.dirs |grep -v nativelib | grep -v awips2-rpm`
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-11-14 12:42:26 -07:00
build_log=${logdir}/build${1}-${timestamp}.log
if [ "${1}" = "-b" -a -n "${2}" ]; then
2017-11-14 12:42:26 -07:00
build_log=${logdir}/build-${2}-${timestamp}.log
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