summaryrefslogtreecommitdiff
path: root/tcwg-generate-source-cache.sh
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2017-04-12 11:05:29 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2017-04-19 08:11:16 +0000
commit927890c01e6a98707af7c8161b51ca46c06d4aaa (patch)
treef669921d55f85113749bb9132fee12ee03c8c1ad /tcwg-generate-source-cache.sh
parent664b7f5ec4203a278a838be545067de2a6b57fa7 (diff)
tcwg-generate-source-cache.sh: Rework option handling and cleanup
Change-Id: I29f883ccbc36bbee1b94cd6c0728631b3ccb0e69
Diffstat (limited to 'tcwg-generate-source-cache.sh')
-rwxr-xr-xtcwg-generate-source-cache.sh80
1 files changed, 52 insertions, 28 deletions
diff --git a/tcwg-generate-source-cache.sh b/tcwg-generate-source-cache.sh
index 38a859ec..ee6fc48a 100755
--- a/tcwg-generate-source-cache.sh
+++ b/tcwg-generate-source-cache.sh
@@ -5,39 +5,50 @@ set -e
usage ()
{
cat <<EOF
-Usage: $0 [-r] [-v] [-h] [machine1 machine2 ...]
- This scripts generates and rsync's reference snapshots to machines
-
- -r: Only rsync snapshots-ref to machines
- -v: Be verbose
- -h: Print help
+Usage: $0 --dir-abe ABE/SNAPSHOTS --dir-llvm LLVM/REFERENCE [--OPT true/false]
+ This script generates source caches.
+ "--OPT true/false" options specify what to do:
+ --generate-abe true/false Generate ABE snapshots; default "true"
+ --generate-llvm true/false Generate LLVM reference repos; default "true"
+ --generate-misc true/false Generate misc repo and file caches; default "true"
+ --update-abe-git true/false Update ABE git repos; default "true"
+ --update-llvm-git true/false Update LLVM git repos; default "true"
+ --verbose true/false Be verbose; default "false"
EOF
+ exit 1
}
-generate=true
snapshots_dir=$HOME/snapshots-ref
-verbose="set +x"
-
-while getopts "hrv" OPTION; do
- case $OPTION in
- h)
- usage
- exit 0
- ;;
- r)
- generate=false
- ;;
- v) verbose="set -x" ;;
+generate_abe=true
+generate_llvm=true
+generate_misc=true
+update_git=true
+verbose=false
+
+OPTS="`getopt -l generate-abe:,generate-llvm:,generate-misc:,update-git:,verbose: -- "$@"`"
+while test $# -gt 0; do
+ case $1 in
+ --generate-abe) generate_abe="$2"; shift ;;
+ --generate-llvm) generate_llvm="$2"; shift ;;
+ --generate-misc) generate_misc="$2"; shift ;;
+ --update-git) update_git="$2"; shift ;;
+ --verbose) verbose="$2"; shift ;;
esac
+ shift
done
-$verbose
-
-shift $((OPTIND-1))
+if $verbose; then
+ verbose="set -x"
+else
+ verbose="set +x"
+fi
# Checkout into $snapshots_dir using ABE
generate_snapshots ()
{
+ set -e
+ $verbose
+
local abe_temp="$(dirname "$0")/abe"
rm -rf $abe_temp
@@ -65,9 +76,18 @@ generate_snapshots ()
./abe.sh --target $t --extraconfigdir config/$c --checkout all
done
done
+
+ # Remove checked-out branch directories
+ rm -rf ${snapshots_dir}-new/*~*
+
+ # Remove md5sums to force ABE to fetch canonical version via http://.
+ rm -f ${snapshots_dir}-new/md5sums
}
update_git_repos () {
+ set -e
+ $verbose
+
for repo in `ls ${snapshots_dir}-new/ | grep "\.git\$"`; do
(
cd ${snapshots_dir}-new/$repo
@@ -79,7 +99,7 @@ update_git_repos () {
done
}
-if $generate; then
+if $generate_abe; then
mkdir -p ${snapshots_dir}-new
# Remove *.asc files to fix cached incorrect md5sum files
@@ -87,15 +107,19 @@ if $generate; then
update_git_repos
generate_snapshots
+fi
- # Remove checked-out branch directories
- rm -rf ${snapshots_dir}-new/*~*
+if $generate_llvm; then
+ :
+fi
- # Remove md5sums to force ABE to fetch canonical version via http://.
- rm -f ${snapshots_dir}-new/md5sums
+if $generate_misc; then
+ :
fi
-update_git_repos
+if $update_git; then
+ update_git_repos
+fi
echo "Snapshots status:"
du -hs $snapshots_dir-new/*