Refactor out the SHA generation from make_manifest

This is going to be used by the arm64 host image as
well, so let's pull it out into one place.

Bug: 145029114
Test: local manifest generation
Change-Id: Ie3ae372f297dbd8a437a76afed17ada8b56d6e1b
diff --git a/tools/gen_sha.sh b/tools/gen_sha.sh
new file mode 100755
index 0000000..cfe7ff2
--- /dev/null
+++ b/tools/gen_sha.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# Copyright 2019 Google Inc. All rights reserved.
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+
+#     http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+source "${ANDROID_BUILD_TOP}/external/shflags/src/shflags"
+
+cd "${ANDROID_BUILD_TOP}/device/google/cuttlefish_common"
+Sha=`git rev-parse HEAD`
+cd - >/dev/null
+cd "${ANDROID_BUILD_TOP}/external/u-boot"
+Sha="$Sha,`git rev-parse HEAD`"
+cd - >/dev/null
+cd "${ANDROID_BUILD_TOP}/external/arm-trusted-firmware"
+Sha="$Sha,`git rev-parse HEAD`"
+cd - >/dev/null
+echo $Sha
diff --git a/tools/make_manifest.sh b/tools/make_manifest.sh
index 5b07d5d..1bdbff9 100755
--- a/tools/make_manifest.sh
+++ b/tools/make_manifest.sh
@@ -70,18 +70,7 @@
 }
 
 addShaToManifest() {
-	key="Sha"
-	cd "${ANDROID_BUILD_TOP}/device/google/cuttlefish_common"
-	Sha=`git rev-parse HEAD`
-	cd -
-	cd "${ANDROID_BUILD_TOP}/external/u-boot"
-	Sha="$Sha,`git rev-parse HEAD`"
-	cd -
-	cd "${ANDROID_BUILD_TOP}/external/arm-trusted-firmware"
-	Sha="$Sha,`git rev-parse HEAD`"
-	cd -
-
-	addKVToManifest "${key}" "${Sha}"
+	addKVToManifest "Sha" `./gen_sha.sh`
 }
 
 addPathToManifest() {