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

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: Removes unnecessary option, cleans up some string formatting 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
« build/android/test_runner.py ('K') | « build/java.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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 'compile_stamp': '<(intermediate_dir)/compile.stamp', 89 'compile_stamp': '<(intermediate_dir)/compile.stamp',
90 'jar_stamp': '<(intermediate_dir)/jar.stamp', 90 'jar_stamp': '<(intermediate_dir)/jar.stamp',
91 'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp', 91 'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp',
92 'strip_stamp': '<(intermediate_dir)/strip.stamp', 92 'strip_stamp': '<(intermediate_dir)/strip.stamp',
93 'classes_dir': '<(intermediate_dir)/classes', 93 'classes_dir': '<(intermediate_dir)/classes',
94 'javac_includes': [], 94 'javac_includes': [],
95 'jar_excluded_classes': [], 95 'jar_excluded_classes': [],
96 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', 96 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
97 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar', 97 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar',
98 'dex_path': '<(intermediate_dir)/classes.dex', 98 'dex_path': '<(intermediate_dir)/classes.dex',
99 'emma_device_jar': '<(android_sdk_root)/tools/lib/emma_device.jar',
99 'android_manifest_path%': '<(java_in_dir)/AndroidManifest.xml', 100 'android_manifest_path%': '<(java_in_dir)/AndroidManifest.xml',
100 'push_stamp': '<(intermediate_dir)/push.stamp', 101 'push_stamp': '<(intermediate_dir)/push.stamp',
101 'link_stamp': '<(intermediate_dir)/link.stamp', 102 'link_stamp': '<(intermediate_dir)/link.stamp',
102 'package_resources_stamp': '<(intermediate_dir)/package_resources.stamp', 103 'package_resources_stamp': '<(intermediate_dir)/package_resources.stamp',
103 'codegen_input_paths': [], 104 'codegen_input_paths': [],
104 'unsigned_apk_path': '<(intermediate_dir)/<(apk_name)-unsigned.apk', 105 'unsigned_apk_path': '<(intermediate_dir)/<(apk_name)-unsigned.apk',
105 'final_apk_path%': '<(PRODUCT_DIR)/apks/<(apk_name).apk', 106 'final_apk_path%': '<(PRODUCT_DIR)/apks/<(apk_name).apk',
106 'incomplete_apk_path': '<(intermediate_dir)/<(apk_name)-incomplete.apk', 107 'incomplete_apk_path': '<(intermediate_dir)/<(apk_name)-incomplete.apk',
107 'source_dir': '<(java_in_dir)/src', 108 'source_dir': '<(java_in_dir)/src',
108 'apk_install_record': '<(intermediate_dir)/apk_install.record.stamp', 109 'apk_install_record': '<(intermediate_dir)/apk_install.record.stamp',
(...skipping 14 matching lines...) Expand all
123 ['gyp_managed_install == 1', { 124 ['gyp_managed_install == 1', {
124 'apk_package_native_libs_dir': '<(intermediate_dir)/libs.managed', 125 'apk_package_native_libs_dir': '<(intermediate_dir)/libs.managed',
125 }, { 126 }, {
126 'apk_package_native_libs_dir': '<(intermediate_dir)/libs', 127 'apk_package_native_libs_dir': '<(intermediate_dir)/libs',
127 }], 128 }],
128 ], 129 ],
129 }, 130 },
130 'native_lib_target%': '', 131 'native_lib_target%': '',
131 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)', 132 'apk_package_native_libs_dir': '<(apk_package_native_libs_dir)',
132 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)', 133 'unsigned_standalone_apk_path': '<(unsigned_standalone_apk_path)',
134 'conditions': [
135 ['coverage == 1', {
136 'classes_final_dir': '<(intermediate_dir)/classes_instr',
137 }, {
138 'classes_final_dir': '<(intermediate_dir)/classes',
139 }]
140 ]
133 }, 141 },
134 # Pass the jar path to the apk's "fake" jar target. This would be better as 142 # 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 143 # direct_dependent_settings, but a variable set by a direct_dependent_settings
136 # cannot be lifted in a dependent to all_dependent_settings. 144 # cannot be lifted in a dependent to all_dependent_settings.
137 'all_dependent_settings': { 145 'all_dependent_settings': {
138 'variables': { 146 'variables': {
139 'apk_output_jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', 147 'apk_output_jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
140 }, 148 },
141 }, 149 },
142 'conditions': [ 150 'conditions': [
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 'action': [ 373 'action': [
366 'python', '<(DEPTH)/build/android/gyp/apk_install.py', 374 'python', '<(DEPTH)/build/android/gyp/apk_install.py',
367 '--android-sdk-tools=<(android_sdk_tools)', 375 '--android-sdk-tools=<(android_sdk_tools)',
368 '--apk-path=<(incomplete_apk_path)', 376 '--apk-path=<(incomplete_apk_path)',
369 '--build-device-configuration=<(build_device_config_path)', 377 '--build-device-configuration=<(build_device_config_path)',
370 '--install-record=<(apk_install_record)', 378 '--install-record=<(apk_install_record)',
371 ], 379 ],
372 }, 380 },
373 ], 381 ],
374 }], 382 }],
383 ['coverage == 1', {
384 'actions': [
385 {
386 'action_name': 'emma_instr_<(_target_name)',
387 'message': 'Instrumenting <(_target_name) classes',
388 'inputs': [
389 '<(compile_stamp)',
390 '<(DEPTH)/build/android/ant/apk-instr.xml',
391 '<(DEPTH)/build/android/gyp/ant.py',
392 '<(DEPTH)/build/android/gyp/util/build_utils.py',
393 ],
394 'outputs': [
395 '<(intermediate_dir)/coverage.em',
396 '<(classes_final_dir)',
397 ],
398 'action': [
399 'python', '<(DEPTH)/build/android/gyp/ant.py',
400 '-DCLASSES_DIR=<(classes_dir)',
401 '-DCLASSES_INSTR_DIR=<(classes_final_dir)',
402 '-DEMMA_COVERAGE_FILE=<(intermediate_dir)/coverage.em',
403 '-DANDROID_SDK_ROOT=<(android_sdk_root)',
404 '-Dbasedir=.',
405 '-buildfile',
406 '<(DEPTH)/build/android/ant/apk-instr.xml',
407 ]
408 },
409 ],
410 }],
375 ], 411 ],
376 'actions': [ 412 'actions': [
377 { 413 {
378 'action_name': 'ant_codegen_<(_target_name)', 414 'action_name': 'ant_codegen_<(_target_name)',
379 'message': 'Generating R.java for <(_target_name)', 415 'message': 'Generating R.java for <(_target_name)',
380 'conditions': [ 416 'conditions': [
381 ['is_test_apk == 1', { 417 ['is_test_apk == 1', {
382 'variables': { 418 'variables': {
383 'additional_res_dirs=': [], 419 'additional_res_dirs=': [],
384 'additional_res_packages=': [], 420 'additional_res_packages=': [],
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
456 '--chromium-code=<(chromium_code)', 492 '--chromium-code=<(chromium_code)',
457 '--stamp=<(compile_stamp)', 493 '--stamp=<(compile_stamp)',
458 494
459 # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja . 495 # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja .
460 '--ignore=>!(echo \'>(_inputs)\' | md5sum)', 496 '--ignore=>!(echo \'>(_inputs)\' | md5sum)',
461 ], 497 ],
462 }, 498 },
463 { 499 {
464 'action_name': 'jar_<(_target_name)', 500 'action_name': 'jar_<(_target_name)',
465 'message': 'Creating <(_target_name) jar', 501 'message': 'Creating <(_target_name) jar',
502 'conditions': [
503 ['coverage == 1', {
504 'inputs': [ '<(intermediate_dir)/coverage.em', ]
505 }]
506 ],
466 'inputs': [ 507 'inputs': [
467 '<(DEPTH)/build/android/gyp/util/build_utils.py', 508 '<(DEPTH)/build/android/gyp/util/build_utils.py',
468 '<(DEPTH)/build/android/gyp/util/md5_check.py', 509 '<(DEPTH)/build/android/gyp/util/md5_check.py',
469 '<(DEPTH)/build/android/gyp/jar.py', 510 '<(DEPTH)/build/android/gyp/jar.py',
470 '<(compile_stamp)',
471 ], 511 ],
472 'outputs': [ 512 'outputs': [
473 '<(jar_stamp)', 513 '<(jar_stamp)',
474 ], 514 ],
475 'action': [ 515 'action': [
476 'python', '<(DEPTH)/build/android/gyp/jar.py', 516 'python', '<(DEPTH)/build/android/gyp/jar.py',
477 '--classes-dir=<(classes_dir)', 517 '--classes-dir=<(classes_final_dir)',
478 '--jar-path=<(jar_path)', 518 '--jar-path=<(jar_path)',
479 '--excluded-classes=<(jar_excluded_classes)', 519 '--excluded-classes=<(jar_excluded_classes)',
480 '--stamp=<(jar_stamp)', 520 '--stamp=<(jar_stamp)',
481 521
482 # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja . 522 # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja .
483 '--ignore=>!(echo \'>(_inputs)\' | md5sum)', 523 '--ignore=>!(echo \'>(_inputs)\' | md5sum)',
484 ] 524 ]
485 }, 525 },
486 { 526 {
487 'action_name': 'ant_obfuscate_<(_target_name)', 527 'action_name': 'ant_obfuscate_<(_target_name)',
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 ], 569 ],
530 }, 570 },
531 { 571 {
532 'action_name': 'dex_<(_target_name)', 572 'action_name': 'dex_<(_target_name)',
533 'variables': { 573 'variables': {
534 'conditions': [ 574 'conditions': [
535 ['proguard_enabled == "true"', { 575 ['proguard_enabled == "true"', {
536 'input_paths': [ '<(obfuscate_stamp)' ], 576 'input_paths': [ '<(obfuscate_stamp)' ],
537 'proguard_enabled_input_path': '<(obfuscated_jar_path)', 577 'proguard_enabled_input_path': '<(obfuscated_jar_path)',
538 }], 578 }],
579 ['coverage == 1', {
580 'dex_input_paths': [ '<(emma_device_jar)' ],
581 }],
539 ], 582 ],
540 'input_paths': [ '<(compile_stamp)' ], 583 'input_paths': [ '<(compile_stamp)', '<(classes_final_dir)' ],
541 'dex_input_paths': [ '>@(library_dexed_jars_paths)' ], 584 'dex_input_paths': [ '>@(library_dexed_jars_paths)' ],
542 'dex_generated_input_dirs': [ '<(classes_dir)' ], 585 'dex_generated_input_dirs': [ '<(classes_final_dir)' ],
543 'output_path': '<(dex_path)', 586 'output_path': '<(dex_path)',
544 }, 587 },
545 'includes': [ 'android/dex_action.gypi' ], 588 'includes': [ 'android/dex_action.gypi' ],
546 }, 589 },
547 { 590 {
548 'action_name': 'ant package resources', 591 'action_name': 'ant package resources',
549 'message': 'Packaging resources for <(_target_name) APK.', 592 'message': 'Packaging resources for <(_target_name) APK.',
550 'inputs': [ 593 'inputs': [
551 '<(DEPTH)/build/android/ant/apk-package-resources.xml', 594 '<(DEPTH)/build/android/ant/apk-package-resources.xml',
552 '<(DEPTH)/build/android/gyp/util/build_utils.py', 595 '<(DEPTH)/build/android/gyp/util/build_utils.py',
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 'action': [ 658 'action': [
616 'python', '<(DEPTH)/build/android/gyp/ant.py', 659 'python', '<(DEPTH)/build/android/gyp/ant.py',
617 '-quiet', 660 '-quiet',
618 '-DANDROID_SDK_ROOT=<(android_sdk_root)', 661 '-DANDROID_SDK_ROOT=<(android_sdk_root)',
619 '-DAPK_NAME=<(apk_name)', 662 '-DAPK_NAME=<(apk_name)',
620 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)', 663 '-DCONFIGURATION_NAME=<(CONFIGURATION_NAME)',
621 '-DNATIVE_LIBS_DIR=<(apk_package_native_libs_dir)', 664 '-DNATIVE_LIBS_DIR=<(apk_package_native_libs_dir)',
622 '-DOUT_DIR=<(intermediate_dir)', 665 '-DOUT_DIR=<(intermediate_dir)',
623 '-DSOURCE_DIR=<(source_dir)', 666 '-DSOURCE_DIR=<(source_dir)',
624 '-DUNSIGNED_APK_PATH=<(unsigned_apk_path)', 667 '-DUNSIGNED_APK_PATH=<(unsigned_apk_path)',
668 '-DCOVERAGE=<(coverage)',
625 669
626 '-Dbasedir=.', 670 '-Dbasedir=.',
627 '-buildfile', 671 '-buildfile',
628 '<(DEPTH)/build/android/ant/apk-package.xml', 672 '<(DEPTH)/build/android/ant/apk-package.xml',
629 673
630 # Add list of inputs to the command line, so if inputs change 674 # Add list of inputs to the command line, so if inputs change
631 # (e.g. if a Java file is removed), the command will be re-run. 675 # (e.g. if a Java file is removed), the command will be re-run.
632 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja. 676 # TODO(newt): remove this once crbug.com/177552 is fixed in ninja.
633 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)', 677 '-DTHIS_IS_IGNORED=>!(echo \'>(_inputs)\' | md5sum)',
634 ] 678 ]
635 }, 679 },
636 ], 680 ],
637 } 681 }
OLDNEW
« build/android/test_runner.py ('K') | « build/java.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698