|  | # 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 [] |