OLD | NEW |
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/android/internal_rules.gni") | 6 import("//build/config/android/internal_rules.gni") |
7 import("//tools/grit/grit_rule.gni") | 7 import("//tools/grit/grit_rule.gni") |
8 | 8 |
9 assert(is_android) | 9 assert(is_android) |
10 | 10 |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 # ] | 413 # ] |
414 # jar_excluded_patterns = [ | 414 # jar_excluded_patterns = [ |
415 # "*/FooService.class", "*/FooService##*.class" | 415 # "*/FooService.class", "*/FooService##*.class" |
416 # ] | 416 # ] |
417 # } | 417 # } |
418 template("android_library") { | 418 template("android_library") { |
419 assert(defined(invoker.java_files)) | 419 assert(defined(invoker.java_files)) |
420 base_path = "$target_gen_dir/$target_name" | 420 base_path = "$target_gen_dir/$target_name" |
421 build_config = base_path + ".build_config" | 421 build_config = base_path + ".build_config" |
422 jar_path = base_path + ".jar" | 422 jar_path = base_path + ".jar" |
| 423 dex_path = base_path + ".dex.jar" |
423 | 424 |
424 write_build_config("${target_name}__build_config") { | 425 write_build_config("${target_name}__build_config") { |
425 type = "android_library" | 426 type = "android_library" |
426 | 427 |
427 deps = [] | 428 deps = [] |
428 if (defined(invoker.deps)) { | 429 if (defined(invoker.deps)) { |
429 deps += invoker.deps | 430 deps += invoker.deps |
430 } | 431 } |
431 | 432 |
432 # base_path | 433 # base_path |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
483 # srcjar_deps = [ | 484 # srcjar_deps = [ |
484 # ":foo_generated_enum" | 485 # ":foo_generated_enum" |
485 # ] | 486 # ] |
486 # native_libs = [ | 487 # native_libs = [ |
487 # native_lib_path | 488 # native_lib_path |
488 # ] | 489 # ] |
489 # } | 490 # } |
490 template("android_apk") { | 491 template("android_apk") { |
491 gen_dir = "$target_gen_dir/$target_name" | 492 gen_dir = "$target_gen_dir/$target_name" |
492 base_path = "$gen_dir/$target_name" | 493 base_path = "$gen_dir/$target_name" |
493 build_config = base_path + ".build_config" | 494 build_config = "$base_path.build_config" |
494 resource_zip_path = base_path + ".resources.zip" | 495 resources_zip_path = "$base_path.resources.zip" |
495 all_resources_zip_path = base_path + ".resources.all.zip" | 496 all_resources_zip_path = "$base_path.resources.all.zip" |
496 resource_srcjar_path = base_path + ".resources.srcjar" | 497 resource_srcjar_path = "$base_path.resources.srcjar" |
497 jar_path = base_path + ".jar" | 498 jar_path = "$base_path.jar" |
| 499 final_dex_path = "$gen_dir/classes.dex" |
498 | 500 |
499 # Just mark these as used for now. | 501 # Just mark these as used for now. |
500 assert(!defined(invoker.native_libs) | 502 assert(!defined(invoker.native_libs) |
501 || invoker.native_libs == [] || invoker.native_libs != []) | 503 || invoker.native_libs == [] || invoker.native_libs != []) |
502 assert(!defined(invoker.final_apk_path) | 504 assert(!defined(invoker.final_apk_path) |
503 || invoker.final_apk_path == "" || invoker.final_apk_path != "") | 505 || invoker.final_apk_path == "" || invoker.final_apk_path != "") |
504 | 506 |
505 final_deps = [] | |
506 | 507 |
507 # TODO(cjhopman): Remove this once we correctly generate the real | 508 # TODO(cjhopman): Remove this once we correctly generate the real |
508 # NativeLibraries.java | 509 # NativeLibraries.java |
509 srcjar_deps = [ "//base:base_native_libraries_gen" ] | 510 srcjar_deps = [ "//base:base_native_libraries_gen" ] |
510 if (defined(invoker.srcjar_deps)) { | 511 if (defined(invoker.srcjar_deps)) { |
511 srcjar_deps += invoker.srcjar_deps | 512 srcjar_deps += invoker.srcjar_deps |
512 } | 513 } |
513 | 514 |
514 write_build_config("${target_name}__build_config") { | 515 write_build_config("${target_name}__build_config") { |
515 type = "android_apk" | 516 type = "android_apk" |
516 srcjar = resource_srcjar_path | 517 srcjar = resource_srcjar_path |
517 resources_zip = resource_zip_path | 518 dex_path = final_dex_path |
| 519 resources_zip = resources_zip_path |
518 | 520 |
519 if (defined(invoker.deps)) { | 521 if (defined(invoker.deps)) { |
520 deps = invoker.deps | 522 deps = invoker.deps |
521 } | 523 } |
522 } | 524 } |
523 | 525 |
| 526 final_deps = [] |
| 527 |
524 final_deps += [":${target_name}__process_resources"] | 528 final_deps += [":${target_name}__process_resources"] |
525 process_resources("${target_name}__process_resources") { | 529 process_resources("${target_name}__process_resources") { |
526 android_manifest = invoker.android_manifest | 530 android_manifest = invoker.android_manifest |
527 | 531 |
528 resource_dirs = ["//build/android/ant/empty/res"] | 532 resource_dirs = ["//build/android/ant/empty/res"] |
529 zip_path = resource_zip_path | 533 zip_path = resources_zip_path |
530 srcjar_path = resource_srcjar_path | 534 srcjar_path = resource_srcjar_path |
531 | 535 |
532 generate_constant_ids = true | 536 generate_constant_ids = true |
533 } | 537 } |
534 | 538 |
| 539 rebased_build_config = rebase_path(build_config, root_build_dir) |
| 540 |
535 final_deps += [":${target_name}__java"] | 541 final_deps += [":${target_name}__java"] |
536 android_java_library("${target_name}__java") { | 542 android_java_library("${target_name}__java") { |
537 java_files = invoker.java_files | 543 java_files = invoker.java_files |
| 544 dex_path = base_path + ".dex.jar" |
538 } | 545 } |
539 | 546 |
540 # TODO(cjhopman): dex | 547 final_deps += [":${target_name}__final_dex"] |
541 # TODO(cjhopman): native | 548 dex("${target_name}__final_dex") { |
542 # TODO(cjhopman): create+finalize apk | 549 sources = [jar_path] |
| 550 inputs = [build_config] |
| 551 output = final_dex_path |
| 552 args = ["--inputs=@FileArg(${rebased_build_config}:apk_dex:dependency_dex_fi
les)"] |
| 553 } |
543 | 554 |
544 group(target_name) { | 555 group(target_name) { |
545 deps = final_deps | 556 deps = final_deps |
546 } | 557 } |
547 } | 558 } |
548 | 559 |
549 | 560 |
550 # Declare an Android gtest apk | 561 # Declare an Android gtest apk |
551 # | 562 # |
552 # This target creates an Android apk for running gtest-based unittests. | 563 # This target creates an Android apk for running gtest-based unittests. |
(...skipping 19 matching lines...) Expand all Loading... |
572 "//testing/android/java/src/org/chromium/native_test/ChromeNativeTestActiv
ity.java" | 583 "//testing/android/java/src/org/chromium/native_test/ChromeNativeTestActiv
ity.java" |
573 ] | 584 ] |
574 android_manifest = "//testing/android/java/AndroidManifest.xml" | 585 android_manifest = "//testing/android/java/AndroidManifest.xml" |
575 unittests_outputs = get_target_outputs(invoker.unittests_dep) | 586 unittests_outputs = get_target_outputs(invoker.unittests_dep) |
576 native_libs = [unittests_outputs[0]] | 587 native_libs = [unittests_outputs[0]] |
577 if (defined(invoker.deps)) { | 588 if (defined(invoker.deps)) { |
578 deps = invoker.deps | 589 deps = invoker.deps |
579 } | 590 } |
580 } | 591 } |
581 } | 592 } |
OLD | NEW |