62 lines
1.2 KiB
Bash
Executable File
62 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
LIB_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
|
export TAMARIN_UTIL="${LIB_DIR}/util.sh"
|
|
|
|
source "${TAMARIN_UTIL}"
|
|
|
|
DIST_DIR="${BASE_DIR}/dist"
|
|
SRC_DIR="${BASE_DIR}/src"
|
|
HOOKS_DIR="${BASE_DIR}/hooks"
|
|
|
|
function exec_hooks {
|
|
|
|
hook=${1}
|
|
workspace=${2}
|
|
|
|
hook_scripts=$( find "${HOOKS_DIR}" -type f -name "*${hook}" -executable)
|
|
|
|
for hook_script in ${hook_scripts}; do
|
|
|
|
info "[hook-${hook}] Executing ${hook_script}"
|
|
|
|
( cd "${workspace}" && "${hook_script}" )
|
|
|
|
# If the script did not execute properly, we stop here
|
|
if [ $? != 0 ]; then
|
|
fatal "The '${hook_script}' hook script did not finished properly !"
|
|
fi
|
|
|
|
info "[hook-${hook}] ${hook_script} done."
|
|
|
|
done
|
|
|
|
}
|
|
|
|
function build_project {
|
|
|
|
info "Building project ${PROJECT_NAME}..."
|
|
|
|
set_opt project_name "${PROJECT_NAME}"
|
|
|
|
workspace=$(mktemp -d)
|
|
|
|
# Copy sources to workspace
|
|
cd ${SRC_DIR}
|
|
cp -r ${SRC_DIR}/. "${workspace}"
|
|
|
|
exec_hooks "prebuild" "${workspace}"
|
|
|
|
cd "${workspace}"
|
|
dpkg-buildpackage -us -uc
|
|
|
|
if [ $? != 0 ]; then
|
|
fatal "The build process has not completed successfuly !"
|
|
fi
|
|
|
|
exec_hooks "postbuild" "${workspace}"
|
|
|
|
}
|
|
|
|
build_project
|