blob: f123fbd812d70c416d9418985687b921356e9f8f [file] [log] [blame]
Zack Williams82ac5052017-05-03 09:19:46 -07001#!/usr/bin/env bash
2# repo_bootstrap.sh
3
4# Use master as default version
5REPO_BRANCH=${REPO_BRANCH:-'master'}
6ONOS_REPO_DIR=${ONOS_REPO_DIR:-'~/onos_repo'}
7
8function install_repo_tool() {
9 if [ ! -x "/usr/local/bin/repo" ]
10 then
11 echo "Installing repo..."
12 REPO_SHA256SUM="e147f0392686c40cfd7d5e6f332c6ee74c4eab4d24e2694b3b0a0c037bf51dc5" # not versioned...
13 curl -o /tmp/repo https://storage.googleapis.com/git-repo-downloads/repo
14 echo "$REPO_SHA256SUM /tmp/repo" | sha256sum -c -
15 sudo mv /tmp/repo /usr/local/bin/repo
16 sudo chmod a+x /usr/local/bin/repo
17 fi
18}
19
20function checkout_onos_with_repo() {
21
22 if [ ! -d "$ONOS_REPO_DIR" ]
23 then
24 echo "Checking out ONOS using repo..."
25
26 mkdir $ONOS_REPO_DIR && cd $ONOS_REPO_DIR
27 repo init -u https://gerrit.onosproject.org/manifest -b $REPO_BRANCH -g onos
28 repo sync
29
30 # check out gerrit branches using repo
31 for gerrit_branch in ${GERRIT_BRANCHES[@]}; do
32 echo "Checking out opencord gerrit branch: $gerrit_branch"
33 repo download ${gerrit_branch/:/ }
34 done
35 fi
36}
37
38# Parse options
39GERRIT_BRANCHES=
40
41while getopts "b:chsv" opt; do
42 case ${opt} in
43 b ) GERRIT_BRANCHES+=("$OPTARG")
44 ;;
45 h ) echo "Usage:"
46 echo " $0 download ONOS using repo [default]"
47 echo " $0 -b <project:changeset/revision> checkout changesets from gerrit. Can"
48 echo " be used multiple times."
49 echo " $0 -h display this help message"
50 \? ) echo "Invalid option: -$OPTARG"
51 exit 1
52 ;;
53 esac
54done
55
56install_repo_tool()
57checkout_onos_with_repo()
58