summaryrefslogtreecommitdiffstats
path: root/build/setup/repos.sh
blob: 9e76208374a06421ad89f42d5415a49374d505e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#! /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
)