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

Side by Side Diff: build/config/android/internal_rules.gni

Issue 1418243003: Add GN template for android_assets(). Use it in content_shell_apk. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments & two-pass _AddAssets Created 5 years, 1 month 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
« no previous file with comments | « build/android/gyp/write_build_config.py ('k') | build/config/android/rules.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 import("//build/config/android/config.gni") 5 import("//build/config/android/config.gni")
6 import("//build/config/zip.gni") 6 import("//build/config/zip.gni")
7 import("//third_party/ijar/ijar.gni") 7 import("//third_party/ijar/ijar.gni")
8 8
9 assert(is_android) 9 assert(is_android)
10 10
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 template("write_build_config") { 235 template("write_build_config") {
236 set_sources_assignment_filter([]) 236 set_sources_assignment_filter([])
237 237
238 assert(defined(invoker.type)) 238 assert(defined(invoker.type))
239 assert(defined(invoker.build_config)) 239 assert(defined(invoker.build_config))
240 240
241 type = invoker.type 241 type = invoker.type
242 build_config = invoker.build_config 242 build_config = invoker.build_config
243 243
244 assert(type == "android_apk" || type == "java_library" || 244 assert(type == "android_apk" || type == "java_library" ||
245 type == "android_resources" || type == "deps_dex") 245 type == "android_resources" || type == "deps_dex" ||
246 type == "android_assets")
246 247
247 action(target_name) { 248 action(target_name) {
248 deps = [] 249 deps = []
249 forward_variables_from(invoker, 250 forward_variables_from(invoker,
250 [ 251 [
251 "deps", 252 "deps",
252 "testonly", 253 "testonly",
253 "visibility", 254 "visibility",
254 ]) 255 ])
255 256
(...skipping 20 matching lines...) Expand all
276 type, 277 type,
277 "--depfile", 278 "--depfile",
278 rebase_path(depfile, root_build_dir), 279 rebase_path(depfile, root_build_dir),
279 "--possible-deps-configs=$rebase_possible_deps_configs", 280 "--possible-deps-configs=$rebase_possible_deps_configs",
280 "--build-config", 281 "--build-config",
281 rebase_path(build_config, root_build_dir), 282 rebase_path(build_config, root_build_dir),
282 ] 283 ]
283 284
284 is_java_library = type == "java_library" 285 is_java_library = type == "java_library"
285 is_apk = type == "android_apk" 286 is_apk = type == "android_apk"
287 is_android_assets = type == "android_assets"
286 is_android_resources = type == "android_resources" 288 is_android_resources = type == "android_resources"
287 is_deps_dex = type == "deps_dex" 289 is_deps_dex = type == "deps_dex"
288 290
289 supports_android = is_apk || is_android_resources || is_deps_dex || 291 supports_android =
290 (is_java_library && defined(invoker.supports_android) && 292 is_apk || is_android_assets || is_android_resources || is_deps_dex ||
291 invoker.supports_android) 293 (is_java_library && defined(invoker.supports_android) &&
292 requires_android = is_apk || is_android_resources || is_deps_dex || 294 invoker.supports_android)
293 (is_java_library && defined(invoker.requires_android) && 295 requires_android =
294 invoker.requires_android) 296 is_apk || is_android_assets || is_android_resources || is_deps_dex ||
297 (is_java_library && defined(invoker.requires_android) &&
298 invoker.requires_android)
295 299
296 assert(!requires_android || supports_android, 300 assert(!requires_android || supports_android,
297 "requires_android requires" + " supports_android") 301 "requires_android requires" + " supports_android")
298 302
299 # Mark these variables as used. 303 # Mark these variables as used.
300 assert(is_java_library || true) 304 assert(is_java_library || true)
301 assert(is_apk || true) 305 assert(is_apk || true)
302 assert(is_android_resources || true) 306 assert(is_android_resources || true)
303 assert(is_deps_dex || true) 307 assert(is_deps_dex || true)
304 308
(...skipping 27 matching lines...) Expand all
332 get_label_info(invoker.apk_under_test, "target_gen_dir") 336 get_label_info(invoker.apk_under_test, "target_gen_dir")
333 apk_under_test_name = get_label_info(invoker.apk_under_test, "name") 337 apk_under_test_name = get_label_info(invoker.apk_under_test, "name")
334 apk_under_test_config = 338 apk_under_test_config =
335 "$apk_under_test_gen_dir/$apk_under_test_name.build_config" 339 "$apk_under_test_gen_dir/$apk_under_test_name.build_config"
336 args += [ 340 args += [
337 "--tested-apk-config", 341 "--tested-apk-config",
338 rebase_path(apk_under_test_config, root_build_dir), 342 rebase_path(apk_under_test_config, root_build_dir),
339 ] 343 ]
340 } 344 }
341 345
346 if (is_android_assets) {
347 if (defined(invoker.asset_sources)) {
348 inputs += invoker.asset_sources
349 _rebased_asset_sources =
350 rebase_path(invoker.asset_sources, root_build_dir)
351 args += [ "--asset-sources=$_rebased_asset_sources" ]
352 }
353 if (defined(invoker.asset_renaming_sources)) {
354 inputs += invoker.asset_renaming_sources
355 _rebased_asset_renaming_sources =
356 rebase_path(invoker.asset_renaming_sources, root_build_dir)
357 args += [ "--asset-renaming-sources=$_rebased_asset_renaming_sources" ]
358
359 # These are zip paths, so no need to rebase.
360 args += [ "--asset-renaming-destinations=${invoker.asset_renaming_destin ations}" ]
361 }
362 if (defined(invoker.disable_compression) && invoker.disable_compression) {
363 args += [ "--disable-asset-compression" ]
364 }
365 }
366
342 if (is_android_resources || is_apk) { 367 if (is_android_resources || is_apk) {
343 assert(defined(invoker.resources_zip)) 368 assert(defined(invoker.resources_zip))
344 args += [ 369 args += [
345 "--resources-zip", 370 "--resources-zip",
346 rebase_path(invoker.resources_zip, root_build_dir), 371 rebase_path(invoker.resources_zip, root_build_dir),
347 ] 372 ]
348 if (defined(invoker.android_manifest)) { 373 if (defined(invoker.android_manifest)) {
349 inputs += [ invoker.android_manifest ] 374 inputs += [ invoker.android_manifest ]
350 args += [ 375 args += [
351 "--android-manifest", 376 "--android-manifest",
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 public_deps = [ 498 public_deps = [
474 ":${target_name}__ijar", 499 ":${target_name}__ijar",
475 ":$_output_jar_target", 500 ":$_output_jar_target",
476 ] 501 ]
477 } 502 }
478 } 503 }
479 504
480 # Creates an unsigned .apk. 505 # Creates an unsigned .apk.
481 # 506 #
482 # Variables 507 # Variables
508 # assets_build_config: Path to android_apk .build_config containing merged
509 # asset information.
483 # deps: Specifies the dependencies of this target. 510 # deps: Specifies the dependencies of this target.
484 # dex_path: Path to classes.dex file to include (optional). 511 # dex_path: Path to classes.dex file to include (optional).
485 # resource_packaged_apk_path: Path to .ap_ to use. 512 # resource_packaged_apk_path: Path to .ap_ to use.
486 # output_apk_path: Output path for the generated .apk. 513 # output_apk_path: Output path for the generated .apk.
487 # native_libs_dir: Directory containing native libraries. 514 # native_libs_dir: Directory containing native libraries.
488 # create_placeholder_lib: Whether to add a dummy lib to the apk. 515 # create_placeholder_lib: Whether to add a dummy lib to the apk.
489 template("package_apk") { 516 template("package_apk") {
490 action(target_name) { 517 action(target_name) {
491 forward_variables_from(invoker, 518 forward_variables_from(invoker,
492 [ 519 [
(...skipping 25 matching lines...) Expand all
518 _rebased_resource_packaged_apk_path = 545 _rebased_resource_packaged_apk_path =
519 rebase_path(invoker.resource_packaged_apk_path, root_build_dir) 546 rebase_path(invoker.resource_packaged_apk_path, root_build_dir)
520 _rebased_packaged_apk_path = 547 _rebased_packaged_apk_path =
521 rebase_path(invoker.output_apk_path, root_build_dir) 548 rebase_path(invoker.output_apk_path, root_build_dir)
522 args = [ 549 args = [
523 "--depfile", 550 "--depfile",
524 rebase_path(depfile, root_build_dir), 551 rebase_path(depfile, root_build_dir),
525 "--resource-apk=$_rebased_resource_packaged_apk_path", 552 "--resource-apk=$_rebased_resource_packaged_apk_path",
526 "--output-apk=$_rebased_packaged_apk_path", 553 "--output-apk=$_rebased_packaged_apk_path",
527 ] 554 ]
555 if (defined(invoker.assets_build_config)) {
556 inputs += [ invoker.assets_build_config ]
557 _rebased_build_config =
558 rebase_path(invoker.assets_build_config, root_build_dir)
559 args += [
560 "--assets=@FileArg($_rebased_build_config:assets)",
561 "--uncompressed-assets=@FileArg($_rebased_build_config:uncompressed_asse ts)",
562 ]
563 }
528 if (defined(invoker.dex_path)) { 564 if (defined(invoker.dex_path)) {
529 _rebased_dex_path = rebase_path(invoker.dex_path, root_build_dir) 565 _rebased_dex_path = rebase_path(invoker.dex_path, root_build_dir)
530 args += [ "--dex-file=$_rebased_dex_path" ] 566 args += [ "--dex-file=$_rebased_dex_path" ]
531 } 567 }
532 if (defined(invoker.native_libs_dir) || _create_placeholder_lib) { 568 if (defined(invoker.native_libs_dir) || _create_placeholder_lib) {
533 args += [ "--android-abi=$android_app_abi" ] 569 args += [ "--android-abi=$android_app_abi" ]
534 } 570 }
535 if (defined(invoker.native_libs_dir)) { 571 if (defined(invoker.native_libs_dir)) {
536 _rebased_native_libs_dir = 572 _rebased_native_libs_dir =
537 rebase_path(invoker.native_libs_dir, root_build_dir) 573 rebase_path(invoker.native_libs_dir, root_build_dir)
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 665
630 _deps = [] 666 _deps = []
631 if (defined(invoker.deps)) { 667 if (defined(invoker.deps)) {
632 _deps = invoker.deps 668 _deps = invoker.deps
633 } 669 }
634 _incremental_deps = [] 670 _incremental_deps = []
635 if (defined(invoker.incremental_deps)) { 671 if (defined(invoker.incremental_deps)) {
636 _incremental_deps = invoker.incremental_deps 672 _incremental_deps = invoker.incremental_deps
637 } 673 }
638 674
675 # TODO(agrieve): Remove support for asset_location in favor of using
676 # android_assets() everywhere (http://crbug.com/547162).
639 if (defined(invoker.asset_location)) { 677 if (defined(invoker.asset_location)) {
640 _asset_location = invoker.asset_location 678 _asset_location = invoker.asset_location
641 assert(_asset_location != "") # Mark as used. 679 assert(_asset_location != "") # Mark as used.
642 } 680 }
643 681
644 _version_code = invoker.version_code 682 _version_code = invoker.version_code
645 _version_name = invoker.version_name 683 _version_name = invoker.version_name
646 assert(_version_code != -1) # Mark as used. 684 assert(_version_code != -1) # Mark as used.
647 assert(_version_name != "") # Mark as used. 685 assert(_version_name != "") # Mark as used.
648 686
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 package_resources_helper(_incremental_package_resources_target_name) { 833 package_resources_helper(_incremental_package_resources_target_name) {
796 forward_variables_from(invoker, [ "extensions_to_not_compress" ]) 834 forward_variables_from(invoker, [ "extensions_to_not_compress" ])
797 deps = 835 deps =
798 _incremental_deps + [ ":$_generate_incremental_manifest_target_name" ] 836 _incremental_deps + [ ":$_generate_incremental_manifest_target_name" ]
799 android_manifest = _incremental_android_manifest 837 android_manifest = _incremental_android_manifest
800 resource_packaged_apk_path = _incremental_resource_packaged_apk_path 838 resource_packaged_apk_path = _incremental_resource_packaged_apk_path
801 } 839 }
802 840
803 package_target = "${target_name}__package" 841 package_target = "${target_name}__package"
804 package_apk(package_target) { 842 package_apk(package_target) {
805 forward_variables_from(invoker, [ "native_libs_dir" ]) 843 forward_variables_from(invoker,
844 [
845 "assets_build_config",
846 "native_libs_dir",
847 ])
806 deps = _deps + [ ":${_package_resources_target_name}" ] 848 deps = _deps + [ ":${_package_resources_target_name}" ]
807 849
808 if (defined(_dex_path)) { 850 if (defined(_dex_path)) {
809 dex_path = _dex_path 851 dex_path = _dex_path
810 } 852 }
811 853
812 output_apk_path = _packaged_apk_path 854 output_apk_path = _packaged_apk_path
813 resource_packaged_apk_path = _resource_packaged_apk_path 855 resource_packaged_apk_path = _resource_packaged_apk_path
814 } 856 }
815 857
816 _incremental_package_target = "${target_name}_incremental__package" 858 _incremental_package_target = "${target_name}_incremental__package"
817 package_apk(_incremental_package_target) { 859 package_apk(_incremental_package_target) {
860 forward_variables_from(invoker, [ "assets_build_config" ])
818 _dex_target = "//build/android/incremental_install:bootstrap_java__dex" 861 _dex_target = "//build/android/incremental_install:bootstrap_java__dex"
819 deps = _incremental_deps + [ 862 deps = _incremental_deps + [
820 ":${_incremental_package_resources_target_name}", 863 ":${_incremental_package_resources_target_name}",
821 _dex_target, 864 _dex_target,
822 ] 865 ]
823 866
824 if (defined(_dex_path)) { 867 if (defined(_dex_path)) {
825 dex_path = 868 dex_path =
826 get_label_info(_dex_target, "target_gen_dir") + "/bootstrap.dex" 869 get_label_info(_dex_target, "target_gen_dir") + "/bootstrap.dex"
827 } 870 }
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after
1690 ] 1733 ]
1691 args = [ 1734 args = [
1692 "--depfile", 1735 "--depfile",
1693 rebase_path(depfile, root_build_dir), 1736 rebase_path(depfile, root_build_dir),
1694 "--script-output-path", 1737 "--script-output-path",
1695 rebase_path(generated_script, root_build_dir), 1738 rebase_path(generated_script, root_build_dir),
1696 ] 1739 ]
1697 args += test_runner_args 1740 args += test_runner_args
1698 } 1741 }
1699 } 1742 }
OLDNEW
« no previous file with comments | « build/android/gyp/write_build_config.py ('k') | build/config/android/rules.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698