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 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 'action_name': 'ant_codegen_<(_target_name)', | 464 'action_name': 'ant_codegen_<(_target_name)', |
465 'message': 'Generating R.java for <(_target_name)', | 465 'message': 'Generating R.java for <(_target_name)', |
466 'conditions': [ | 466 'conditions': [ |
467 ['is_test_apk == 1', { | 467 ['is_test_apk == 1', { |
468 'variables': { | 468 'variables': { |
469 'additional_res_dirs=': [], | 469 'additional_res_dirs=': [], |
470 'additional_res_packages=': [], | 470 'additional_res_packages=': [], |
471 } | 471 } |
472 }], | 472 }], |
473 ], | 473 ], |
| 474 'variables': { |
| 475 # Write the inputs list to a file, so that its mtime is updated when |
| 476 # the list of inputs changes. |
| 477 'inputs_list_file': '>|(apk_codegen.<(_target_name).gypcmd >@(additional
_input_paths) >@(resource_input_paths))' |
| 478 }, |
474 'inputs': [ | 479 'inputs': [ |
475 '<(DEPTH)/build/android/ant/apk-codegen.xml', | 480 '<(DEPTH)/build/android/ant/apk-codegen.xml', |
476 '<(DEPTH)/build/android/gyp/util/build_utils.py', | 481 '<(DEPTH)/build/android/gyp/util/build_utils.py', |
477 '<(DEPTH)/build/android/gyp/ant.py', | 482 '<(DEPTH)/build/android/gyp/ant.py', |
478 '<(android_manifest_path)', | 483 '<(android_manifest_path)', |
479 '>@(additional_input_paths)', | 484 '>@(additional_input_paths)', |
480 '>@(resource_input_paths)', | 485 '>@(resource_input_paths)', |
| 486 '>(inputs_list_file)', |
481 ], | 487 ], |
482 'outputs': [ | 488 'outputs': [ |
483 '<(codegen_stamp)', | 489 '<(codegen_stamp)', |
484 ], | 490 ], |
485 'action': [ | 491 'action': [ |
486 'python', '<(DEPTH)/build/android/gyp/ant.py', | 492 'python', '<(DEPTH)/build/android/gyp/ant.py', |
487 '-quiet', | 493 '-quiet', |
488 '-DADDITIONAL_RES_DIRS=>(additional_res_dirs)', | 494 '-DADDITIONAL_RES_DIRS=>(additional_res_dirs)', |
489 '-DADDITIONAL_RES_PACKAGES=>(additional_res_packages)', | 495 '-DADDITIONAL_RES_PACKAGES=>(additional_res_packages)', |
490 '-DADDITIONAL_R_TEXT_FILES=>(additional_R_text_files)', | 496 '-DADDITIONAL_R_TEXT_FILES=>(additional_R_text_files)', |
491 '-DANDROID_MANIFEST=<(android_manifest_path)', | 497 '-DANDROID_MANIFEST=<(android_manifest_path)', |
492 '-DANDROID_SDK_JAR=<(android_sdk_jar)', | 498 '-DANDROID_SDK_JAR=<(android_sdk_jar)', |
493 '-DANDROID_SDK_ROOT=<(android_sdk_root)', | 499 '-DANDROID_SDK_ROOT=<(android_sdk_root)', |
494 '-DANDROID_SDK_VERSION=<(android_sdk_version)', | 500 '-DANDROID_SDK_VERSION=<(android_sdk_version)', |
495 '-DANDROID_SDK_TOOLS=<(android_sdk_tools)', | 501 '-DANDROID_SDK_TOOLS=<(android_sdk_tools)', |
496 '-DOUT_DIR=<(intermediate_dir)', | 502 '-DOUT_DIR=<(intermediate_dir)', |
497 '-DRESOURCE_DIR=<(resource_dir)', | 503 '-DRESOURCE_DIR=<(resource_dir)', |
498 | 504 |
499 '-DSTAMP=<(codegen_stamp)', | 505 '-DSTAMP=<(codegen_stamp)', |
500 '-Dbasedir=.', | 506 '-Dbasedir=.', |
501 '-buildfile', | 507 '-buildfile', |
502 '<(DEPTH)/build/android/ant/apk-codegen.xml', | 508 '<(DEPTH)/build/android/ant/apk-codegen.xml', |
503 | |
504 # Add list of inputs to the command line, so if inputs change | |
505 # (e.g. if a Java file is removed), the command will be re-run. | |
506 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja. | |
507 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)', | |
508 ], | 509 ], |
509 }, | 510 }, |
510 { | 511 { |
511 'action_name': 'javac_<(_target_name)', | 512 'action_name': 'javac_<(_target_name)', |
512 'message': 'Compiling java for <(_target_name)', | 513 'message': 'Compiling java for <(_target_name)', |
513 'variables': { | 514 'variables': { |
514 'gen_src_dirs': [ | 515 'gen_src_dirs': [ |
515 '<(intermediate_dir)/gen', | 516 '<(intermediate_dir)/gen', |
516 '>@(generated_src_dirs)', | 517 '>@(generated_src_dirs)', |
517 ], | 518 ], |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
721 '-DSTAMP=<(package_resources_stamp)', | 722 '-DSTAMP=<(package_resources_stamp)', |
722 | 723 |
723 '-Dbasedir=.', | 724 '-Dbasedir=.', |
724 '-buildfile', | 725 '-buildfile', |
725 '<(DEPTH)/build/android/ant/apk-package-resources.xml', | 726 '<(DEPTH)/build/android/ant/apk-package-resources.xml', |
726 ] | 727 ] |
727 }, | 728 }, |
728 { | 729 { |
729 'action_name': 'ant_package_<(_target_name)', | 730 'action_name': 'ant_package_<(_target_name)', |
730 'message': 'Packaging <(_target_name)', | 731 'message': 'Packaging <(_target_name)', |
| 732 'variables': { |
| 733 # Write the inputs list to a file, so that its mtime is updated when |
| 734 # the list of inputs changes. |
| 735 'inputs_list_file': '>|(apk_package.<(_target_name).gypcmd >@(package_in
put_paths))' |
| 736 }, |
731 'inputs': [ | 737 'inputs': [ |
732 '<(DEPTH)/build/android/ant/apk-package.xml', | 738 '<(DEPTH)/build/android/ant/apk-package.xml', |
733 '<(DEPTH)/build/android/gyp/util/build_utils.py', | 739 '<(DEPTH)/build/android/gyp/util/build_utils.py', |
734 '<(DEPTH)/build/android/gyp/ant.py', | 740 '<(DEPTH)/build/android/gyp/ant.py', |
735 '<(dex_path)', | 741 '<(dex_path)', |
736 '<(codegen_stamp)', | 742 '<(codegen_stamp)', |
737 '<(obfuscate_stamp)', | 743 '<(obfuscate_stamp)', |
738 '<(package_resources_stamp)', | 744 '<(package_resources_stamp)', |
739 '>@(package_input_paths)', | 745 '>@(package_input_paths)', |
| 746 '>(inputs_list_file)', |
740 ], | 747 ], |
741 'outputs': [ | 748 'outputs': [ |
742 '<(unsigned_apk_path)', | 749 '<(unsigned_apk_path)', |
743 ], | 750 ], |
744 'action': [ | 751 'action': [ |
745 'python', '<(DEPTH)/build/android/gyp/ant.py', | 752 'python', '<(DEPTH)/build/android/gyp/ant.py', |
746 '-quiet', | 753 '-quiet', |
747 '-DANDROID_SDK_ROOT=<(android_sdk_root)', | 754 '-DANDROID_SDK_ROOT=<(android_sdk_root)', |
748 '-DANDROID_SDK_TOOLS=<(android_sdk_tools)', | 755 '-DANDROID_SDK_TOOLS=<(android_sdk_tools)', |
749 '-DAPK_NAME=<(apk_name)', | 756 '-DAPK_NAME=<(apk_name)', |
750 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', | 757 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', |
751 '-DNATIVE_LIBS_DIR=<(apk_package_native_libs_dir)', | 758 '-DNATIVE_LIBS_DIR=<(apk_package_native_libs_dir)', |
752 '-DOUT_DIR=<(intermediate_dir)', | 759 '-DOUT_DIR=<(intermediate_dir)', |
753 '-DSOURCE_DIR=<(source_dir)', | 760 '-DSOURCE_DIR=<(source_dir)', |
754 '-DUNSIGNED_APK_PATH=<(unsigned_apk_path)', | 761 '-DUNSIGNED_APK_PATH=<(unsigned_apk_path)', |
755 '-DEMMA_INSTRUMENT=<(emma_instrument)', | 762 '-DEMMA_INSTRUMENT=<(emma_instrument)', |
756 '-DEMMA_DEVICE_JAR=<(emma_device_jar)', | 763 '-DEMMA_DEVICE_JAR=<(emma_device_jar)', |
757 | 764 |
758 '-Dbasedir=.', | 765 '-Dbasedir=.', |
759 '-buildfile', | 766 '-buildfile', |
760 '<(DEPTH)/build/android/ant/apk-package.xml', | 767 '<(DEPTH)/build/android/ant/apk-package.xml', |
761 | |
762 # Add list of inputs to the command line, so if inputs change | |
763 # (e.g. if a Java file is removed), the command will be re-run. | |
764 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja. | |
765 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)', | |
766 ] | 768 ] |
767 }, | 769 }, |
768 ], | 770 ], |
769 } | 771 } |
OLD | NEW |