| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # | 2 # |
| 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 """Runs findbugs, and returns an error code if there are new warnings. | 7 """Runs findbugs, and returns an error code if there are new warnings. |
| 8 This runs findbugs with an additional flag to exclude known bugs. | 8 This runs findbugs with an additional flag to exclude known bugs. |
| 9 To update the list of known bugs, do this: | 9 To update the list of known bugs, do this: |
| 10 | 10 |
| 11 findbugs_diff.py --rebaseline | 11 findbugs_diff.py --rebaseline |
| 12 | 12 |
| 13 Note that this is separate from findbugs_exclude.xml. The "exclude" file has | 13 Note that this is separate from findbugs_exclude.xml. The "exclude" file has |
| 14 false positives that we do not plan to fix. The "known bugs" file has real | 14 false positives that we do not plan to fix. The "known bugs" file has real |
| 15 bugs that we *do* plan to fix (but haven't done so yet). | 15 bugs that we *do* plan to fix (but haven't done so yet). |
| 16 | 16 |
| 17 Other options | 17 Other options |
| 18 --only-analyze used to only analyze the class you are interested. | 18 --only-analyze used to only analyze the class you are interested. |
| 19 --relase-build analyze the classes in out/Release directory. | 19 --relase-build analyze the classes in out/Release directory. |
| 20 --findbugs-args used to passin other findbugs's options. | 20 --findbugs-args used to passin other findbugs's options. |
| 21 | 21 |
| 22 Run | 22 Run |
| 23 $CHROM_SRC/third_party/findbugs/bin/findbugs -textui for details. | 23 $CHROM_SRC/third_party/findbugs/bin/findbugs -textui for details. |
| 24 | 24 |
| 25 """ | 25 """ |
| 26 | 26 |
| 27 import optparse |
| 27 import os | 28 import os |
| 28 import sys | 29 import sys |
| 29 | 30 |
| 30 from pylib import constants | 31 from pylib import constants |
| 31 from pylib.utils import findbugs | 32 from pylib.utils import findbugs |
| 32 | 33 |
| 33 | 34 |
| 34 def main(): | 35 def main(argv): |
| 35 parser = findbugs.GetCommonParser() | 36 parser = findbugs.GetCommonParser() |
| 36 | 37 |
| 37 options, _ = parser.parse_args() | 38 options, _ = parser.parse_args() |
| 38 | 39 |
| 39 if not options.base_dir: | 40 if not options.base_dir: |
| 40 options.base_dir = os.path.join(constants.DIR_SOURCE_ROOT, 'build', | 41 options.base_dir = os.path.join(constants.DIR_SOURCE_ROOT, 'build', |
| 41 'android', 'findbugs_filter') | 42 'android', 'findbugs_filter') |
| 42 if not options.only_analyze: | 43 if not options.only_analyze: |
| 43 options.only_analyze = 'org.chromium.-' | 44 options.only_analyze = 'org.chromium.-' |
| 44 | 45 |
| 45 return findbugs.Run(options) | 46 return findbugs.Run(options) |
| 46 | 47 |
| 47 | 48 |
| 48 if __name__ == '__main__': | 49 if __name__ == '__main__': |
| 49 sys.exit(main()) | 50 sys.exit(main(sys.argv)) |
| OLD | NEW |