1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/usr/bin/env python3
- # Copyright 2014 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- """Redirects to the version of google-java-format checked into the Chrome tree.
- google-java-format executable is pulled down from the cipd storage whenever
- you sync Chrome. This script finds and runs the executable.
- """
- import gclient_paths
- import os
- import subprocess
- import sys
- def FindGoogleJavaFormat():
- """Returns the path to the google-java-format executable."""
- # Allow non-chromium projects to use a custom location.
- primary_solution_path = gclient_paths.GetPrimarySolutionPath()
- if primary_solution_path:
- override = os.environ.get('GOOGLE_JAVA_FORMAT_PATH')
- if override:
- # Make relative to solution root if not an absolute path.
- return os.path.join(primary_solution_path, override)
- path = os.path.join(primary_solution_path, 'third_party',
- 'google-java-format', 'google-java-format')
- # Check that the .jar exists, since it is conditionally downloaded via
- # DEPS conditions.
- if os.path.exists(path) and os.path.exists(path + '.jar'):
- return path
- return None
- def main(args):
- google_java_format = FindGoogleJavaFormat()
- if google_java_format is None:
- # Fail silently. It could be we are on an old chromium revision,
- # or that it is a non-chromium project. https://crbug.com/1491627.
- print('google-java-format not found, skipping java formatting.')
- return 0
- # Add some visibility to --help showing where the tool lives, since this
- # redirection can be a little opaque.
- help_syntax = ('-h', '--help', '-help', '-help-list', '--help-list')
- if any(match in args for match in help_syntax):
- print('\nDepot tools redirects you to the google-java-format at:\n' +
- ' %s\n' % google_java_format)
- return subprocess.call([google_java_format] + args)
- if __name__ == '__main__':
- try:
- sys.exit(main(sys.argv[1:]))
- except KeyboardInterrupt:
- sys.stderr.write('interrupted\n')
- sys.exit(1)
|