OLD | NEW |
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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 'R_package%':'', | 68 'R_package%':'', |
69 'additional_R_text_files': [], | 69 'additional_R_text_files': [], |
70 'additional_res_dirs': [], | 70 'additional_res_dirs': [], |
71 'additional_res_packages': [], | 71 'additional_res_packages': [], |
72 'is_test_apk%': 0, | 72 'is_test_apk%': 0, |
73 'java_strings_grd%': '', | 73 'java_strings_grd%': '', |
74 'resource_input_paths': [], | 74 'resource_input_paths': [], |
75 'intermediate_dir': '<(PRODUCT_DIR)/<(_target_name)', | 75 'intermediate_dir': '<(PRODUCT_DIR)/<(_target_name)', |
76 'asset_location%': '<(intermediate_dir)/assets', | 76 'asset_location%': '<(intermediate_dir)/assets', |
77 'codegen_stamp': '<(intermediate_dir)/codegen.stamp', | 77 'codegen_stamp': '<(intermediate_dir)/codegen.stamp', |
78 'compile_input_paths': [], | |
79 'package_input_paths': [], | 78 'package_input_paths': [], |
80 'ordered_libraries_file': '<(intermediate_dir)/native_libraries.json', | 79 'ordered_libraries_file': '<(intermediate_dir)/native_libraries.json', |
81 'native_libraries_template': '<(DEPTH)/base/android/java/templates/NativeLib
raries.template', | 80 'native_libraries_template': '<(DEPTH)/base/android/java/templates/NativeLib
raries.template', |
82 'native_libraries_java_dir': '<(intermediate_dir)/native_libraries_java/', | 81 'native_libraries_java_dir': '<(intermediate_dir)/native_libraries_java/', |
83 'native_libraries_java_file': '<(native_libraries_java_dir)/NativeLibraries.
java', | 82 'native_libraries_java_file': '<(native_libraries_java_dir)/NativeLibraries.
java', |
84 'native_libraries_java_stamp': '<(intermediate_dir)/native_libraries_java.st
amp', | 83 'native_libraries_java_stamp': '<(intermediate_dir)/native_libraries_java.st
amp', |
85 'native_libraries_template_data_dir': '<(intermediate_dir)/native_libraries/
', | 84 'native_libraries_template_data_dir': '<(intermediate_dir)/native_libraries/
', |
86 'native_libraries_template_data_file': '<(native_libraries_template_data_dir
)/native_libraries_array.h', | 85 'native_libraries_template_data_file': '<(native_libraries_template_data_dir
)/native_libraries_array.h', |
87 'native_libraries_template_version_file': '<(native_libraries_template_data_
dir)/native_libraries_version.h', | 86 'native_libraries_template_version_file': '<(native_libraries_template_data_
dir)/native_libraries_version.h', |
88 'compile_stamp': '<(intermediate_dir)/compile.stamp', | 87 'compile_stamp': '<(intermediate_dir)/compile.stamp', |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 '<(DEPTH)/build/android/setup.gyp:copy_system_libraries', | 177 '<(DEPTH)/build/android/setup.gyp:copy_system_libraries', |
179 ], | 178 ], |
180 }], | 179 }], |
181 ['use_chromium_linker == 1', { | 180 ['use_chromium_linker == 1', { |
182 'dependencies': [ | 181 'dependencies': [ |
183 '<(DEPTH)/base/base.gyp:chromium_android_linker', | 182 '<(DEPTH)/base/base.gyp:chromium_android_linker', |
184 ], | 183 ], |
185 }], | 184 }], |
186 ['native_lib_target != ""', { | 185 ['native_lib_target != ""', { |
187 'variables': { | 186 'variables': { |
188 'compile_input_paths': [ '<(native_libraries_java_stamp)' ], | |
189 'generated_src_dirs': [ '<(native_libraries_java_dir)' ], | 187 'generated_src_dirs': [ '<(native_libraries_java_dir)' ], |
190 'native_libs_paths': [ | 188 'native_libs_paths': [ |
191 '<(SHARED_LIB_DIR)/<(native_lib_target).>(android_product_extension)' | 189 '<(SHARED_LIB_DIR)/<(native_lib_target).>(android_product_extension)' |
192 ], | 190 ], |
193 'package_input_paths': [ | 191 'package_input_paths': [ |
194 '<(apk_package_native_libs_dir)/<(android_app_abi)/gdbserver', | 192 '<(apk_package_native_libs_dir)/<(android_app_abi)/gdbserver', |
195 ], | 193 ], |
196 }, | 194 }, |
197 'copies': [ | 195 'copies': [ |
198 { | 196 { |
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 # both use java.gypi.) | 527 # both use java.gypi.) |
530 'java_source_list': '>|(javasources.<(_target_name).gypcmd >!@(find >(ja
va_in_dir)/src >(additional_src_dirs) -name "*.java" # apk))', | 528 'java_source_list': '>|(javasources.<(_target_name).gypcmd >!@(find >(ja
va_in_dir)/src >(additional_src_dirs) -name "*.java" # apk))', |
531 | 529 |
532 }, | 530 }, |
533 'inputs': [ | 531 'inputs': [ |
534 '<(DEPTH)/build/android/gyp/util/build_utils.py', | 532 '<(DEPTH)/build/android/gyp/util/build_utils.py', |
535 '<(DEPTH)/build/android/gyp/javac.py', | 533 '<(DEPTH)/build/android/gyp/javac.py', |
536 '>(java_source_list)', | 534 '>(java_source_list)', |
537 '>@(input_jars_paths)', | 535 '>@(input_jars_paths)', |
538 '<(codegen_stamp)', | 536 '<(codegen_stamp)', |
539 '>@(compile_input_paths)', | 537 ], |
| 538 'conditions': [ |
| 539 ['native_lib_target != ""', { |
| 540 'inputs': [ '<(native_libraries_java_stamp)' ], |
| 541 }], |
540 ], | 542 ], |
541 'outputs': [ | 543 'outputs': [ |
542 '<(compile_stamp)', | 544 '<(compile_stamp)', |
543 ], | 545 ], |
544 'action': [ | 546 'action': [ |
545 'python', '<(DEPTH)/build/android/gyp/javac.py', | 547 'python', '<(DEPTH)/build/android/gyp/javac.py', |
546 '--output-dir=<(classes_dir)', | 548 '--output-dir=<(classes_dir)', |
547 '--classpath=>(input_jars_paths) <(android_sdk_jar)', | 549 '--classpath=>(input_jars_paths) <(android_sdk_jar)', |
548 '--src-filelist=>(java_source_list)', | 550 '--src-filelist=>(java_source_list)', |
549 '--src-gendirs=>(gen_src_dirs)', | 551 '--src-gendirs=>(gen_src_dirs)', |
550 '--javac-includes=<(javac_includes)', | 552 '--javac-includes=<(javac_includes)', |
551 '--chromium-code=<(chromium_code)', | 553 '--chromium-code=<(chromium_code)', |
552 '--stamp=<(compile_stamp)', | 554 '--stamp=<(compile_stamp)', |
553 | |
554 # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja
. | |
555 '--ignore=>!(echo \'>(_inputs)\' | md5sum)', | |
556 ], | 555 ], |
557 }, | 556 }, |
558 { | 557 { |
559 'variables': { | 558 'variables': { |
560 'src_dirs': [ | 559 'src_dirs': [ |
561 '<(java_in_dir)/src', | 560 '<(java_in_dir)/src', |
562 '>@(additional_src_dirs)', | 561 '>@(additional_src_dirs)', |
563 ], | 562 ], |
564 'stamp_path': '<(lint_stamp)', | 563 'stamp_path': '<(lint_stamp)', |
565 'result_path': '<(lint_result)', | 564 'result_path': '<(lint_result)', |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
679 }, | 678 }, |
680 { | 679 { |
681 'action_name': 'ant package resources', | 680 'action_name': 'ant package resources', |
682 'message': 'Packaging resources for <(_target_name) APK', | 681 'message': 'Packaging resources for <(_target_name) APK', |
683 'inputs': [ | 682 'inputs': [ |
684 '<(DEPTH)/build/android/ant/apk-package-resources.xml', | 683 '<(DEPTH)/build/android/ant/apk-package-resources.xml', |
685 '<(DEPTH)/build/android/gyp/util/build_utils.py', | 684 '<(DEPTH)/build/android/gyp/util/build_utils.py', |
686 '<(DEPTH)/build/android/gyp/ant.py', | 685 '<(DEPTH)/build/android/gyp/ant.py', |
687 '<(android_manifest_path)', | 686 '<(android_manifest_path)', |
688 '<(codegen_stamp)', | 687 '<(codegen_stamp)', |
| 688 # TODO: This isn't always rerun correctly, http://crbug.com/351928 |
689 | 689 |
690 '>@(additional_input_paths)', | 690 '>@(additional_input_paths)', |
691 ], | 691 ], |
692 'conditions': [ | 692 'conditions': [ |
693 ['is_test_apk == 1', { | 693 ['is_test_apk == 1', { |
694 'variables': { | 694 'variables': { |
695 'additional_res_dirs=': [], | 695 'additional_res_dirs=': [], |
696 'additional_res_packages=': [], | 696 'additional_res_packages=': [], |
697 } | 697 } |
698 }], | 698 }], |
(...skipping 17 matching lines...) Expand all Loading... |
716 '-DASSET_DIR=<(asset_location)', | 716 '-DASSET_DIR=<(asset_location)', |
717 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', | 717 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', |
718 '-DOUT_DIR=<(intermediate_dir)', | 718 '-DOUT_DIR=<(intermediate_dir)', |
719 '-DRESOURCE_DIR=<(resource_dir)', | 719 '-DRESOURCE_DIR=<(resource_dir)', |
720 | 720 |
721 '-DSTAMP=<(package_resources_stamp)', | 721 '-DSTAMP=<(package_resources_stamp)', |
722 | 722 |
723 '-Dbasedir=.', | 723 '-Dbasedir=.', |
724 '-buildfile', | 724 '-buildfile', |
725 '<(DEPTH)/build/android/ant/apk-package-resources.xml', | 725 '<(DEPTH)/build/android/ant/apk-package-resources.xml', |
726 | |
727 # Add list of inputs to the command line, so if inputs change | |
728 # (e.g. if a Java file is removed), the command will be re-run. | |
729 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja. | |
730 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)', | |
731 ] | 726 ] |
732 }, | 727 }, |
733 { | 728 { |
734 'action_name': 'ant_package_<(_target_name)', | 729 'action_name': 'ant_package_<(_target_name)', |
735 'message': 'Packaging <(_target_name)', | 730 'message': 'Packaging <(_target_name)', |
736 'inputs': [ | 731 'inputs': [ |
737 '<(DEPTH)/build/android/ant/apk-package.xml', | 732 '<(DEPTH)/build/android/ant/apk-package.xml', |
738 '<(DEPTH)/build/android/gyp/util/build_utils.py', | 733 '<(DEPTH)/build/android/gyp/util/build_utils.py', |
739 '<(DEPTH)/build/android/gyp/ant.py', | 734 '<(DEPTH)/build/android/gyp/ant.py', |
740 '<(dex_path)', | 735 '<(dex_path)', |
(...skipping 24 matching lines...) Expand all Loading... |
765 '<(DEPTH)/build/android/ant/apk-package.xml', | 760 '<(DEPTH)/build/android/ant/apk-package.xml', |
766 | 761 |
767 # Add list of inputs to the command line, so if inputs change | 762 # Add list of inputs to the command line, so if inputs change |
768 # (e.g. if a Java file is removed), the command will be re-run. | 763 # (e.g. if a Java file is removed), the command will be re-run. |
769 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja. | 764 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja. |
770 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)', | 765 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)', |
771 ] | 766 ] |
772 }, | 767 }, |
773 ], | 768 ], |
774 } | 769 } |
OLD | NEW |