提交 01234fc9 编写于 作者: A Adam Barth

Merge pull request #312 from abarth/fix_analyzer

Teach skyanalyzer about workbench
......@@ -408,7 +408,6 @@ class Analyze(object):
analyzer_path = os.path.join(SRC_ROOT, 'sky/tools/skyanalyzer')
analyzer_args = [
analyzer_path,
build_dir,
args.app_path
]
if args.congratulate:
......
......@@ -9,12 +9,14 @@ import re
import subprocess
import sys
from skypy.url_mappings import URLMappings
SKY_TOOLS_DIR = os.path.dirname(os.path.abspath(__file__))
SKY_ROOT = os.path.dirname(SKY_TOOLS_DIR)
SRC_ROOT = os.path.dirname(SKY_ROOT)
WORKBENCH = os.path.join(SRC_ROOT, 'sky', 'packages', 'workbench')
DART_SDK = os.path.join(SRC_ROOT, 'third_party', 'dart-sdk', 'dart-sdk', 'bin')
DARTANALYZER = os.path.join(DART_SDK, 'dartanalyzer')
_IGNORED_PATTERNS = [
# Ignored because they're not indicative of specific errors.
re.compile(r'^$'),
......@@ -49,24 +51,13 @@ _IGNORED_PATTERNS = [
def main():
parser = argparse.ArgumentParser(description='Sky Analyzer')
parser.add_argument('--congratulate', action="store_true")
parser.add_argument('build_dir', type=str)
parser.add_argument('app_path', type=str)
args = parser.parse_args()
build_dir = os.path.abspath(args.build_dir)
url_mappings = URLMappings(SRC_ROOT, build_dir)
analyzer_path = os.path.join(SRC_ROOT, 'third_party/dart-sdk/dart-sdk/bin/dartanalyzer')
packages_root = os.path.join(build_dir, 'gen/dart-pkg/packages')
analyzer_args = [
analyzer_path,
"--package-root", packages_root,
"--package-warnings", args.app_path
] + url_mappings.as_args
try:
subprocess.check_output(analyzer_args, stderr=subprocess.STDOUT)
subprocess.check_output([
DARTANALYZER, "--package-warnings", args.app_path
], stderr=subprocess.STDOUT, cwd=WORKBENCH)
except subprocess.CalledProcessError as e:
errors = [l for l in e.output.split('\n')
if not any(p.match(l) for p in _IGNORED_PATTERNS)]
......
......@@ -392,7 +392,6 @@ def run_tests(port, options, args, logging_stream):
printer.cleanup()
def run_analyzer(port, options, args, logging_stream):
build_dir = port.analyzer_build_directory()
test_dir = os.path.dirname(os.path.abspath(__file__))
sky_tools_dir = os.path.dirname(os.path.dirname(test_dir))
analyzer_path = os.path.join(sky_tools_dir, 'skyanalyzer')
......@@ -400,7 +399,6 @@ def run_analyzer(port, options, args, logging_stream):
analyzer_target_path = os.path.join(src_dir, 'sky/sdk/example/stocks/lib/main.dart')
analyzer_args = [
analyzer_path,
build_dir,
analyzer_target_path
]
try:
......
......@@ -3,4 +3,4 @@ set -ex
./sky/tools/gn --release
ninja -j 4 -C out/Release
./sky/tools/skyanalyzer --congratulate out/Release sky/sdk/example/stocks/lib/main.dart
./sky/tools/skyanalyzer --congratulate sky/sdk/example/stocks/lib/main.dart
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册