| 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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 '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', |
| 87 'compile_stamp': '<(intermediate_dir)/compile.stamp', | 87 'compile_stamp': '<(intermediate_dir)/compile.stamp', |
| 88 'lint_stamp': '<(intermediate_dir)/lint.stamp', | 88 'lint_stamp': '<(intermediate_dir)/lint.stamp', |
| 89 'lint_result': '<(intermediate_dir)/lint_result.xml', | 89 'lint_result': '<(intermediate_dir)/lint_result.xml', |
| 90 'lint_config': '<(intermediate_dir)/lint_config.xml', | 90 'lint_config': '<(intermediate_dir)/lint_config.xml', |
| 91 'never_lint%': 0, | 91 'never_lint%': 0, |
| 92 'instr_stamp': '<(intermediate_dir)/instr.stamp', | 92 'instr_stamp': '<(intermediate_dir)/instr.stamp', |
| 93 'jar_stamp': '<(intermediate_dir)/jar.stamp', | 93 'jar_stamp': '<(intermediate_dir)/jar.stamp', |
| 94 'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp', | 94 'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp', |
| 95 'strip_stamp': '<(intermediate_dir)/strip.stamp', | 95 'strip_stamp': '<(intermediate_dir)/strip.stamp', |
| 96 'classes_dir': '<(intermediate_dir)/classes', | 96 'classes_dir': '<(intermediate_dir)/classes/2', |
| 97 'classes_final_dir': '<(intermediate_dir)/classes_instr', | |
| 98 'javac_includes': [], | 97 'javac_includes': [], |
| 99 'jar_excluded_classes': [], | 98 'jar_excluded_classes': [], |
| 99 'javac_jar_path': '<(intermediate_dir)/<(_target_name).javac.jar', |
| 100 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', | 100 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', |
| 101 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar', | 101 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar', |
| 102 'test_jar_path': '<(PRODUCT_DIR)/test.lib.java/<(apk_name).jar', | 102 'test_jar_path': '<(PRODUCT_DIR)/test.lib.java/<(apk_name).jar', |
| 103 'dex_path': '<(intermediate_dir)/classes.dex', | 103 'dex_path': '<(intermediate_dir)/classes.dex', |
| 104 'emma_device_jar': '<(android_sdk_root)/tools/lib/emma_device.jar', | 104 'emma_device_jar': '<(android_sdk_root)/tools/lib/emma_device.jar', |
| 105 'android_manifest_path%': '<(java_in_dir)/AndroidManifest.xml', | 105 'android_manifest_path%': '<(java_in_dir)/AndroidManifest.xml', |
| 106 'push_stamp': '<(intermediate_dir)/push.stamp', | 106 'push_stamp': '<(intermediate_dir)/push.stamp', |
| 107 'link_stamp': '<(intermediate_dir)/link.stamp', | 107 'link_stamp': '<(intermediate_dir)/link.stamp', |
| 108 'package_resources_stamp': '<(intermediate_dir)/package_resources.stamp', | 108 'package_resources_stamp': '<(intermediate_dir)/package_resources.stamp', |
| 109 'resource_zip_path': '<(intermediate_dir)/<(_target_name).resources.zip', | 109 'resource_zip_path': '<(intermediate_dir)/<(_target_name).resources.zip', |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 ], | 145 ], |
| 146 }, | 146 }, |
| 147 'native_lib_target%': '', | 147 'native_lib_target%': '', |
| 148 'native_lib_version_name%': '', | 148 'native_lib_version_name%': '', |
| 149 'use_chromium_linker%' : 0, | 149 'use_chromium_linker%' : 0, |
| 150 'enable_chromium_linker_tests%': 0, | 150 'enable_chromium_linker_tests%': 0, |
| 151 'emma_instrument%': '<(emma_instrument)', | 151 'emma_instrument%': '<(emma_instrument)', |
| 152 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)', | 152 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)', |
| 153 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)', | 153 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)', |
| 154 'extra_native_libs': [], | 154 'extra_native_libs': [], |
| 155 'apk_dex_input_paths': [ '>@(library_dexed_jars_paths)' ], | |
| 156 }, | 155 }, |
| 157 # Pass the jar path to the apk's "fake" jar target. This would be better as | 156 # 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 | 157 # direct_dependent_settings, but a variable set by a direct_dependent_settings |
| 159 # cannot be lifted in a dependent to all_dependent_settings. | 158 # cannot be lifted in a dependent to all_dependent_settings. |
| 160 'all_dependent_settings': { | 159 'all_dependent_settings': { |
| 161 'variables': { | 160 'variables': { |
| 162 'apk_output_jar_path': '<(jar_path)', | 161 'apk_output_jar_path': '<(jar_path)', |
| 163 'tested_apk_dex_path': '<(dex_path)', | 162 'tested_apk_dex_path': '<(dex_path)', |
| 164 }, | 163 }, |
| 165 }, | 164 }, |
| (...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 '>@(input_jars_paths)', | 523 '>@(input_jars_paths)', |
| 525 '<(codegen_stamp)', | 524 '<(codegen_stamp)', |
| 526 ], | 525 ], |
| 527 'conditions': [ | 526 'conditions': [ |
| 528 ['native_lib_target != ""', { | 527 ['native_lib_target != ""', { |
| 529 'inputs': [ '<(native_libraries_java_stamp)' ], | 528 'inputs': [ '<(native_libraries_java_stamp)' ], |
| 530 }], | 529 }], |
| 531 ], | 530 ], |
| 532 'outputs': [ | 531 'outputs': [ |
| 533 '<(compile_stamp)', | 532 '<(compile_stamp)', |
| 533 '<(javac_jar_path)', |
| 534 ], | 534 ], |
| 535 'action': [ | 535 'action': [ |
| 536 'python', '<(DEPTH)/build/android/gyp/javac.py', | 536 'python', '<(DEPTH)/build/android/gyp/javac.py', |
| 537 '--output-dir=<(classes_dir)', | 537 '--classes-dir=<(classes_dir)', |
| 538 '--classpath=>(input_jars_paths) <(android_sdk_jar)', | 538 '--classpath=>(input_jars_paths) <(android_sdk_jar)', |
| 539 '--src-gendirs=>(gen_src_dirs)', | 539 '--src-gendirs=>(gen_src_dirs)', |
| 540 '--javac-includes=<(javac_includes)', | 540 '--javac-includes=<(javac_includes)', |
| 541 '--chromium-code=<(chromium_code)', | 541 '--chromium-code=<(chromium_code)', |
| 542 '--jar-path=<(javac_jar_path)', |
| 543 '--jar-excluded-classes=<(jar_excluded_classes)', |
| 542 '--stamp=<(compile_stamp)', | 544 '--stamp=<(compile_stamp)', |
| 543 '>@(java_sources)', | 545 '>@(java_sources)', |
| 544 ], | 546 ], |
| 545 }, | 547 }, |
| 546 { | 548 { |
| 547 'variables': { | 549 'variables': { |
| 548 'src_dirs': [ | 550 'src_dirs': [ |
| 549 '<(java_in_dir)/src', | 551 '<(java_in_dir)/src', |
| 550 '>@(additional_src_dirs)', | 552 '>@(additional_src_dirs)', |
| 551 ], | 553 ], |
| 552 'stamp_path': '<(lint_stamp)', | 554 'stamp_path': '<(lint_stamp)', |
| 553 'result_path': '<(lint_result)', | 555 'result_path': '<(lint_result)', |
| 554 'config_path': '<(lint_config)', | 556 'config_path': '<(lint_config)', |
| 555 }, | 557 }, |
| 556 'inputs': [ | 558 'inputs': [ |
| 557 '<(compile_stamp)', | 559 '<(compile_stamp)', |
| 558 ], | 560 ], |
| 559 'outputs': [ | 561 'outputs': [ |
| 560 '<(lint_stamp)', | 562 '<(lint_stamp)', |
| 561 ], | 563 ], |
| 562 'includes': [ 'android/lint_action.gypi' ], | 564 'includes': [ 'android/lint_action.gypi' ], |
| 563 }, | 565 }, |
| 564 { | 566 { |
| 565 'action_name': 'instr_classes_<(_target_name)', | 567 'action_name': 'instr_jar_<(_target_name)', |
| 566 'message': 'Instrumenting <(_target_name) classes', | 568 'message': 'Instrumenting <(_target_name) jar', |
| 567 'variables': { | 569 'variables': { |
| 568 'input_path': '<(classes_dir)', | 570 'input_path': '<(javac_jar_path)', |
| 569 'output_path': '<(classes_final_dir)', | 571 'output_path': '<(jar_path)', |
| 570 'stamp_path': '<(instr_stamp)', | 572 'stamp_path': '<(instr_stamp)', |
| 571 'instr_type': 'classes', | 573 'instr_type': 'jar', |
| 572 }, | 574 }, |
| 573 'inputs': [ | |
| 574 '<(compile_stamp)', | |
| 575 ], | |
| 576 'outputs': [ | 575 'outputs': [ |
| 577 '<(instr_stamp)', | 576 '<(instr_stamp)', |
| 577 '<(jar_path)', |
| 578 ], |
| 579 'inputs': [ |
| 580 '<(javac_jar_path)', |
| 578 ], | 581 ], |
| 579 'includes': [ 'android/instr_action.gypi' ], | 582 'includes': [ 'android/instr_action.gypi' ], |
| 580 }, | 583 }, |
| 581 { | 584 { |
| 582 'action_name': 'jar_<(_target_name)', | |
| 583 'message': 'Creating <(_target_name) jar', | |
| 584 'inputs': [ | |
| 585 '<(DEPTH)/build/android/gyp/util/build_utils.py', | |
| 586 '<(DEPTH)/build/android/gyp/util/md5_check.py', | |
| 587 '<(DEPTH)/build/android/gyp/jar.py', | |
| 588 '<(instr_stamp)', | |
| 589 ], | |
| 590 'outputs': [ | |
| 591 '<(jar_stamp)', | |
| 592 '<(jar_path)', | |
| 593 ], | |
| 594 'action': [ | |
| 595 'python', '<(DEPTH)/build/android/gyp/jar.py', | |
| 596 '--classes-dir=<(classes_final_dir)', | |
| 597 '--jar-path=<(jar_path)', | |
| 598 '--excluded-classes=<(jar_excluded_classes)', | |
| 599 '--stamp=<(jar_stamp)', | |
| 600 ] | |
| 601 }, | |
| 602 { | |
| 603 'action_name': 'obfuscate_<(_target_name)', | 585 'action_name': 'obfuscate_<(_target_name)', |
| 604 'message': 'Obfuscating <(_target_name)', | 586 'message': 'Obfuscating <(_target_name)', |
| 605 'variables': { | 587 'variables': { |
| 606 'additional_obfuscate_options': [], | 588 'additional_obfuscate_options': [], |
| 607 'proguard_out_dir': '<(intermediate_dir)/proguard', | 589 'proguard_out_dir': '<(intermediate_dir)/proguard', |
| 608 'proguard_input_jar_paths': [ | 590 'proguard_input_jar_paths': [ |
| 609 '>@(input_jars_paths)', | 591 '>@(input_jars_paths)', |
| 610 '<(jar_path)', | 592 '<(jar_path)', |
| 611 ], | 593 ], |
| 612 'conditions': [ | 594 'conditions': [ |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 664 | 646 |
| 665 '--proguard-config-files=<(proguard_flags_paths)', | 647 '--proguard-config-files=<(proguard_flags_paths)', |
| 666 '--stamp', '<(obfuscate_stamp)', | 648 '--stamp', '<(obfuscate_stamp)', |
| 667 | 649 |
| 668 '<@(additional_obfuscate_options)', | 650 '<@(additional_obfuscate_options)', |
| 669 ], | 651 ], |
| 670 }, | 652 }, |
| 671 { | 653 { |
| 672 'action_name': 'dex_<(_target_name)', | 654 'action_name': 'dex_<(_target_name)', |
| 673 'variables': { | 655 'variables': { |
| 674 'output_path': '<(dex_path)', | |
| 675 'dex_input_paths': [ | 656 'dex_input_paths': [ |
| 676 '>@(apk_dex_input_paths)', | 657 '>@(library_dexed_jars_paths)', |
| 677 '<(jar_path)', | 658 '<(jar_path)', |
| 678 ], | 659 ], |
| 660 'output_path': '<(dex_path)', |
| 679 'proguard_enabled_input_path': '<(obfuscated_jar_path)', | 661 'proguard_enabled_input_path': '<(obfuscated_jar_path)', |
| 680 }, | 662 }, |
| 681 'target_conditions': [ | 663 'target_conditions': [ |
| 682 ['emma_instrument != 0', { | 664 ['emma_instrument != 0', { |
| 683 'dex_no_locals': 1, | 665 'dex_no_locals': 1, |
| 684 'dex_input_paths': [ | 666 'dex_input_paths': [ |
| 685 '<(emma_device_jar)' | 667 '<(emma_device_jar)' |
| 686 ], | 668 ], |
| 687 }], | 669 }], |
| 688 ['is_test_apk == 1 and tested_apk_dex_path != "/"', { | 670 ['is_test_apk == 1 and tested_apk_dex_path != "/"', { |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 788 '-DEMMA_INSTRUMENT=<(emma_instrument)', | 770 '-DEMMA_INSTRUMENT=<(emma_instrument)', |
| 789 '-DEMMA_DEVICE_JAR=<(emma_device_jar)', | 771 '-DEMMA_DEVICE_JAR=<(emma_device_jar)', |
| 790 | 772 |
| 791 '-Dbasedir=.', | 773 '-Dbasedir=.', |
| 792 '-buildfile', | 774 '-buildfile', |
| 793 '<(DEPTH)/build/android/ant/apk-package.xml', | 775 '<(DEPTH)/build/android/ant/apk-package.xml', |
| 794 ] | 776 ] |
| 795 }, | 777 }, |
| 796 ], | 778 ], |
| 797 } | 779 } |
| OLD | NEW |