aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorCody Northrop <cnorthrop@google.com>2017-09-08 10:33:53 -0600
committerCody Northrop <cnorthrop@google.com>2017-09-11 13:42:22 -0600
commit2ba5768193b84ac5cd072b97b7dd0ed74a96ddc2 (patch)
treef2bea0e62f9ac2b91941df205b5aa919ae044bfb /scripts
parent342a870d6f0ba80d969268be3881ec9bb31142dd (diff)
downloadusermoji-2ba5768193b84ac5cd072b97b7dd0ed74a96ddc2.tar.xz
scripts: Check toolchain revisions, remove if they differ
This script compares tracked revisions against those under external and deletes them if they differ.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/check_toolchain_revisions.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/scripts/check_toolchain_revisions.sh b/scripts/check_toolchain_revisions.sh
new file mode 100755
index 00000000..6ee3588c
--- /dev/null
+++ b/scripts/check_toolchain_revisions.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+set -e
+
+# If any tracked revision no longer matches the local revision, blast the extenal toolchain directoies
+
+function check_revision()
+{
+ echo Checking current revision for $1 in $2
+ if [ -d $2/.git ]; then
+ current_rev=$(git --git-dir=$2/.git rev-parse HEAD);
+ fi
+ echo current_rev for $1 is $current_rev;
+ tracked_rev=$(cat $3);
+ echo tracked_rev for $1 is $tracked_rev;
+ if [ "$current_rev" != "$tracked_rev" ]; then
+ echo Revisions for $1 do not match.;
+ if [ -d external ]; then
+ echo Removing current desktop toolchain;
+ rm -rf external/*;
+ fi
+ if [ -d build-android/external ]; then
+ echo Removing current android toolchain;
+ rm -rf build-android/external/*;
+ fi
+ echo Done removing toolchains.
+ exit 0;
+ fi
+}
+
+# Parameters are tool, current git repo location, tracked revision location
+tool=glslang
+dir=external/glslang
+rev=external_revisions/glslang_revision
+check_revision $tool $dir $rev
+
+tool=spirv-tools
+dir=external/spirv-tools
+rev=external_revisions/spirv-tools_revision
+check_revision $tool $dir $rev
+
+tool=spirv-headers
+dir=external/spirv-tools/external/spirv-headers
+rev=external_revisions/spirv-headers_revision
+check_revision $tool $dir $rev
+
+tool=glslang_android
+dir=build-android/external/glslang
+rev=build-android/glslang_revision_android
+check_revision $tool $dir $rev
+
+tool=spirv-tools_android
+dir=build-android/external/spirv-tools
+rev=build-android/spirv-tools_revision_android
+check_revision $tool $dir $rev
+
+tool=spirv-headers_android
+dir=build-android/external/spirv-tools/external/spirv-headers
+rev=build-android/spirv-headers_revision_android
+check_revision $tool $dir $rev
+
+tool=shaderc_android
+dir=build-android/external/shaderc
+rev=build-android/shaderc_revision_android
+check_revision $tool $dir $rev
+
+exit 0