Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: build/android/gradle/generate_gradle.py

Issue 2784293002: generate_gradle.py: Add --extra-target that appends to the default set (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2016 The Chromium Authors. All rights reserved. 2 # Copyright 2016 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 """Generates an Android Studio project from a GN target.""" 6 """Generates an Android Studio project from a GN target."""
7 7
8 import argparse 8 import argparse
9 import codecs 9 import codecs
10 import glob 10 import glob
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 help='Path to the root build directory.') 626 help='Path to the root build directory.')
627 parser.add_argument('-v', 627 parser.add_argument('-v',
628 '--verbose', 628 '--verbose',
629 dest='verbose_count', 629 dest='verbose_count',
630 default=0, 630 default=0,
631 action='count', 631 action='count',
632 help='Verbose level') 632 help='Verbose level')
633 parser.add_argument('--target', 633 parser.add_argument('--target',
634 dest='targets', 634 dest='targets',
635 action='append', 635 action='append',
636 help='GN target to generate project for. ' 636 help='GN target to generate project for. Replaces set of '
637 'May be repeated.') 637 'default targets. May be repeated.')
638 parser.add_argument('--extra-target',
639 dest='extra_targets',
640 action='append',
641 help='GN target to generate project for, in addition to '
642 'the default ones. May be repeated.')
638 parser.add_argument('--project-dir', 643 parser.add_argument('--project-dir',
639 help='Root of the output project.', 644 help='Root of the output project.',
640 default=os.path.join('$CHROMIUM_OUTPUT_DIR', 'gradle')) 645 default=os.path.join('$CHROMIUM_OUTPUT_DIR', 'gradle'))
641 parser.add_argument('--all', 646 parser.add_argument('--all',
642 action='store_true', 647 action='store_true',
643 help='Generate all java targets (slows down IDE)') 648 help='Generate all java targets (slows down IDE)')
644 parser.add_argument('--use-gradle-process-resources', 649 parser.add_argument('--use-gradle-process-resources',
645 action='store_true', 650 action='store_true',
646 help='Have gradle generate R.java rather than ninja') 651 help='Have gradle generate R.java rather than ninja')
647 parser.add_argument('--split-projects', 652 parser.add_argument('--split-projects',
(...skipping 21 matching lines...) Expand all
669 args.use_gradle_process_resources, jinja_processor, args.split_projects) 674 args.use_gradle_process_resources, jinja_processor, args.split_projects)
670 logging.warning('Creating project at: %s', generator.project_dir) 675 logging.warning('Creating project at: %s', generator.project_dir)
671 676
672 if args.all: 677 if args.all:
673 # Run GN gen if necessary (faster than running "gn gen" in the no-op case). 678 # Run GN gen if necessary (faster than running "gn gen" in the no-op case).
674 _RunNinja(constants.GetOutDirectory(), ['build.ninja']) 679 _RunNinja(constants.GetOutDirectory(), ['build.ninja'])
675 # Query ninja for all __build_config targets. 680 # Query ninja for all __build_config targets.
676 targets = _QueryForAllGnTargets(output_dir) 681 targets = _QueryForAllGnTargets(output_dir)
677 else: 682 else:
678 targets = args.targets or _DEFAULT_TARGETS 683 targets = args.targets or _DEFAULT_TARGETS
684 if args.extra_targets:
685 targets.extend(args.extra_targets)
679 targets = [re.sub(r'_test_apk$', '_test_apk__apk', t) for t in targets] 686 targets = [re.sub(r'_test_apk$', '_test_apk__apk', t) for t in targets]
680 # TODO(wnwen): Utilize Gradle's test constructs for our junit tests? 687 # TODO(wnwen): Utilize Gradle's test constructs for our junit tests?
681 targets = [re.sub(r'_junit_tests$', '_junit_tests__java_binary', t) 688 targets = [re.sub(r'_junit_tests$', '_junit_tests__java_binary', t)
682 for t in targets] 689 for t in targets]
683 690
684 main_entries = [_ProjectEntry.FromGnTarget(t) for t in targets] 691 main_entries = [_ProjectEntry.FromGnTarget(t) for t in targets]
685 692
686 logging.warning('Building .build_config files...') 693 logging.warning('Building .build_config files...')
687 _RunNinja(output_dir, [e.NinjaBuildConfigTarget() for e in main_entries]) 694 _RunNinja(output_dir, [e.NinjaBuildConfigTarget() for e in main_entries])
688 695
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 _ExtractZips(generator.project_dir, zip_tuples) 745 _ExtractZips(generator.project_dir, zip_tuples)
739 746
740 logging.warning('Project created! (%d subprojects)', len(project_entries)) 747 logging.warning('Project created! (%d subprojects)', len(project_entries))
741 logging.warning('Generated projects work best with Android Studio 2.2') 748 logging.warning('Generated projects work best with Android Studio 2.2')
742 logging.warning('For more tips: https://chromium.googlesource.com/chromium' 749 logging.warning('For more tips: https://chromium.googlesource.com/chromium'
743 '/src.git/+/master/docs/android_studio.md') 750 '/src.git/+/master/docs/android_studio.md')
744 751
745 752
746 if __name__ == '__main__': 753 if __name__ == '__main__':
747 main() 754 main()
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698