| #!/usr/bin/env python3 |
| # Copyright 2016 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| """Runs gofmt on all of Cobalt's go files.""" |
| |
| import os |
| import sys |
| |
| # Ensure that this file can import from cobalt root even if run as a script. |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
| |
| import subprocess |
| |
| from tools import get_files |
| |
| |
| def main(only_directories=[], all_files=False): |
| status = 0 |
| files_to_lint = get_files.files_to_lint(('.go',), |
| only_directories=only_directories, |
| all_files=all_files) |
| |
| print('Linting %d go files' % len(files_to_lint)) |
| if files_to_lint: |
| p = subprocess.Popen( |
| ['gofmt', '-d'] + files_to_lint, text=True, stdout=subprocess.PIPE) |
| out, err = p.communicate() |
| |
| if p.returncode != 0: |
| print('Received non-zero return code (%s)' % p.returncode) |
| status += 1 |
| |
| if len(out) > 0: |
| print('The following differences were found with gofmt:\n%s' % out) |
| status += 1 |
| |
| return status |
| |
| |
| if __name__ == '__main__': |
| exit(main()) |