#! /usr/bin/env bash set -o errexit setup_path="$1" repos_path="$2" [ -z "$setup_path" ] && setup_path="/root/setup" [ -z "$repos_path" ] && repos_path="/ccpi/repos" repos=( \ "https://github.com/astra-toolbox/astra-toolbox.git tags/v1.8.3 astra.sh" \ "https://github.com/vais-ral/CCPi-Framework.git master ccpi.sh" \ "https://github.com/vais-ral/CCPi-FrameworkPlugins.git master ccpi.sh" \ "https://github.com/vais-ral/CCPi-astra.git update_projectors ccpi.sh" \ "https://github.com/vais-ral/CCPi-Regularisation-Toolkit.git master ccpi.sh" \ ) function install_repo { repo="$1" name=$(basename "$repo" .git) branch="$2" script="$3" [ -d "$name" ] || git clone "$repo" ( cd "$name" git pull origin "$branch" git checkout "$branch" bash "$setup_path/build/$script" ln -sf "$setup_path/build/$script" ands_install.sh ) } mkdir -p "$repos_path" ( cd "$repos_path" for repo in "${repos[@]}"; do install_repo $repo done )