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

Side by Side Diff: build/java_apk.gypi

Issue 20210002: [Android] Sets up a coverage system for java using EMMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: TEMP: Fixes several issues, adds some debugging statements Created 7 years, 4 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
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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 # nativelibraries template should be moved out of content/ (to base/?). 80 # nativelibraries template should be moved out of content/ (to base/?).
81 # http://crbug.com/225101 81 # http://crbug.com/225101
82 'native_libraries_template': '<(DEPTH)/content/public/android/java/templates /NativeLibraries.template', 82 'native_libraries_template': '<(DEPTH)/content/public/android/java/templates /NativeLibraries.template',
83 'native_libraries_java_dir': '<(intermediate_dir)/native_libraries_java/', 83 'native_libraries_java_dir': '<(intermediate_dir)/native_libraries_java/',
84 'native_libraries_java_file': '<(native_libraries_java_dir)/NativeLibraries. java', 84 'native_libraries_java_file': '<(native_libraries_java_dir)/NativeLibraries. java',
85 'native_libraries_java_stamp': '<(intermediate_dir)/native_libraries_java.st amp', 85 'native_libraries_java_stamp': '<(intermediate_dir)/native_libraries_java.st amp',
86 'native_libraries_template_data_dir': '<(intermediate_dir)/native_libraries/ ', 86 'native_libraries_template_data_dir': '<(intermediate_dir)/native_libraries/ ',
87 'native_libraries_template_data_file': '<(native_libraries_template_data_dir )/native_libraries_array.h', 87 'native_libraries_template_data_file': '<(native_libraries_template_data_dir )/native_libraries_array.h',
88 'native_libraries_template_data_stamp': '<(intermediate_dir)/native_librarie s_template_data.stamp', 88 'native_libraries_template_data_stamp': '<(intermediate_dir)/native_librarie s_template_data.stamp',
89 'compile_stamp': '<(intermediate_dir)/compile.stamp', 89 'compile_stamp': '<(intermediate_dir)/compile.stamp',
90 'instr_stamp': '<(intermediate_dir)/instr.stamp',
90 'jar_stamp': '<(intermediate_dir)/jar.stamp', 91 'jar_stamp': '<(intermediate_dir)/jar.stamp',
91 'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp', 92 'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp',
92 'strip_stamp': '<(intermediate_dir)/strip.stamp', 93 'strip_stamp': '<(intermediate_dir)/strip.stamp',
93 'classes_dir': '<(intermediate_dir)/classes', 94 'classes_dir': '<(intermediate_dir)/classes',
95 'classes_final_dir': '<(intermediate_dir)/classes_instr',
94 'javac_includes': [], 96 'javac_includes': [],
95 'jar_excluded_classes': [], 97 'jar_excluded_classes': [],
96 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', 98 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
97 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar', 99 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar',
98 'dex_path': '<(intermediate_dir)/classes.dex', 100 'dex_path': '<(intermediate_dir)/classes.dex',
101 'emma_device_jar': '<(android_sdk_root)/tools/lib/emma_device.jar',
99 'android_manifest_path%': '<(java_in_dir)/AndroidManifest.xml', 102 'android_manifest_path%': '<(java_in_dir)/AndroidManifest.xml',
100 'push_stamp': '<(intermediate_dir)/push.stamp', 103 'push_stamp': '<(intermediate_dir)/push.stamp',
101 'link_stamp': '<(intermediate_dir)/link.stamp', 104 'link_stamp': '<(intermediate_dir)/link.stamp',
102 'package_resources_stamp': '<(intermediate_dir)/package_resources.stamp', 105 'package_resources_stamp': '<(intermediate_dir)/package_resources.stamp',
103 'codegen_input_paths': [], 106 'codegen_input_paths': [],
104 'unsigned_apk_path': '<(intermediate_dir)/<(apk_name)-unsigned.apk', 107 'unsigned_apk_path': '<(intermediate_dir)/<(apk_name)-unsigned.apk',
105 'final_apk_path%': '<(PRODUCT_DIR)/apks/<(apk_name).apk', 108 'final_apk_path%': '<(PRODUCT_DIR)/apks/<(apk_name).apk',
106 'incomplete_apk_path': '<(intermediate_dir)/<(apk_name)-incomplete.apk', 109 'incomplete_apk_path': '<(intermediate_dir)/<(apk_name)-incomplete.apk',
107 'source_dir': '<(java_in_dir)/src', 110 'source_dir': '<(java_in_dir)/src',
108 'apk_install_record': '<(intermediate_dir)/apk_install.record.stamp', 111 'apk_install_record': '<(intermediate_dir)/apk_install.record.stamp',
(...skipping 12 matching lines...) Expand all
121 'unsigned_standalone_apk_path': '<(unsigned_apk_path)', 124 'unsigned_standalone_apk_path': '<(unsigned_apk_path)',
122 }], 125 }],
123 ['gyp_managed_install == 1', { 126 ['gyp_managed_install == 1', {
124 'apk_package_native_libs_dir': '<(intermediate_dir)/libs.managed', 127 'apk_package_native_libs_dir': '<(intermediate_dir)/libs.managed',
125 }, { 128 }, {
126 'apk_package_native_libs_dir': '<(intermediate_dir)/libs', 129 'apk_package_native_libs_dir': '<(intermediate_dir)/libs',
127 }], 130 }],
128 ], 131 ],
129 }, 132 },
130 'native_lib_target%': '', 133 'native_lib_target%': '',
134 'emma_instrument': '<(emma_coverage)',
131 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)', 135 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)',
132 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)', 136 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)',
133 }, 137 },
134 # Pass the jar path to the apk's "fake" jar target. This would be better as 138 # Pass the jar path to the apk's "fake" jar target. This would be better as
135 # direct_dependent_settings, but a variable set by a direct_dependent_settings 139 # direct_dependent_settings, but a variable set by a direct_dependent_settings
136 # cannot be lifted in a dependent to all_dependent_settings. 140 # cannot be lifted in a dependent to all_dependent_settings.
137 'all_dependent_settings': { 141 'all_dependent_settings': {
138 'variables': { 142 'variables': {
139 'apk_output_jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', 143 'apk_output_jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
140 }, 144 },
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 '--src-dirs=>(all_src_dirs)', 463 '--src-dirs=>(all_src_dirs)',
460 '--javac-includes=<(javac_includes)', 464 '--javac-includes=<(javac_includes)',
461 '--chromium-code=<(chromium_code)', 465 '--chromium-code=<(chromium_code)',
462 '--stamp=<(compile_stamp)', 466 '--stamp=<(compile_stamp)',
463 467
464 # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja . 468 # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja .
465 '--ignore=>!(echo \'>(_inputs)\' | md5sum)', 469 '--ignore=>!(echo \'>(_inputs)\' | md5sum)',
466 ], 470 ],
467 }, 471 },
468 { 472 {
473 'action_name': 'instr_classes_<(_target_name)',
474 'message': 'Instrumenting <(_target_name) classes',
475 'variables': {
476 'input_path': '<(classes_dir)',
477 'output_path': '<(classes_final_dir)',
478 'stamp_path': '<(instr_stamp)',
479 'instr_type': 'classes',
480 },
481 'outputs': [
482 '<(instr_stamp)',
483 ],
484 'inputs': [
485 '<(compile_stamp)',
486 ],
487 'includes': [ 'android/instr_action.gypi' ],
488 },
489 {
469 'action_name': 'jar_<(_target_name)', 490 'action_name': 'jar_<(_target_name)',
470 'message': 'Creating <(_target_name) jar', 491 'message': 'Creating <(_target_name) jar',
471 'inputs': [ 492 'inputs': [
493 '<(instr_stamp)',
472 '<(DEPTH)/build/android/gyp/util/build_utils.py', 494 '<(DEPTH)/build/android/gyp/util/build_utils.py',
473 '<(DEPTH)/build/android/gyp/util/md5_check.py', 495 '<(DEPTH)/build/android/gyp/util/md5_check.py',
474 '<(DEPTH)/build/android/gyp/jar.py', 496 '<(DEPTH)/build/android/gyp/jar.py',
475 '<(compile_stamp)',
476 ], 497 ],
477 'outputs': [ 498 'outputs': [
478 '<(jar_stamp)', 499 '<(jar_stamp)',
479 ], 500 ],
480 'action': [ 501 'action': [
481 'python', '<(DEPTH)/build/android/gyp/jar.py', 502 'python', '<(DEPTH)/build/android/gyp/jar.py',
482 '--classes-dir=<(classes_dir)', 503 '--classes-dir=<(classes_final_dir)',
483 '--jar-path=<(jar_path)', 504 '--jar-path=<(jar_path)',
484 '--excluded-classes=<(jar_excluded_classes)', 505 '--excluded-classes=<(jar_excluded_classes)',
485 '--stamp=<(jar_stamp)', 506 '--stamp=<(jar_stamp)',
486 507
487 # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja . 508 # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja .
488 '--ignore=>!(echo \'>(_inputs)\' | md5sum)', 509 '--ignore=>!(echo \'>(_inputs)\' | md5sum)',
489 ] 510 ]
490 }, 511 },
491 { 512 {
492 'action_name': 'ant_obfuscate_<(_target_name)', 513 'action_name': 'ant_obfuscate_<(_target_name)',
493 'message': 'Obfuscating <(_target_name)', 514 'message': 'Obfuscating <(_target_name)',
494 'inputs': [ 515 'inputs': [
495 '<(DEPTH)/build/android/ant/apk-obfuscate.xml', 516 '<(DEPTH)/build/android/ant/apk-obfuscate.xml',
496 '<(DEPTH)/build/android/ant/create-test-jar.js', 517 '<(DEPTH)/build/android/ant/create-test-jar.js',
497 '<(DEPTH)/build/android/gyp/util/build_utils.py', 518 '<(DEPTH)/build/android/gyp/util/build_utils.py',
498 '<(DEPTH)/build/android/gyp/ant.py', 519 '<(DEPTH)/build/android/gyp/ant.py',
499 '<(compile_stamp)', 520 '<(instr_stamp)',
500 '>@(proguard_flags_paths)', 521 '>@(proguard_flags_paths)',
501 ], 522 ],
502 'outputs': [ 523 'outputs': [
503 '<(obfuscate_stamp)', 524 '<(obfuscate_stamp)',
504 ], 525 ],
505 'action': [ 526 'action': [
506 'python', '<(DEPTH)/build/android/gyp/ant.py', 527 'python', '<(DEPTH)/build/android/gyp/ant.py',
507 '-quiet', 528 '-quiet',
508 '-DADDITIONAL_SRC_DIRS=>(additional_src_dirs)', 529 '-DADDITIONAL_SRC_DIRS=>(additional_src_dirs)',
509 '-DANDROID_SDK_JAR=<(android_sdk_jar)', 530 '-DANDROID_SDK_JAR=<(android_sdk_jar)',
(...skipping 25 matching lines...) Expand all
535 ], 556 ],
536 }, 557 },
537 { 558 {
538 'action_name': 'dex_<(_target_name)', 559 'action_name': 'dex_<(_target_name)',
539 'variables': { 560 'variables': {
540 'conditions': [ 561 'conditions': [
541 ['proguard_enabled == "true"', { 562 ['proguard_enabled == "true"', {
542 'input_paths': [ '<(obfuscate_stamp)' ], 563 'input_paths': [ '<(obfuscate_stamp)' ],
543 'proguard_enabled_input_path': '<(obfuscated_jar_path)', 564 'proguard_enabled_input_path': '<(obfuscated_jar_path)',
544 }], 565 }],
566 ['emma_instrument != 0', {
567 'dex_input_paths': [ '<(emma_device_jar)' ],
568 'dex_no_locals': 1,
569 }],
545 ], 570 ],
546 'input_paths': [ '<(compile_stamp)' ], 571 'input_paths': [ '<(instr_stamp)' ],
547 'dex_input_paths': [ '>@(library_dexed_jars_paths)' ], 572 'dex_input_paths': [ '>@(library_dexed_jars_paths)' ],
548 'dex_generated_input_dirs': [ '<(classes_dir)' ], 573 'dex_generated_input_dirs': [ '<(classes_final_dir)' ],
549 'output_path': '<(dex_path)', 574 'output_path': '<(dex_path)',
550 }, 575 },
551 'includes': [ 'android/dex_action.gypi' ], 576 'includes': [ 'android/dex_action.gypi' ],
552 }, 577 },
553 { 578 {
554 'action_name': 'ant package resources', 579 'action_name': 'ant package resources',
555 'message': 'Packaging resources for <(_target_name) APK.', 580 'message': 'Packaging resources for <(_target_name) APK.',
556 'inputs': [ 581 'inputs': [
557 '<(DEPTH)/build/android/ant/apk-package-resources.xml', 582 '<(DEPTH)/build/android/ant/apk-package-resources.xml',
558 '<(DEPTH)/build/android/gyp/util/build_utils.py', 583 '<(DEPTH)/build/android/gyp/util/build_utils.py',
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 'python', '<(DEPTH)/build/android/gyp/ant.py', 648 'python', '<(DEPTH)/build/android/gyp/ant.py',
624 '-quiet', 649 '-quiet',
625 '-DANDROID_SDK_ROOT=<(android_sdk_root)', 650 '-DANDROID_SDK_ROOT=<(android_sdk_root)',
626 '-DANDROID_SDK_TOOLS=<(android_sdk_tools)', 651 '-DANDROID_SDK_TOOLS=<(android_sdk_tools)',
627 '-DAPK_NAME=<(apk_name)', 652 '-DAPK_NAME=<(apk_name)',
628 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', 653 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)',
629 '-DNATIVE_LIBS_DIR=<(apk_package_native_libs_dir)', 654 '-DNATIVE_LIBS_DIR=<(apk_package_native_libs_dir)',
630 '-DOUT_DIR=<(intermediate_dir)', 655 '-DOUT_DIR=<(intermediate_dir)',
631 '-DSOURCE_DIR=<(source_dir)', 656 '-DSOURCE_DIR=<(source_dir)',
632 '-DUNSIGNED_APK_PATH=<(unsigned_apk_path)', 657 '-DUNSIGNED_APK_PATH=<(unsigned_apk_path)',
658 '-DEMMA_INSTRUMENT=<(emma_instrument)',
633 659
634 '-Dbasedir=.', 660 '-Dbasedir=.',
635 '-buildfile', 661 '-buildfile',
636 '<(DEPTH)/build/android/ant/apk-package.xml', 662 '<(DEPTH)/build/android/ant/apk-package.xml',
637 663
638 # Add list of inputs to the command line, so if inputs change 664 # Add list of inputs to the command line, so if inputs change
639 # (e.g. if a Java file is removed), the command will be re-run. 665 # (e.g. if a Java file is removed), the command will be re-run.
640 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja. 666 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja.
641 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)', 667 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)',
642 ] 668 ]
643 }, 669 },
644 ], 670 ],
645 } 671 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698