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

Unified Diff: sky/tools/shelldb

Issue 982093003: Add a new analyze command to shelldb to run the dart analyzer (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/tools/shelldb
diff --git a/sky/tools/shelldb b/sky/tools/shelldb
index 1521df06f6d83a3b8983e8bb31a11ca12b9d7a83..05ac72e7dfde565a19998686d78be4994e3e968e 100755
--- a/sky/tools/shelldb
+++ b/sky/tools/shelldb
@@ -143,7 +143,7 @@ class StartSky(object):
pids['sky_server_port'] = sky_server.port
pids['sky_server_root'] = sky_server.root
- pids['build_dir'] = args.build_dir
+ pids['build_dir'] = os.path.abspath(args.build_dir)
subprocess.check_call([ADB_PATH, 'install', '-r', apk_path])
@@ -189,6 +189,36 @@ class StopSky(object):
pids.clear()
+class Analyze(object):
+ def add_subparser(self, subparsers):
+ analyze_parser = subparsers.add_parser('analyze',
+ help=('run the dart analyzer with sky url mappings'))
+ analyze_parser.add_argument('app_path', type=str)
+ analyze_parser.set_defaults(func=self.run)
+
+ def run(self, args, pids):
+ ANALYZER_PATH = 'third_party/dart-sdk/dart-sdk/bin/dartanalyzer'
+
+ build_dir = os.path.abspath(pids['build_dir'])
+ bindings_path = os.path.join(build_dir, 'gen/sky/bindings')
+ sky_builtin_path = \
+ os.path.join(SRC_ROOT, 'sky/engine/bindings/builtin.dart')
+ sky_core_path = os.path.join(bindings_path, 'sky_core.dart')
+ mojo_bindings_path = \
+ os.path.join(SRC_ROOT, 'mojo/public/dart/bindings.dart')
+ mojo_core_path = os.path.join(SRC_ROOT, 'mojo/public/dart/core.dart')
+ analyzer_args = [ANALYZER_PATH,
+ # sky_core.dart does not compile cleanly yet. :(
+ # "--url-mapping=dart:sky,%s" % sky_core_path,
+ "--url-mapping=dart:sky_builtin,%s" % sky_builtin_path,
+ "--url-mapping=mojo:bindings,%s" % mojo_bindings_path,
+ "--url-mapping=mojo:core,%s" % mojo_core_path,
+ args.app_path
+ ]
+ print " ".join(analyzer_args)
abarth-chromium 2015/03/05 19:28:06 Remove?
+ subprocess.call(analyzer_args)
+
+
class SkyShellRunner(object):
def main(self):
logging.basicConfig(level=logging.WARNING)
@@ -196,7 +226,7 @@ class SkyShellRunner(object):
parser = argparse.ArgumentParser(description='Sky Shell Runner')
subparsers = parser.add_subparsers(help='sub-command help')
- for command in [StartSky(), StopSky()]:
+ for command in [StartSky(), StopSky(), Analyze()]:
command.add_subparser(subparsers)
args = parser.parse_args()
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698