Upload hook that guides people towards AOSP.

The canonical location of certain parts of the source tree live in
AOSP, and should not be changed internally to avoid merge conflicts.

This initially starts with "OWNERS" files, but the hook can easily
be repeated to match any files based on file path regexes.

Bug: 113136846
Test: manual
Change-Id: I113e63b6133f20389d84ec0d6d8b81cdbdf35d38
This commit is contained in:
Jeff Sharkey
2018-08-23 22:01:53 -06:00
parent be3a75cb55
commit fb7b3732c1
2 changed files with 20 additions and 0 deletions

View File

@@ -17,3 +17,5 @@ strings_lint_hook = ${REPO_ROOT}/frameworks/base/tools/stringslint/stringslint_s
hidden_api_txt_hook = ${REPO_ROOT}/frameworks/base/tools/hiddenapi/checksorted_sha.sh ${PREUPLOAD_COMMIT} ${REPO_ROOT}
ktlint_hook = ${REPO_ROOT}/prebuilts/ktlint/ktlint.py -f ${PREUPLOAD_FILES}
owners_hook = ${REPO_ROOT}/frameworks/base/tools/aosp/aosp_sha.sh ${PREUPLOAD_COMMIT} "OWNERS$"

18
tools/aosp/aosp_sha.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
LOCAL_DIR="$( dirname ${BASH_SOURCE} )"
if git branch -vv | grep "^*" | grep "\[aosp/master" > /dev/null; then
# Change appears to be in AOSP
exit 0
else
# Change appears to be non-AOSP; search for files
git show --name-only --pretty=format: $1 | grep $2 | while read file; do
echo
echo -e "\033[0;31mThe source of truth for '$file' is in AOSP.\033[0m"
echo
echo "If your change contains no confidential details, please upload and merge"
echo "this change at https://android-review.googlesource.com/."
echo
exit 77
done
fi