diff --git a/scripts/build.sh b/scripts/build.sh index 78c7fca..545928c 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -4,9 +4,16 @@ scriptPath_file=$(dirname "${BASH_SOURCE[0]}") scriptPath_folder=$(realpath "${scriptPath_file}") utils_path="${scriptPath_folder}/utils" +WORKDIR=${1:-$PWD} +WORKDIR=$(realpath "$WORKDIR") + +# Store original path +ORIGINALDIR=$PWD + # Get args without path EXTRA_ARGS="${@:2}" + # Call prepare printf "# PREPARE\n" source ${utils_path}/prepare.sh @@ -15,3 +22,7 @@ source ${utils_path}/prepare.sh printf "# BUILD\n" build_type=${BUILD:-"ownarch"} source ${utils_path}/build-${build_type}.sh + + +# Switch back to original path +cd $ORIGINALDIR diff --git a/scripts/utils/build-multiarch.sh b/scripts/utils/build-multiarch.sh index 37d4c05..15444b7 100755 --- a/scripts/utils/build-multiarch.sh +++ b/scripts/utils/build-multiarch.sh @@ -7,4 +7,4 @@ docker buildx build \ --tag $TAG:latest \ --tag "${TAG}:${VERSION}" \ $EXTRA_ARGS \ -. +$WORKDIR diff --git a/scripts/utils/build-ownarch.sh b/scripts/utils/build-ownarch.sh index 6b5b64c..95b25a7 100755 --- a/scripts/utils/build-ownarch.sh +++ b/scripts/utils/build-ownarch.sh @@ -5,4 +5,4 @@ docker build \ --tag $TAG:latest \ --tag $TAG:$VERSION \ $EXTRA_ARGS \ -. +"$WORKDIR" diff --git a/scripts/utils/prepare.sh b/scripts/utils/prepare.sh index 44ceffa..19fad32 100755 --- a/scripts/utils/prepare.sh +++ b/scripts/utils/prepare.sh @@ -2,26 +2,32 @@ # --- VARIABLES --- # Load variables -source $PWD/info.env +source $WORKDIR/info.env # Check if certain vars are overwritten, set them if missing if [ "${NAME}" = "" ]; then - NAME="$(basename $PWD)" + NAME="$(basename $WORKDIR)" fi export NAME printf "Name: ${NAME}\n" +repositoryFolder="$WORKDIR/.build/repository" # --- SOURCES --- -alias git="git -C .build/repository" # Get sources locally -if ! [ -d .build/repository ]; then - git clone "${GIT_REPOSITORY}" .build/repository -else +if ! [ -d "$repositoryFolder" ]; then + git clone "${GIT_REPOSITORY}" . + cloned=True +fi + +# Change into repository +cd "$repositoryFolder" + +if [ "$cloned" != True ]; then # Checkout default-branch in case GIT_CHECKOUT was different defaultBranch=$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@') git checkout "${defaultBranch}" - + git pull # Get changes fi