| # Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. |
| # |
| # Use of this source code is governed by a BSD-style license |
| # that can be found in the LICENSE file in the root of the source |
| # tree. An additional intellectual property rights grant can be found |
| # in the file PATENTS. All contributing project authors may |
| # be found in the AUTHORS file in the root of the source tree. |
| |
| def CheckChangeOnUpload(input_api, output_api): |
| results = [] |
| results.extend(CheckPatchFormatted(input_api, output_api)) |
| return results |
| |
| def CheckPatchFormatted(input_api, output_api): |
| import git_cl |
| cmd = ['cl', 'format', '--dry-run', input_api.PresubmitLocalPath()] |
| code, _ = git_cl.RunGitWithCode(cmd, suppress_stderr=True) |
| if code == 2: |
| short_path = input_api.basename(input_api.PresubmitLocalPath()) |
| full_path = input_api.os_path.relpath(input_api.PresubmitLocalPath(), |
| input_api.change.RepositoryRoot()) |
| return [output_api.PresubmitPromptWarning( |
| 'The %s directory requires source formatting. ' |
| 'Please run git cl format %s' % |
| (short_path, full_path))] |
| # As this is just a warning, ignore all other errors if the user |
| # happens to have a broken clang-format, doesn't use git, etc etc. |
| return [] |