From 4db3b7969f62f5ddbf32bd812b9510af018ece89 Mon Sep 17 00:00:00 2001 From: mtklein Date: Wed, 3 Aug 2016 14:18:22 -0700 Subject: Require gn format in presubmit BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2203283003 Review-Url: https://codereview.chromium.org/2203283003 --- PRESUBMIT.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'PRESUBMIT.py') diff --git a/PRESUBMIT.py b/PRESUBMIT.py index e0e01fb30f..95fea4f8db 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py @@ -185,6 +185,23 @@ def _RecipeSimulationTest(input_api, output_api): '`%s` failed:\n%s' % (' '.join(cmd), e.output))) return results +def _CheckGNFormatted(input_api, output_api): + """Make sure any .gn files we're changing have been formatted.""" + results = [] + for f in input_api.AffectedFiles(): + if not f.LocalPath().endswith('.gn'): + continue + + cmd = ['gn', 'format', '--dry-run', f.LocalPath()] + try: + subprocess.check_output(cmd) + except subprocess.CalledProcessError: + fix = cmd[:] + fix[2] = '--in-place' + results.append(output_api.PresubmitError( + '`%s` failed, try\n\t%s' % (' '.join(cmd), ' '.join(fix)))) + return results + def _CommonChecks(input_api, output_api): """Presubmit checks common to upload and commit.""" @@ -222,6 +239,7 @@ def CheckChangeOnUpload(input_api, output_api): # Run on upload, not commit, since the presubmit bot apparently doesn't have # coverage installed. results.extend(_RecipeSimulationTest(input_api, output_api)) + results.extend(_CheckGNFormatted(input_api, output_api)) return results -- cgit v1.2.3