diff options
-rw-r--r-- | PREUPLOAD.cfg | 3 | ||||
-rwxr-xr-x | metrics_pdd_hook.py | 84 | ||||
-rwxr-xr-x | wifi_upload_hook.py (renamed from overlayable_hook.py) | 50 |
3 files changed, 33 insertions, 104 deletions
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg index 15c826130d..c26604c827 100644 --- a/PREUPLOAD.cfg +++ b/PREUPLOAD.cfg @@ -1,7 +1,6 @@ [Hook Scripts] checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --sha ${PREUPLOAD_COMMIT} -metrics_pdd_hook = ${REPO_ROOT}/packages/modules/Wifi/metrics_pdd_hook.py "service/proto/src/metrics.proto" ${PREUPLOAD_COMMIT_MESSAGE} ${PREUPLOAD_FILES} -resource_overlayable_hook = ${REPO_ROOT}/packages/modules/Wifi/overlayable_hook.py ${PREUPLOAD_COMMIT_MESSAGE} ${PREUPLOAD_FILES} +wifi_upload_hook = ${REPO_ROOT}/packages/modules/Wifi/wifi_upload_hook.py ${PREUPLOAD_COMMIT_MESSAGE} ${PREUPLOAD_FILES} hidden_api_txt_checksorted_hook = ${REPO_ROOT}/tools/platform-compat/hiddenapi/checksorted_sha.sh ${PREUPLOAD_COMMIT} ${REPO_ROOT} diff --git a/metrics_pdd_hook.py b/metrics_pdd_hook.py deleted file mode 100755 index 65d467cc29..0000000000 --- a/metrics_pdd_hook.py +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/python3 - -# -# Copyright 2020, The Android Open Source Project -# -# 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. -# - -from __future__ import print_function - -from argparse import ArgumentParser -import subprocess -import sys - - -def is_in_aosp(): - branches = subprocess.check_output(['git', 'branch', '-vv']).splitlines() - - for branch in branches: - # current branch starts with a '*' - if branch.startswith(b'*'): - return b'[aosp/' in branch - - # otherwise assume in AOSP - return True - - -def is_commit_msg_valid(commit_msg): - for line in commit_msg.splitlines(): - line = line.strip().lower() - if line.startswith('updated-pdd'): - return True - - return False - - -def main(): - parser = ArgumentParser(description='Check if the Privacy Design Doc (PDD) has been updated') - parser.add_argument('metrics_file', type=str, help='path to the metrics Protobuf file') - parser.add_argument('commit_msg', type=str, help='commit message') - parser.add_argument('commit_files', type=str, nargs='*', help='files changed in the commit') - args = parser.parse_args() - - metrics_file = args.metrics_file - commit_msg = args.commit_msg - commit_files = args.commit_files - - if is_in_aosp(): - return 0 - - if metrics_file not in commit_files: - return 0 - - if is_commit_msg_valid(commit_msg): - return 0 - - print('This commit has changed {metrics_file}.'.format(metrics_file=metrics_file)) - print('If this change added/changed/removed metrics collected from the device,') - print('please update the Wifi Metrics Privacy Design Doc (PDD) at go/wifi-metrics-pdd') - print('and acknowledge you have done so by adding this line to your commit message:') - print() - print('Updated-PDD: TRUE') - print() - print('Otherwise, please explain why the PDD does not need to be updated:') - print() - print('Updated-PDD: Not applicable - reformatted file') - print() - print('Please reach out to the OWNERS for more information about the Wifi Metrics PDD.') - return 1 - - -if __name__ == '__main__': - exit_code = main() - sys.exit(exit_code) diff --git a/overlayable_hook.py b/wifi_upload_hook.py index 52b33f7901..55fa267c15 100755 --- a/overlayable_hook.py +++ b/wifi_upload_hook.py @@ -20,6 +20,14 @@ from argparse import ArgumentParser import subprocess import sys +BASE_DIR = "service/ServiceWifiResources/res/" +OVERLAY_FILE = BASE_DIR + "values/overlayable.xml" +CONFIG_FILE = BASE_DIR + "values/config.xml" +STRING_FILE = BASE_DIR + "values/strings.xml" +STYLES_FILE = BASE_DIR + "values/styles.xml" +DRAWABLE_DIR = BASE_DIR + "drawable/" +LAYOUT_DIR = BASE_DIR + "layout/" + def is_commit_msg_valid(commit_msg): for line in commit_msg.splitlines(): line = line.strip().lower() @@ -39,27 +47,26 @@ def is_in_aosp(): # otherwise assume in AOSP return True -def get_changed_resource_file(base_dir, commit_files): - config_file = base_dir + "values/config.xml" - string_file = base_dir + "values/strings.xml" - styles_file = base_dir + "values/styles.xml" - drawable_dir = base_dir + "drawable/" - layout_dir = base_dir + "layout/" - +def get_changed_resource_file(commit_files): for commit_file in commit_files: - if commit_file == config_file: + if commit_file == STRING_FILE: + return STRING_FILE + if commit_file == CONFIG_FILE: return commit_file - if commit_file == string_file: + if commit_file == STYLES_FILE: return commit_file - if commit_file == styles_file: + if commit_file.startswith(DRAWABLE_DIR): return commit_file - if commit_file.startswith(drawable_dir): - return commit_file - if commit_file.startswith(layout_dir): + if commit_file.startswith(LAYOUT_DIR): return commit_file return None - +def is_commit_msg_has_translation_bug_id(commit_msg): + for line in commit_msg.splitlines(): + line = line.strip().lower() + if line.startswith('bug: 294871353'): + return True + return False def main(): @@ -68,18 +75,25 @@ def main(): parser.add_argument('commit_files', type=str, nargs='*', help='files changed in the commit') args = parser.parse_args() - base_dir = "service/ServiceWifiResources/res/" - overlay_file = base_dir + "values/overlayable.xml" commit_msg = args.commit_msg commit_files = args.commit_files if is_in_aosp(): return 0 - changed_file = get_changed_resource_file(base_dir, commit_files) + changed_file = get_changed_resource_file(commit_files) if not changed_file: return 0 + if changed_file == STRING_FILE: + if not is_commit_msg_has_translation_bug_id(commit_msg): + print('This commit has changed: "{changed_file}".'.format(changed_file=changed_file)) + print() + print('Please add the following line to your commit message') + print() + print('Bug: 294871353') + print() + return 1 if is_commit_msg_valid(commit_msg): return 0 @@ -87,7 +101,7 @@ def main(): print('This commit has changed: "{changed_file}".'.format(changed_file=changed_file)) print() print('If this change added/changed/removed overlayable resources used by the Wifi Module, ') - print('please update the "{overlay_file}".'.format(overlay_file=overlay_file)) + print('please update the "{overlay_file}".'.format(overlay_file=OVERLAY_FILE)) print('and acknowledge you have done so by adding this line to your commit message:') print() print('Updated-Overlayable: TRUE') |