OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 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 """Makes sure that all files contain proper licensing information.""" | 6 """Makes sure that all files contain proper licensing information.""" |
7 | 7 |
8 | 8 |
9 import json | 9 import json |
10 import optparse | 10 import optparse |
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
541 'UNKNOWN', | 541 'UNKNOWN', |
542 ], | 542 ], |
543 'v8/test/cctest': [ # http://crbug.com/98597 | 543 'v8/test/cctest': [ # http://crbug.com/98597 |
544 'UNKNOWN', | 544 'UNKNOWN', |
545 ], | 545 ], |
546 'v8/src/third_party/kernel/tools/perf/util/jitdump.h': [ # http://crbug.com
/391716 | 546 'v8/src/third_party/kernel/tools/perf/util/jitdump.h': [ # http://crbug.com
/391716 |
547 'UNKNOWN', | 547 'UNKNOWN', |
548 ], | 548 ], |
549 } | 549 } |
550 | 550 |
| 551 EXCLUDED_PATHS = [ |
| 552 # Don't check generated files |
| 553 'out/', |
| 554 |
| 555 # Don't check sysroot directories |
| 556 'build/linux/debian_wheezy_amd64-sysroot', |
| 557 'build/linux/debian_wheezy_arm-sysroot', |
| 558 'build/linux/debian_wheezy_i386-sysroot', |
| 559 'build/linux/debian_wheezy_mips-sysroot', |
| 560 ] |
| 561 |
551 | 562 |
552 def check_licenses(options, args): | 563 def check_licenses(options, args): |
553 # Figure out which directory we have to check. | 564 # Figure out which directory we have to check. |
554 if len(args) == 0: | 565 if len(args) == 0: |
555 # No directory to check specified, use the repository root. | 566 # No directory to check specified, use the repository root. |
556 start_dir = options.base_directory | 567 start_dir = options.base_directory |
557 elif len(args) == 1: | 568 elif len(args) == 1: |
558 # Directory specified. Start here. It's supposed to be relative to the | 569 # Directory specified. Start here. It's supposed to be relative to the |
559 # base directory. | 570 # base directory. |
560 start_dir = os.path.abspath(os.path.join(options.base_directory, args[0])) | 571 start_dir = os.path.abspath(os.path.join(options.base_directory, args[0])) |
(...skipping 28 matching lines...) Expand all Loading... |
589 print "\nFAILED\n" | 600 print "\nFAILED\n" |
590 return 1 | 601 return 1 |
591 | 602 |
592 used_suppressions = set() | 603 used_suppressions = set() |
593 errors = [] | 604 errors = [] |
594 | 605 |
595 for line in stdout.splitlines(): | 606 for line in stdout.splitlines(): |
596 filename, license = line.split(':', 1) | 607 filename, license = line.split(':', 1) |
597 filename = os.path.relpath(filename.strip(), options.base_directory) | 608 filename = os.path.relpath(filename.strip(), options.base_directory) |
598 | 609 |
599 # All files in the build output directory are generated one way or another. | 610 # Check if the file belongs to one of the excluded paths. |
600 # There's no need to check them. | 611 if any((filename.startswith(path) for path in EXCLUDED_PATHS)): |
601 if filename.startswith('out/'): | |
602 continue | 612 continue |
603 | 613 |
604 # For now we're just interested in the license. | 614 # For now we're just interested in the license. |
605 license = license.replace('*No copyright*', '').strip() | 615 license = license.replace('*No copyright*', '').strip() |
606 | 616 |
607 # Skip generated files. | 617 # Skip generated files. |
608 if 'GENERATED FILE' in license: | 618 if 'GENERATED FILE' in license: |
609 continue | 619 continue |
610 | 620 |
611 if license in WHITELISTED_LICENSES: | 621 if license in WHITELISTED_LICENSES: |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
672 action='store_true', | 682 action='store_true', |
673 default=False, | 683 default=False, |
674 help='Ignore path-specific license whitelist.') | 684 help='Ignore path-specific license whitelist.') |
675 option_parser.add_option('--json', help='Path to JSON output file') | 685 option_parser.add_option('--json', help='Path to JSON output file') |
676 options, args = option_parser.parse_args() | 686 options, args = option_parser.parse_args() |
677 return check_licenses(options, args) | 687 return check_licenses(options, args) |
678 | 688 |
679 | 689 |
680 if '__main__' == __name__: | 690 if '__main__' == __name__: |
681 sys.exit(main()) | 691 sys.exit(main()) |
OLD | NEW |