Chromium Code Reviews| 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() |