| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright 2015 The Chromium Authors. All rights reserved. | 2 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 # To integrate dartanalyze with out build system, we take an input file, run | 6 # To integrate dartanalyze with out build system, we take an input file, run |
| 7 # the analyzer on it, and write a stamp file if it passed. | 7 # the analyzer on it, and write a stamp file if it passed. |
| 8 # | 8 # |
| 9 # The first argument to this script is a reference to this build's gen | 9 # The first argument to this script is a reference to this build's gen |
| 10 # directory, which we treat as the package root. The second is the stamp file | 10 # directory, which we treat as the package root. The second is the stamp file |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 ] | 62 ] |
| 63 | 63 |
| 64 # Grab all the toplevel dart files in the archive. | 64 # Grab all the toplevel dart files in the archive. |
| 65 dart_files = glob.glob(os.path.join(temp_dir, "*.dart")) | 65 dart_files = glob.glob(os.path.join(temp_dir, "*.dart")) |
| 66 | 66 |
| 67 if not dart_files: | 67 if not dart_files: |
| 68 return _success(stamp_file) | 68 return _success(stamp_file) |
| 69 | 69 |
| 70 cmd.extend(dart_files) | 70 cmd.extend(dart_files) |
| 71 cmd.extend(args) | 71 cmd.extend(args) |
| 72 cmd.append("--package-root=%s" % temp_dir) | 72 cmd.append("--package-root=%s/packages" % temp_dir) |
| 73 cmd.append("--fatal-warnings") | 73 cmd.append("--fatal-warnings") |
| 74 | 74 |
| 75 errors = 0 | 75 errors = 0 |
| 76 try: | 76 try: |
| 77 subprocess.check_output(cmd, shell=False, stderr=subprocess.STDOUT) | 77 subprocess.check_output(cmd, shell=False, stderr=subprocess.STDOUT) |
| 78 except subprocess.CalledProcessError as e: | 78 except subprocess.CalledProcessError as e: |
| 79 errors = set(l for l in e.output.split('\n') | 79 errors = set(l for l in e.output.split('\n') |
| 80 if not any(p.match(l) for p in _IGNORED_PATTERNS)) | 80 if not any(p.match(l) for p in _IGNORED_PATTERNS)) |
| 81 for error in sorted(errors): | 81 for error in sorted(errors): |
| 82 print >> sys.stderr, error.replace(temp_dir + "/", dartzip_basename) | 82 print >> sys.stderr, error.replace(temp_dir + "/", dartzip_basename) |
| 83 | 83 |
| 84 if not errors: | 84 if not errors: |
| 85 return _success(stamp_file) | 85 return _success(stamp_file) |
| 86 return min(255, len(errors)) | 86 return min(255, len(errors)) |
| 87 finally: | 87 finally: |
| 88 shutil.rmtree(temp_dir) | 88 shutil.rmtree(temp_dir) |
| 89 | 89 |
| 90 if __name__ == '__main__': | 90 if __name__ == '__main__': |
| 91 sys.exit(main(sys.argv[1:])) | 91 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |