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 11 matching lines...) Expand all Loading... | |
22 # java_in_dir - The top-level java directory. The src should be in | 22 # java_in_dir - The top-level java directory. The src should be in |
23 # <(java_in_dir)/src. | 23 # <(java_in_dir)/src. |
24 # Optional/automatic variables: | 24 # Optional/automatic variables: |
25 # additional_input_paths - These paths will be included in the 'inputs' list to | 25 # additional_input_paths - These paths will be included in the 'inputs' list to |
26 # ensure that this target is rebuilt when one of these paths changes. | 26 # ensure that this target is rebuilt when one of these paths changes. |
27 # additional_res_dirs - Additional directories containing Android resources. | 27 # additional_res_dirs - Additional directories containing Android resources. |
28 # additional_res_packages - Package names of the R.java files corresponding to | 28 # additional_res_packages - Package names of the R.java files corresponding to |
29 # each directory in additional_res_dirs. | 29 # each directory in additional_res_dirs. |
30 # additional_src_dirs - Additional directories with .java files to be compiled | 30 # additional_src_dirs - Additional directories with .java files to be compiled |
31 # and included in the output of this target. | 31 # and included in the output of this target. |
32 # additional_bundled_libs - Additional libraries what will be stripped and | |
33 # bundled in the apk. | |
32 # asset_location - The directory where assets are located. | 34 # asset_location - The directory where assets are located. |
33 # generated_src_dirs - Same as additional_src_dirs except used for .java files | 35 # generated_src_dirs - Same as additional_src_dirs except used for .java files |
34 # that are generated at build time. This should be set automatically by a | 36 # that are generated at build time. This should be set automatically by a |
35 # target's dependencies. The .java files in these directories are not | 37 # target's dependencies. The .java files in these directories are not |
36 # included in the 'inputs' list (unlike additional_src_dirs). | 38 # included in the 'inputs' list (unlike additional_src_dirs). |
37 # input_jars_paths - The path to jars to be included in the classpath. This | 39 # input_jars_paths - The path to jars to be included in the classpath. This |
38 # should be filled automatically by depending on the appropriate targets. | 40 # should be filled automatically by depending on the appropriate targets. |
39 # is_test_apk - Set to 1 if building a test apk. This prevents resources from | 41 # is_test_apk - Set to 1 if building a test apk. This prevents resources from |
40 # dependencies from being re-included. | 42 # dependencies from being re-included. |
41 # native_lib_target - The target_name of the target which generates the final | 43 # native_lib_target - The target_name of the target which generates the final |
(...skipping 22 matching lines...) Expand all Loading... | |
64 # aapt generates this proguard.txt. | 66 # aapt generates this proguard.txt. |
65 'generated_proguard_file': '<(intermediate_dir)/proguard.txt', | 67 'generated_proguard_file': '<(intermediate_dir)/proguard.txt', |
66 'proguard_enabled%': 'false', | 68 'proguard_enabled%': 'false', |
67 'proguard_flags_paths': ['<(generated_proguard_file)'], | 69 'proguard_flags_paths': ['<(generated_proguard_file)'], |
68 'jar_name': 'chromium_apk_<(_target_name).jar', | 70 'jar_name': 'chromium_apk_<(_target_name).jar', |
69 'resource_dir%':'<(DEPTH)/build/android/ant/empty/res', | 71 'resource_dir%':'<(DEPTH)/build/android/ant/empty/res', |
70 'R_package%':'', | 72 'R_package%':'', |
71 'additional_R_text_files': [], | 73 'additional_R_text_files': [], |
72 'dependencies_res_zip_paths': [], | 74 'dependencies_res_zip_paths': [], |
73 'additional_res_packages': [], | 75 'additional_res_packages': [], |
76 'additional_bundled_libs%': [], | |
74 'is_test_apk%': 0, | 77 'is_test_apk%': 0, |
75 'resource_input_paths': [], | 78 'resource_input_paths': [], |
76 'intermediate_dir': '<(PRODUCT_DIR)/<(_target_name)', | 79 'intermediate_dir': '<(PRODUCT_DIR)/<(_target_name)', |
77 'asset_location%': '<(intermediate_dir)/assets', | 80 'asset_location%': '<(intermediate_dir)/assets', |
78 'codegen_stamp': '<(intermediate_dir)/codegen.stamp', | 81 'codegen_stamp': '<(intermediate_dir)/codegen.stamp', |
79 'package_input_paths': [], | 82 'package_input_paths': [], |
80 'ordered_libraries_file': '<(intermediate_dir)/native_libraries.json', | 83 'ordered_libraries_file': '<(intermediate_dir)/native_libraries.json', |
84 'additional_ordered_libraries_file': '<(intermediate_dir)/additional_native_ libraries.json', | |
81 'native_libraries_template': '<(DEPTH)/base/android/java/templates/NativeLib raries.template', | 85 'native_libraries_template': '<(DEPTH)/base/android/java/templates/NativeLib raries.template', |
82 'native_libraries_java_dir': '<(intermediate_dir)/native_libraries_java/', | 86 'native_libraries_java_dir': '<(intermediate_dir)/native_libraries_java/', |
83 'native_libraries_java_file': '<(native_libraries_java_dir)/NativeLibraries. java', | 87 'native_libraries_java_file': '<(native_libraries_java_dir)/NativeLibraries. java', |
84 'native_libraries_java_stamp': '<(intermediate_dir)/native_libraries_java.st amp', | 88 'native_libraries_java_stamp': '<(intermediate_dir)/native_libraries_java.st amp', |
85 'native_libraries_template_data_dir': '<(intermediate_dir)/native_libraries/ ', | 89 'native_libraries_template_data_dir': '<(intermediate_dir)/native_libraries/ ', |
86 'native_libraries_template_data_file': '<(native_libraries_template_data_dir )/native_libraries_array.h', | 90 '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', | 91 'native_libraries_template_version_file': '<(native_libraries_template_data_ dir)/native_libraries_version.h', |
88 'compile_stamp': '<(intermediate_dir)/compile.stamp', | 92 'compile_stamp': '<(intermediate_dir)/compile.stamp', |
89 'lint_stamp': '<(intermediate_dir)/lint.stamp', | 93 'lint_stamp': '<(intermediate_dir)/lint.stamp', |
90 'lint_result': '<(intermediate_dir)/lint_result.xml', | 94 'lint_result': '<(intermediate_dir)/lint_result.xml', |
91 'lint_config': '<(intermediate_dir)/lint_config.xml', | 95 'lint_config': '<(intermediate_dir)/lint_config.xml', |
92 'never_lint%': 0, | 96 'never_lint%': 0, |
93 'instr_stamp': '<(intermediate_dir)/instr.stamp', | 97 'instr_stamp': '<(intermediate_dir)/instr.stamp', |
94 'jar_stamp': '<(intermediate_dir)/jar.stamp', | 98 'jar_stamp': '<(intermediate_dir)/jar.stamp', |
95 'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp', | 99 'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp', |
96 'strip_stamp': '<(intermediate_dir)/strip.stamp', | 100 'strip_stamp': '<(intermediate_dir)/strip.stamp', |
101 'strip_additional_stamp': '<(intermediate_dir)/strip_additional.stamp', | |
97 'classes_dir': '<(intermediate_dir)/classes/2', | 102 'classes_dir': '<(intermediate_dir)/classes/2', |
98 'javac_includes': [], | 103 'javac_includes': [], |
99 'jar_excluded_classes': [], | 104 'jar_excluded_classes': [], |
100 'javac_jar_path': '<(intermediate_dir)/<(_target_name).javac.jar', | 105 'javac_jar_path': '<(intermediate_dir)/<(_target_name).javac.jar', |
101 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', | 106 'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', |
102 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar', | 107 'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar', |
103 'test_jar_path': '<(PRODUCT_DIR)/test.lib.java/<(apk_name).jar', | 108 'test_jar_path': '<(PRODUCT_DIR)/test.lib.java/<(apk_name).jar', |
104 'dex_path': '<(intermediate_dir)/classes.dex', | 109 'dex_path': '<(intermediate_dir)/classes.dex', |
105 'emma_device_jar': '<(android_sdk_root)/tools/lib/emma_device.jar', | 110 'emma_device_jar': '<(android_sdk_root)/tools/lib/emma_device.jar', |
106 'android_manifest_path%': '<(java_in_dir)/AndroidManifest.xml', | 111 'android_manifest_path%': '<(java_in_dir)/AndroidManifest.xml', |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
318 'ordered_libraries_file%': '<(ordered_libraries_file)', | 323 'ordered_libraries_file%': '<(ordered_libraries_file)', |
319 'stripped_libraries_dir': '<(libraries_source_dir)', | 324 'stripped_libraries_dir': '<(libraries_source_dir)', |
320 'input_paths': [ | 325 'input_paths': [ |
321 '<@(native_libs_paths)', | 326 '<@(native_libs_paths)', |
322 '<@(extra_native_libs)', | 327 '<@(extra_native_libs)', |
323 ], | 328 ], |
324 'stamp': '<(strip_stamp)' | 329 'stamp': '<(strip_stamp)' |
325 }, | 330 }, |
326 'includes': ['../build/android/strip_native_libraries.gypi'], | 331 'includes': ['../build/android/strip_native_libraries.gypi'], |
327 }, | 332 }, |
333 { | |
334 'variables': { | |
335 'input_libraries': [ | |
336 '<@(additional_bundled_libs)', | |
337 ], | |
338 'ordered_libraries_file': '<(additional_ordered_libraries_file)', | |
339 'subtarget': '_additional_libraries', | |
340 }, | |
341 'includes': ['../build/android/write_ordered_libraries.gypi'], | |
342 }, | |
343 { | |
344 'action_name': 'strip_additional_libraries', | |
345 'variables': { | |
346 'ordered_libraries_file': '<(additional_ordered_libraries_file)', | |
347 'stripped_libraries_dir': '<(libraries_source_dir)', | |
cjhopman
2014/06/26 17:18:04
There could be some issues here if one of the addi
qsr
2014/06/27 11:18:18
Good point.
Making it in a single path is unfort
| |
348 'input_paths': [ | |
349 '<@(additional_bundled_libs)', | |
350 ], | |
351 'stamp': '<(strip_additional_stamp)' | |
352 }, | |
353 'includes': ['../build/android/strip_native_libraries.gypi'], | |
354 }, | |
328 ], | 355 ], |
329 'conditions': [ | 356 'conditions': [ |
330 ['gyp_managed_install == 1', { | 357 ['gyp_managed_install == 1', { |
331 'variables': { | 358 'variables': { |
332 'libraries_top_dir': '<(intermediate_dir)/lib.stripped', | 359 'libraries_top_dir': '<(intermediate_dir)/lib.stripped', |
333 'libraries_source_dir': '<(libraries_top_dir)/lib/<(android_app_abi) ', | 360 'libraries_source_dir': '<(libraries_top_dir)/lib/<(android_app_abi) ', |
334 'device_library_dir': '<(device_intermediate_dir)/lib.stripped', | 361 'device_library_dir': '<(device_intermediate_dir)/lib.stripped', |
335 'configuration_name': '<(CONFIGURATION_NAME)', | 362 'configuration_name': '<(CONFIGURATION_NAME)', |
336 }, | 363 }, |
337 'dependencies': [ | 364 'dependencies': [ |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
369 ], | 396 ], |
370 'conditions': [ | 397 'conditions': [ |
371 ['create_standalone_apk == 1', { | 398 ['create_standalone_apk == 1', { |
372 'actions': [ | 399 'actions': [ |
373 { | 400 { |
374 'action_name': 'create standalone APK', | 401 'action_name': 'create standalone APK', |
375 'variables': { | 402 'variables': { |
376 'inputs': [ | 403 'inputs': [ |
377 '<(ordered_libraries_file)', | 404 '<(ordered_libraries_file)', |
378 '<(strip_stamp)', | 405 '<(strip_stamp)', |
406 '<(strip_additional_stamp)', | |
379 ], | 407 ], |
380 'input_apk_path': '<(unsigned_apk_path)', | 408 'input_apk_path': '<(unsigned_apk_path)', |
381 'output_apk_path': '<(unsigned_standalone_apk_path)', | 409 'output_apk_path': '<(unsigned_standalone_apk_path)', |
382 'libraries_top_dir%': '<(libraries_top_dir)', | 410 'libraries_top_dir%': '<(libraries_top_dir)', |
383 }, | 411 }, |
384 'includes': [ 'android/create_standalone_apk_action.gypi' ], | 412 'includes': [ 'android/create_standalone_apk_action.gypi' ], |
385 }, | 413 }, |
386 ], | 414 ], |
387 }], | 415 }], |
388 ], | 416 ], |
389 }, { | 417 }, { |
390 # gyp_managed_install != 1 | 418 # gyp_managed_install != 1 |
391 'variables': { | 419 'variables': { |
392 'libraries_source_dir': '<(apk_package_native_libs_dir)/<(android_ap p_abi)', | 420 'libraries_source_dir': '<(apk_package_native_libs_dir)/<(android_ap p_abi)', |
393 'package_input_paths': [ '<(strip_stamp)' ], | 421 'package_input_paths': [ |
422 '<(strip_stamp)', | |
423 '<(strip_additional_stamp)', | |
424 ], | |
394 }, | 425 }, |
395 }], | 426 }], |
396 ], | 427 ], |
397 }], # native_lib_target != '' | 428 }], # native_lib_target != '' |
398 ['gyp_managed_install == 0 or create_standalone_apk == 1', { | 429 ['gyp_managed_install == 0 or create_standalone_apk == 1', { |
399 'actions': [ | 430 'actions': [ |
400 { | 431 { |
401 'action_name': 'finalize standalone apk', | 432 'action_name': 'finalize standalone apk', |
402 'variables': { | 433 'variables': { |
403 'input_apk_path': '<(unsigned_standalone_apk_path)', | 434 'input_apk_path': '<(unsigned_standalone_apk_path)', |
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
793 '-DEMMA_INSTRUMENT=<(emma_instrument)', | 824 '-DEMMA_INSTRUMENT=<(emma_instrument)', |
794 '-DEMMA_DEVICE_JAR=<(emma_device_jar)', | 825 '-DEMMA_DEVICE_JAR=<(emma_device_jar)', |
795 | 826 |
796 '-Dbasedir=.', | 827 '-Dbasedir=.', |
797 '-buildfile', | 828 '-buildfile', |
798 '<(DEPTH)/build/android/ant/apk-package.xml', | 829 '<(DEPTH)/build/android/ant/apk-package.xml', |
799 ] | 830 ] |
800 }, | 831 }, |
801 ], | 832 ], |
802 } | 833 } |
OLD | NEW |