69 lines
1.9 KiB
Bash
69 lines
1.9 KiB
Bash
haredoBuildPhase() {
|
|
runHook preBuild
|
|
|
|
local buildTargets jobs
|
|
read -ra buildTargets <<<"${haredoBuildTargets-}"
|
|
echoCmd "haredo build targets" "${buildTargets[@]}"
|
|
if [[ ! -v enableParallelBuilding || -n "${enableParallelBuilding-}" ]]; then
|
|
jobs="${NIX_BUILD_CORES}"
|
|
fi
|
|
haredo ${jobs:+"-j${jobs}"} "${buildTargets[@]}"
|
|
|
|
runHook postBuild
|
|
}
|
|
|
|
haredoCheckPhase() {
|
|
runHook preCheck
|
|
|
|
local checkTargets jobs
|
|
|
|
if [[ -n "${haredoCheckTargets:-}" ]]; then
|
|
read -ra checkTargets <<<"${haredoCheckTargets}"
|
|
else
|
|
for dofile in "check.do" "test.do"; do
|
|
[[ -r "${dofile}" ]] && {
|
|
checkTargets=("${dofile%".do"}")
|
|
break
|
|
}
|
|
done
|
|
fi
|
|
|
|
if [[ -z "${checkTargets:-}" ]]; then
|
|
printf -- 'haredoCheckPhase ERROR: no check targets were found' 1>&2
|
|
exit 1
|
|
else
|
|
echoCmd "haredo check targets" "${checkTargets[@]}"
|
|
if [[ ! -v enableParallelChecking || -n "${enableParallelChecking-}" ]]; then
|
|
jobs="${NIX_BUILD_CORES}"
|
|
fi
|
|
haredo ${jobs:+"-j${jobs}"} "${checkTargets[@]}"
|
|
fi
|
|
|
|
runHook postCheck
|
|
}
|
|
|
|
haredoInstallPhase() {
|
|
runHook preInstall
|
|
|
|
local installTargets jobs
|
|
read -ra installTargets <<<"${haredoInstallTargets:-"install"}"
|
|
echoCmd "haredo install targets" "${installTargets[@]}"
|
|
if [[ ! -v enableParallelInstalling || -n "${enableParallelInstalling-}" ]]; then
|
|
jobs="${NIX_BUILD_CORES}"
|
|
fi
|
|
haredo ${jobs:+"-j${jobs}"} "${installTargets[@]}"
|
|
|
|
runHook postInstall
|
|
}
|
|
|
|
if [[ -z "${dontUseHaredoBuild-}" && -z "${buildPhase-}" ]]; then
|
|
buildPhase="haredoBuildPhase"
|
|
fi
|
|
|
|
if [[ -z "${dontUseHaredoCheck-}" && -z "${checkPhase-}" ]]; then
|
|
checkPhase="haredoCheckPhase"
|
|
fi
|
|
|
|
if [[ -z "${dontUseHaredoInstall-}" && -z "${installPhase-}" ]]; then
|
|
installPhase="haredoInstallPhase"
|
|
fi
|