blob: 2ab3d3ce75ff694892d5a2e906f539329b8e5bc1 [file] [log] [blame]
David Burger9206f8f2019-06-20 15:27:22 -06001# Copyright 2019 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Allen Licb2fb8a2020-03-24 15:50:41 -07005def _HasLocalChanges(input_api):
6 ret = input_api.subprocess.call(
7 ['git', 'diff', '--exit-code'],
8 stdout=input_api.subprocess.PIPE,
9 stderr=input_api.subprocess.PIPE)
10 return ret != 0
11
David Burger9206f8f2019-06-20 15:27:22 -060012def CheckGenerated(input_api, output_api):
13 results = []
14 input_api.subprocess.call(
Allen Li98545222020-03-11 14:34:14 -070015 ['bash', './generate.sh'],
David Burger9206f8f2019-06-20 15:27:22 -060016 stdout=input_api.subprocess.PIPE,
17 stderr=input_api.subprocess.PIPE)
Allen Licb2fb8a2020-03-24 15:50:41 -070018 if _HasLocalChanges(input_api):
David Burger9206f8f2019-06-20 15:27:22 -060019 msg = ('Running generate.sh produced a diff. Please '
20 'run the script, amend your changes, and try again.')
21 results.append(output_api.PresubmitError(msg))
22 return results
23
24def CheckChangeOnUpload(input_api, output_api):
25 return CheckGenerated(input_api, output_api)
26
27def CheckChangeOnCommit(input_api, output_api):
28 return CheckGenerated(input_api, output_api)