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

Side by Side Diff: build/java_apk.gypi

Issue 321883002: Make test apks only dex files not in tested apk (proguard version) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « build/java_aidl.gypi ('k') | 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 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # This file is meant to be included into a target to provide a rule 5 # This file is meant to be included into a target to provide a rule
6 # to build Android APKs in a consistent manner. 6 # to build Android APKs in a consistent manner.
7 # 7 #
8 # To use this, create a gyp target with the following form: 8 # To use this, create a gyp target with the following form:
9 # { 9 # {
10 # 'target_name': 'my_package_apk', 10 # 'target_name': 'my_package_apk',
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 # R_package - A custom Java package to generate the resource file R.java in. 45 # R_package - A custom Java package to generate the resource file R.java in.
46 # By default, the package given in AndroidManifest.xml will be used. 46 # By default, the package given in AndroidManifest.xml will be used.
47 # use_chromium_linker - Enable the content dynamic linker that allows sharing t he 47 # use_chromium_linker - Enable the content dynamic linker that allows sharing t he
48 # RELRO section of the native libraries between the different processes. 48 # RELRO section of the native libraries between the different processes.
49 # enable_chromium_linker_tests - Enable the content dynamic linker test support 49 # enable_chromium_linker_tests - Enable the content dynamic linker test support
50 # code. This allows a test APK to inject a Linker.TestRunner instance at 50 # code. This allows a test APK to inject a Linker.TestRunner instance at
51 # runtime. Should only be used by the chromium_linker_test_apk target!! 51 # runtime. Should only be used by the chromium_linker_test_apk target!!
52 # never_lint - Set to 1 to not run lint on this target. 52 # never_lint - Set to 1 to not run lint on this target.
53 { 53 {
54 'variables': { 54 'variables': {
55 'tested_apk_obfuscated_jar_path%': '/',
55 'tested_apk_dex_path%': '/', 56 'tested_apk_dex_path%': '/',
56 'additional_input_paths': [], 57 'additional_input_paths': [],
57 'input_jars_paths': [], 58 'input_jars_paths': [],
58 'library_dexed_jars_paths': [], 59 'library_dexed_jars_paths': [],
59 'additional_src_dirs': [], 60 'additional_src_dirs': [],
60 'generated_src_dirs': [], 61 'generated_src_dirs': [],
61 'app_manifest_version_name%': '<(android_app_version_name)', 62 'app_manifest_version_name%': '<(android_app_version_name)',
62 'app_manifest_version_code%': '<(android_app_version_code)', 63 'app_manifest_version_code%': '<(android_app_version_code)',
63 # aapt generates this proguard.txt. 64 # aapt generates this proguard.txt.
64 'generated_proguard_file': '<(intermediate_dir)/proguard.txt', 65 'generated_proguard_file': '<(intermediate_dir)/proguard.txt',
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 'emma_instrument%': '<(emma_instrument)', 152 'emma_instrument%': '<(emma_instrument)',
152 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)', 153 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)',
153 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)', 154 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)',
154 'extra_native_libs': [], 155 'extra_native_libs': [],
155 'apk_dex_input_paths': [ '>@(library_dexed_jars_paths)' ], 156 'apk_dex_input_paths': [ '>@(library_dexed_jars_paths)' ],
156 }, 157 },
157 # Pass the jar path to the apk's "fake" jar target. This would be better as 158 # Pass the jar path to the apk's "fake" jar target. This would be better as
158 # direct_dependent_settings, but a variable set by a direct_dependent_settings 159 # direct_dependent_settings, but a variable set by a direct_dependent_settings
159 # cannot be lifted in a dependent to all_dependent_settings. 160 # cannot be lifted in a dependent to all_dependent_settings.
160 'all_dependent_settings': { 161 'all_dependent_settings': {
162 'conditions': [
163 ['proguard_enabled == "true"', {
164 'variables': {
165 'proguard_enabled': 'true',
166 }
167 }],
168 ],
161 'variables': { 169 'variables': {
162 'apk_output_jar_path': '<(jar_path)', 170 'apk_output_jar_path': '<(jar_path)',
171 'tested_apk_obfuscated_jar_path': '<(obfuscated_jar_path)',
163 'tested_apk_dex_path': '<(dex_path)', 172 'tested_apk_dex_path': '<(dex_path)',
164 }, 173 },
165 }, 174 },
166 'conditions': [ 175 'conditions': [
167 ['resource_dir!=""', { 176 ['resource_dir!=""', {
168 'variables': { 177 'variables': {
169 'resource_input_paths': [ '<!@(find <(resource_dir) -name "*")' ] 178 'resource_input_paths': [ '<!@(find <(resource_dir) -name "*")' ]
170 }, 179 },
171 }], 180 }],
172 ['R_package != ""', { 181 ['R_package != ""', {
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 '--jar-path=<(jar_path)', 606 '--jar-path=<(jar_path)',
598 '--excluded-classes=<(jar_excluded_classes)', 607 '--excluded-classes=<(jar_excluded_classes)',
599 '--stamp=<(jar_stamp)', 608 '--stamp=<(jar_stamp)',
600 ] 609 ]
601 }, 610 },
602 { 611 {
603 'action_name': 'obfuscate_<(_target_name)', 612 'action_name': 'obfuscate_<(_target_name)',
604 'message': 'Obfuscating <(_target_name)', 613 'message': 'Obfuscating <(_target_name)',
605 'variables': { 614 'variables': {
606 'additional_obfuscate_options': [], 615 'additional_obfuscate_options': [],
616 'additional_obfuscate_input_paths': [],
607 'proguard_out_dir': '<(intermediate_dir)/proguard', 617 'proguard_out_dir': '<(intermediate_dir)/proguard',
608 'proguard_input_jar_paths': [ 618 'proguard_input_jar_paths': [
609 '>@(input_jars_paths)', 619 '>@(input_jars_paths)',
610 '<(jar_path)', 620 '<(jar_path)',
611 ], 621 ],
612 'conditions': [ 622 'target_conditions': [
613 ['is_test_apk == 1', { 623 ['is_test_apk == 1', {
614 'additional_obfuscate_options': [ 624 'additional_obfuscate_options': [
615 '--testapp', 625 '--testapp',
616 ], 626 ],
617 }], 627 }],
628 ['is_test_apk == 1 and tested_apk_obfuscated_jar_path != "/"', {
629 'additional_obfuscate_options': [
630 '--tested-apk-obfuscated-jar-path', '>(tested_apk_obfuscated_jar_p ath)',
631 ],
632 'additional_obfuscate_input_paths': [
633 '>(tested_apk_obfuscated_jar_path).info',
634 ],
635 }],
618 ['proguard_enabled == "true"', { 636 ['proguard_enabled == "true"', {
619 'additional_obfuscate_options': [ 637 'additional_obfuscate_options': [
620 '--proguard-enabled', 638 '--proguard-enabled',
621 ], 639 ],
622 }], 640 }],
623 ], 641 ],
642 'obfuscate_input_jars_paths': [
643 '>@(input_jars_paths)',
644 '<(jar_path)',
645 ],
624 }, 646 },
625 'conditions': [ 647 'conditions': [
626 ['is_test_apk == 1', { 648 ['is_test_apk == 1', {
627 'outputs': [ 649 'outputs': [
628 '<(test_jar_path)', 650 '<(test_jar_path)',
629 ], 651 ],
630 }], 652 }],
631 ], 653 ],
632 'inputs': [ 654 'inputs': [
633 '<(DEPTH)/build/android/gyp/apk_obfuscate.py', 655 '<(DEPTH)/build/android/gyp/apk_obfuscate.py',
634 '<(DEPTH)/build/android/gyp/util/build_utils.py', 656 '<(DEPTH)/build/android/gyp/util/build_utils.py',
635 '>@(proguard_flags_paths)', 657 '>@(proguard_flags_paths)',
636 '>@(proguard_input_jar_paths)', 658 '>@(obfuscate_input_jars_paths)',
659 '>@(additional_obfuscate_input_paths)',
660 '<(instr_stamp)',
637 ], 661 ],
638 'outputs': [ 662 'outputs': [
639 # This lists obfuscate_stamp instead of obfuscated_jar_path because
640 # ant only writes the latter if the md5 of the inputs changes.
641 '<(obfuscate_stamp)', 663 '<(obfuscate_stamp)',
642 664
643 # In non-Release builds, these paths will all be empty files. 665 # In non-Release builds, these paths will all be empty files.
644 '<(obfuscated_jar_path)', 666 '<(obfuscated_jar_path)',
667 '<(obfuscated_jar_path).info',
645 '<(obfuscated_jar_path).dump', 668 '<(obfuscated_jar_path).dump',
646 '<(obfuscated_jar_path).seeds', 669 '<(obfuscated_jar_path).seeds',
647 '<(obfuscated_jar_path).mapping', 670 '<(obfuscated_jar_path).mapping',
648 '<(obfuscated_jar_path).usage', 671 '<(obfuscated_jar_path).usage',
649 ], 672 ],
650 'action': [ 673 'action': [
651 'python', '<(DEPTH)/build/android/gyp/apk_obfuscate.py', 674 'python', '<(DEPTH)/build/android/gyp/apk_obfuscate.py',
652 675
653 '--configuration-name', '<(CONFIGURATION_NAME)', 676 '--configuration-name', '<(CONFIGURATION_NAME)',
654 677
655 '--android-sdk', '<(android_sdk)', 678 '--android-sdk', '<(android_sdk)',
656 '--android-sdk-tools', '<(android_sdk_tools)', 679 '--android-sdk-tools', '<(android_sdk_tools)',
657 '--android-sdk-jar', '<(android_sdk_jar)', 680 '--android-sdk-jar', '<(android_sdk_jar)',
658 681
659 '--input-jars-paths=>(proguard_input_jar_paths)', 682 '--input-jars-paths=>(proguard_input_jar_paths)',
683 '--proguard-configs=>(proguard_flags_paths)',
684
685
660 '--test-jar-path', '<(test_jar_path)', 686 '--test-jar-path', '<(test_jar_path)',
661 '--obfuscated-jar-path', '<(obfuscated_jar_path)', 687 '--obfuscated-jar-path', '<(obfuscated_jar_path)',
662 688
663 '--proguard-jar-path', '<(android_sdk_root)/tools/proguard/lib/proguard. jar', 689 '--proguard-jar-path', '<(android_sdk_root)/tools/proguard/lib/proguard. jar',
664 690
665 '--proguard-config-files=<(proguard_flags_paths)',
666 '--stamp', '<(obfuscate_stamp)', 691 '--stamp', '<(obfuscate_stamp)',
667 692
668 '<@(additional_obfuscate_options)', 693 '>@(additional_obfuscate_options)',
669 ], 694 ],
670 }, 695 },
671 { 696 {
672 'action_name': 'dex_<(_target_name)', 697 'action_name': 'dex_<(_target_name)',
673 'variables': { 698 'variables': {
674 'output_path': '<(dex_path)', 699 'output_path': '<(dex_path)',
675 'dex_input_paths': [ 700 'dex_input_paths': [
676 '>@(apk_dex_input_paths)', 701 '>@(apk_dex_input_paths)',
677 '<(jar_path)', 702 '<(jar_path)',
678 ], 703 ],
679 'proguard_enabled_input_path': '<(obfuscated_jar_path)', 704 'proguard_enabled_input_path': '<(obfuscated_jar_path)',
680 }, 705 },
681 'target_conditions': [ 706 'target_conditions': [
682 ['emma_instrument != 0', { 707 ['emma_instrument != 0', {
683 'dex_no_locals': 1, 708 'dex_no_locals': 1,
684 'dex_input_paths': [ 709 'dex_input_paths': [
685 '<(emma_device_jar)' 710 '<(emma_device_jar)'
686 ], 711 ],
687 }], 712 }],
688 ['is_test_apk == 1 and tested_apk_dex_path != "/"', { 713 ['is_test_apk == 1 and tested_apk_dex_path != "/"', {
689 'variables': { 714 'variables': {
690 'dex_additional_options': [ 715 'dex_additional_options': [
691 '--excluded-paths-file', '>(tested_apk_dex_path).inputs' 716 '--excluded-paths-file', '>(tested_apk_dex_path).inputs'
692 ], 717 ],
693 }, 718 },
694 'inputs': [ 719 'inputs': [
695 '>(tested_apk_dex_path).inputs', 720 '>(tested_apk_dex_path).inputs',
696 ], 721 ],
697 }], 722 }],
698 ],
699 'conditions': [
700 ['proguard_enabled == "true"', { 723 ['proguard_enabled == "true"', {
701 'inputs': [ '<(obfuscate_stamp)' ] 724 'inputs': [ '<(obfuscate_stamp)' ]
702 }, { 725 }, {
703 'inputs': [ '<(instr_stamp)' ] 726 'inputs': [ '<(instr_stamp)' ]
704 }], 727 }],
705 ], 728 ],
706 'includes': [ 'android/dex_action.gypi' ], 729 'includes': [ 'android/dex_action.gypi' ],
707 }, 730 },
708 { 731 {
709 'action_name': 'package_resources', 732 'action_name': 'package_resources',
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 '-DEMMA_INSTRUMENT=<(emma_instrument)', 811 '-DEMMA_INSTRUMENT=<(emma_instrument)',
789 '-DEMMA_DEVICE_JAR=<(emma_device_jar)', 812 '-DEMMA_DEVICE_JAR=<(emma_device_jar)',
790 813
791 '-Dbasedir=.', 814 '-Dbasedir=.',
792 '-buildfile', 815 '-buildfile',
793 '<(DEPTH)/build/android/ant/apk-package.xml', 816 '<(DEPTH)/build/android/ant/apk-package.xml',
794 ] 817 ]
795 }, 818 },
796 ], 819 ],
797 } 820 }
OLDNEW
« no previous file with comments | « build/java_aidl.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698