Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3067)

Unified Diff: dart_format.py

Issue 933383002: Run dartfmt when invoking git cl format. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: more style Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | gclient_utils.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dart_format.py
diff --git a/dart_format.py b/dart_format.py
new file mode 100755
index 0000000000000000000000000000000000000000..ee07efe2e3c8141dea679b1fbaa1ed0d9c9e530c
--- /dev/null
+++ b/dart_format.py
@@ -0,0 +1,58 @@
+#!/usr/bin/python
+# Copyright 2015 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 dartfmt checked into a gclient repo.
+
+dartfmt binaries are pulled down during gclient sync in the mojo repo.
+
+This tool is named dart_format.py instead of dartfmt to parallel
+clang_format.py, which is in this same repository."""
+
+import os
+import subprocess
+import sys
+
+import gclient_utils
+
+class NotFoundError(Exception):
+ """A file could not be found."""
+ def __init__(self, e):
+ Exception.__init__(self,
+ 'Problem while looking for dartfmt in Chromium source tree:\n'
+ ' %s' % e)
+
+
+def FindDartFmtToolInChromiumTree():
+ """Return a path to the dartfmt executable, or die trying."""
+ primary_solution_path = gclient_utils.GetPrimarySolutionPath()
+ if not primary_solution_path:
+ raise NotFoundError(
+ 'Could not find checkout in any parent of the current path.')
+
+ dartfmt_path = os.path.join(primary_solution_path, 'third_party', 'dart-sdk',
+ 'dart-sdk', 'bin', 'dartfmt')
+ if not os.path.exists(dartfmt_path):
+ raise NotFoundError('File does not exist: %s' % dartfmt_path)
+ return dartfmt_path
+
+
+def main(args):
+ try:
+ tool = FindDartFmtToolInChromiumTree()
+ except NotFoundError, e:
+ print >> sys.stderr, e
+ sys.exit(1)
+
+ # 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 dartfmt at:\n %s\n' % tool
+
+ return subprocess.call([tool] + sys.argv[1:])
+
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
« no previous file with comments | « no previous file | gclient_utils.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698