| 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("//base/android/linker/config.gni") | 5 import("//base/android/linker/config.gni") |
| 6 import("//build/config/android/config.gni") | 6 import("//build/config/android/config.gni") |
| 7 import("//build/config/android/internal_rules.gni") | 7 import("//build/config/android/internal_rules.gni") |
| 8 import("//third_party/android_platform/config.gni") |
| 8 import("//tools/grit/grit_rule.gni") | 9 import("//tools/grit/grit_rule.gni") |
| 9 import("//tools/relocation_packer/config.gni") | |
| 10 | 10 |
| 11 assert(is_android) | 11 assert(is_android) |
| 12 | 12 |
| 13 # Declare a jni target | 13 # Declare a jni target |
| 14 # | 14 # |
| 15 # This target generates the native jni bindings for a set of .java files. | 15 # This target generates the native jni bindings for a set of .java files. |
| 16 # | 16 # |
| 17 # See base/android/jni_generator/jni_generator.py for more info about the | 17 # See base/android/jni_generator/jni_generator.py for more info about the |
| 18 # format of generating JNI bindings. | 18 # format of generating JNI bindings. |
| 19 # | 19 # |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 | 246 |
| 247 assert(defined(invoker.sources)) | 247 assert(defined(invoker.sources)) |
| 248 package_name = invoker.package_name + "" | 248 package_name = invoker.package_name + "" |
| 249 | 249 |
| 250 if (defined(invoker.include_path)) { | 250 if (defined(invoker.include_path)) { |
| 251 include_path = invoker.include_path + "" | 251 include_path = invoker.include_path + "" |
| 252 } else { | 252 } else { |
| 253 include_path = "//" | 253 include_path = "//" |
| 254 } | 254 } |
| 255 | 255 |
| 256 action_foreach("${target_name}__apply_gcc") { | 256 apply_gcc_target_name = "${target_name}__apply_gcc" |
| 257 zip_srcjar_target_name = "${target_name}__zip_srcjar" |
| 258 final_target_name = target_name |
| 259 |
| 260 action_foreach(apply_gcc_target_name) { |
| 261 visibility = [ ":$zip_srcjar_target_name" ] |
| 257 script = "//build/android/gyp/gcc_preprocess.py" | 262 script = "//build/android/gyp/gcc_preprocess.py" |
| 258 if (defined(invoker.inputs)) { | 263 if (defined(invoker.inputs)) { |
| 259 inputs = invoker.inputs + [] | 264 inputs = invoker.inputs + [] |
| 260 } | 265 } |
| 261 depfile = "${target_gen_dir}/${target_name}_{{source_name_part}}.d" | 266 depfile = "${target_gen_dir}/${target_name}_{{source_name_part}}.d" |
| 262 | 267 |
| 263 sources = invoker.sources | 268 sources = invoker.sources |
| 264 | 269 |
| 270 if (defined(invoker.deps)) { |
| 271 deps = invoker.deps |
| 272 } |
| 273 if (defined(invoker.public_deps)) { |
| 274 public_deps = invoker.public_deps |
| 275 } |
| 276 if (defined(invoker.data_deps)) { |
| 277 data_deps = invoker.data_deps |
| 278 } |
| 279 |
| 265 gen_dir = | 280 gen_dir = |
| 266 "${target_gen_dir}/${target_name}/java_cpp_template/${package_name}" | 281 "${target_gen_dir}/${target_name}/java_cpp_template/${package_name}" |
| 267 gcc_template_output_pattern = "${gen_dir}/{{source_name_part}}.java" | 282 gcc_template_output_pattern = "${gen_dir}/{{source_name_part}}.java" |
| 268 | 283 |
| 269 outputs = [ | 284 outputs = [ |
| 270 depfile, | 285 depfile, |
| 271 gcc_template_output_pattern, | 286 gcc_template_output_pattern, |
| 272 ] | 287 ] |
| 273 | 288 |
| 274 args = [ | 289 args = [ |
| 275 "--depfile", | 290 "--depfile", |
| 276 rebase_path(depfile, root_build_dir), | 291 rebase_path(depfile, root_build_dir), |
| 277 "--include-path", | 292 "--include-path", |
| 278 rebase_path(include_path, root_build_dir), | 293 rebase_path(include_path, root_build_dir), |
| 279 "--output", | 294 "--output", |
| 280 rebase_path(gen_dir, root_build_dir) + "/{{source_name_part}}.java", | 295 rebase_path(gen_dir, root_build_dir) + "/{{source_name_part}}.java", |
| 281 "--template={{source}}", | 296 "--template={{source}}", |
| 282 ] | 297 ] |
| 283 | 298 |
| 284 if (defined(invoker.defines)) { | 299 if (defined(invoker.defines)) { |
| 285 foreach(def, invoker.defines) { | 300 foreach(def, invoker.defines) { |
| 286 args += [ | 301 args += [ |
| 287 "--defines", | 302 "--defines", |
| 288 def, | 303 def, |
| 289 ] | 304 ] |
| 290 } | 305 } |
| 291 } | 306 } |
| 292 } | 307 } |
| 293 | 308 |
| 294 apply_gcc_outputs = get_target_outputs(":${target_name}__apply_gcc") | 309 apply_gcc_outputs = get_target_outputs(":$apply_gcc_target_name") |
| 295 base_gen_dir = get_label_info(":${target_name}__apply_gcc", "target_gen_dir") | 310 base_gen_dir = get_label_info(":$apply_gcc_target_name", "target_gen_dir") |
| 296 | 311 |
| 297 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" | 312 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" |
| 298 zip("${target_name}__zip_srcjar") { | 313 zip(zip_srcjar_target_name) { |
| 314 visibility = [ ":$final_target_name" ] |
| 299 inputs = apply_gcc_outputs | 315 inputs = apply_gcc_outputs |
| 300 output = srcjar_path | 316 output = srcjar_path |
| 301 base_dir = base_gen_dir | 317 base_dir = base_gen_dir |
| 318 deps = [ |
| 319 ":$apply_gcc_target_name", |
| 320 ] |
| 302 } | 321 } |
| 303 | 322 |
| 304 group(target_name) { | 323 group(final_target_name) { |
| 324 if (defined(invoker.visibility)) { |
| 325 visibility = invoker.visibility |
| 326 } |
| 305 deps = [ | 327 deps = [ |
| 306 ":${target_name}__zip_srcjar", | 328 ":$zip_srcjar_target_name", |
| 307 ] | 329 ] |
| 308 } | 330 } |
| 309 } | 331 } |
| 310 | 332 |
| 311 # Declare a target for generating Java classes from C++ enums. | 333 # Declare a target for generating Java classes from C++ enums. |
| 312 # | 334 # |
| 313 # This target generates Java files from C++ enums using a script. | 335 # This target generates Java files from C++ enums using a script. |
| 314 # | 336 # |
| 315 # This target will create a single .srcjar. Adding this target to an | 337 # This target will create a single .srcjar. Adding this target to an |
| 316 # android_library target's srcjar_deps will make the generated java files be | 338 # android_library target's srcjar_deps will make the generated java files be |
| (...skipping 20 matching lines...) Expand all Loading... |
| 337 # } | 359 # } |
| 338 template("java_cpp_enum") { | 360 template("java_cpp_enum") { |
| 339 set_sources_assignment_filter([]) | 361 set_sources_assignment_filter([]) |
| 340 if (defined(invoker.testonly)) { | 362 if (defined(invoker.testonly)) { |
| 341 testonly = invoker.testonly | 363 testonly = invoker.testonly |
| 342 } | 364 } |
| 343 | 365 |
| 344 assert(defined(invoker.sources)) | 366 assert(defined(invoker.sources)) |
| 345 assert(defined(invoker.outputs)) | 367 assert(defined(invoker.outputs)) |
| 346 | 368 |
| 347 action("${target_name}__generate_enum") { | 369 generate_enum_target_name = "${target_name}__generate_enum" |
| 370 zip_srcjar_target_name = "${target_name}__zip_srcjar" |
| 371 final_target_name = target_name |
| 372 |
| 373 action(generate_enum_target_name) { |
| 374 visibility = [ ":$zip_srcjar_target_name" ] |
| 375 |
| 348 # The sources aren't compiled so don't check their dependencies. | 376 # The sources aren't compiled so don't check their dependencies. |
| 349 check_includes = false | 377 check_includes = false |
| 350 | 378 |
| 351 sources = invoker.sources | 379 sources = invoker.sources |
| 352 script = "//build/android/gyp/java_cpp_enum.py" | 380 script = "//build/android/gyp/java_cpp_enum.py" |
| 353 gen_dir = "${target_gen_dir}/${target_name}/enums" | 381 gen_dir = "${target_gen_dir}/${target_name}/enums" |
| 354 outputs = | 382 outputs = |
| 355 get_path_info(rebase_path(invoker.outputs, ".", gen_dir), "abspath") | 383 get_path_info(rebase_path(invoker.outputs, ".", gen_dir), "abspath") |
| 356 | 384 |
| 357 args = [] | 385 args = [] |
| 358 foreach(output, rebase_path(outputs, root_build_dir)) { | 386 foreach(output, rebase_path(outputs, root_build_dir)) { |
| 359 args += [ | 387 args += [ |
| 360 "--assert_file", | 388 "--assert_file", |
| 361 output, | 389 output, |
| 362 ] | 390 ] |
| 363 } | 391 } |
| 364 args += [ rebase_path(gen_dir, root_build_dir) ] | 392 args += [ rebase_path(gen_dir, root_build_dir) ] |
| 365 args += rebase_path(invoker.sources, root_build_dir) | 393 args += rebase_path(invoker.sources, root_build_dir) |
| 366 } | 394 } |
| 367 | 395 |
| 368 generate_enum_outputs = get_target_outputs(":${target_name}__generate_enum") | 396 generate_enum_outputs = get_target_outputs(":$generate_enum_target_name") |
| 369 base_gen_dir = | 397 base_gen_dir = get_label_info(":$generate_enum_target_name", "target_gen_dir") |
| 370 get_label_info(":${target_name}__generate_enum", "target_gen_dir") | |
| 371 | 398 |
| 372 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" | 399 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" |
| 373 zip("${target_name}__zip_srcjar") { | 400 zip(zip_srcjar_target_name) { |
| 401 visibility = [ ":$final_target_name" ] |
| 374 inputs = generate_enum_outputs | 402 inputs = generate_enum_outputs |
| 375 output = srcjar_path | 403 output = srcjar_path |
| 376 base_dir = base_gen_dir | 404 base_dir = base_gen_dir |
| 405 deps = [ |
| 406 ":$generate_enum_target_name", |
| 407 ] |
| 377 } | 408 } |
| 378 | 409 |
| 379 group(target_name) { | 410 group(final_target_name) { |
| 411 if (defined(invoker.visibility)) { |
| 412 visibility = invoker.visibility |
| 413 } |
| 380 deps = [ | 414 deps = [ |
| 381 ":${target_name}__zip_srcjar", | 415 ":$zip_srcjar_target_name", |
| 382 ] | 416 ] |
| 383 } | 417 } |
| 384 } | 418 } |
| 385 | 419 |
| 386 # Declare a target for processing a Jinja template. | 420 # Declare a target for processing a Jinja template. |
| 387 # | 421 # |
| 388 # Variables | 422 # Variables |
| 389 # input: The template file to be processed. | 423 # input: The template file to be processed. |
| 390 # output: Where to save the result. | 424 # output: Where to save the result. |
| 391 # variables: (Optional) A list of variables to make available to the template | 425 # variables: (Optional) A list of variables to make available to the template |
| 392 # processing environment, e.g. ["name=foo", "color=red"]. | 426 # processing environment, e.g. ["name=foo", "color=red"]. |
| 393 # | 427 # |
| 394 # Example | 428 # Example |
| 395 # jinja_template("chrome_shell_manifest") { | 429 # jinja_template("chrome_shell_manifest") { |
| 396 # input = "shell/java/AndroidManifest.xml" | 430 # input = "shell/java/AndroidManifest.xml" |
| 397 # output = "$target_gen_dir/AndroidManifest.xml" | 431 # output = "$target_gen_dir/AndroidManifest.xml" |
| 398 # } | 432 # } |
| 399 template("jinja_template") { | 433 template("jinja_template") { |
| 400 set_sources_assignment_filter([]) | 434 set_sources_assignment_filter([]) |
| 401 if (defined(invoker.testonly)) { | 435 if (defined(invoker.testonly)) { |
| 402 testonly = invoker.testonly | 436 testonly = invoker.testonly |
| 403 } | 437 } |
| 404 | 438 |
| 405 assert(defined(invoker.input)) | 439 assert(defined(invoker.input)) |
| 406 assert(defined(invoker.output)) | 440 assert(defined(invoker.output)) |
| 407 | 441 |
| 408 action(target_name) { | 442 action(target_name) { |
| 443 if (defined(invoker.visibility)) { |
| 444 visibility = invoker.visibility |
| 445 } |
| 446 |
| 409 sources = [ | 447 sources = [ |
| 410 invoker.input, | 448 invoker.input, |
| 411 ] | 449 ] |
| 412 script = "//build/android/gyp/jinja_template.py" | 450 script = "//build/android/gyp/jinja_template.py" |
| 413 depfile = "$target_gen_dir/$target_name.d" | 451 depfile = "$target_gen_dir/$target_name.d" |
| 414 | 452 |
| 415 outputs = [ | 453 outputs = [ |
| 416 depfile, | 454 depfile, |
| 417 invoker.output, | 455 invoker.output, |
| 418 ] | 456 ] |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 516 # own dependencies. | 554 # own dependencies. |
| 517 # | 555 # |
| 518 # Variables | 556 # Variables |
| 519 # deps: Specifies the dependencies of this target. Any Android resources | 557 # deps: Specifies the dependencies of this target. Any Android resources |
| 520 # listed in deps will be included by libraries/apks that depend on this | 558 # listed in deps will be included by libraries/apks that depend on this |
| 521 # target. | 559 # target. |
| 522 # resource_dirs: List of directories containing resources for this target. | 560 # resource_dirs: List of directories containing resources for this target. |
| 523 # android_manifest: AndroidManifest.xml for this target. Defaults to | 561 # android_manifest: AndroidManifest.xml for this target. Defaults to |
| 524 # //build/android/AndroidManifest.xml. | 562 # //build/android/AndroidManifest.xml. |
| 525 # custom_package: java package for generated .java files. | 563 # custom_package: java package for generated .java files. |
| 526 # v14_verify_only: If true, don't generate v14/v17 resources and just verify | 564 # v14_skip: If true, don't run v14 resource generator on this. Defaults to |
| 527 # that the resources are v14-compliant (see | 565 # false. (see build/android/gyp/generate_v14_compatible_resources.py) |
| 528 # build/android/gyp/generate_v14_compatible_resources.py). Defaults to | 566 # |
| 529 # false. | |
| 530 # shared_resources: If true make a resource package that can be loaded by a | 567 # shared_resources: If true make a resource package that can be loaded by a |
| 531 # different application at runtime to access the package's resources. | 568 # different application at runtime to access the package's resources. |
| 532 # | 569 # |
| 533 | 570 |
| 534 # Example | 571 # Example |
| 535 # android_resources("foo_resources") { | 572 # android_resources("foo_resources") { |
| 536 # deps = [":foo_strings_grd"] | 573 # deps = [":foo_strings_grd"] |
| 537 # resource_dirs = ["res"] | 574 # resource_dirs = ["res"] |
| 538 # custom_package = "org.chromium.foo" | 575 # custom_package = "org.chromium.foo" |
| 539 # } | 576 # } |
| 540 template("android_resources") { | 577 template("android_resources") { |
| 541 set_sources_assignment_filter([]) | 578 set_sources_assignment_filter([]) |
| 542 if (defined(invoker.testonly)) { | 579 if (defined(invoker.testonly)) { |
| 543 testonly = invoker.testonly | 580 testonly = invoker.testonly |
| 544 } | 581 } |
| 545 | 582 |
| 546 assert(defined(invoker.resource_dirs)) | 583 assert(defined(invoker.resource_dirs)) |
| 547 assert(defined(invoker.android_manifest) || defined(invoker.custom_package)) | 584 assert(defined(invoker.android_manifest) || defined(invoker.custom_package)) |
| 548 | 585 |
| 549 base_path = "$target_gen_dir/$target_name" | 586 base_path = "$target_gen_dir/$target_name" |
| 550 zip_path = base_path + ".resources.zip" | 587 zip_path = base_path + ".resources.zip" |
| 551 srcjar_path = base_path + ".srcjar" | 588 srcjar_path = base_path + ".srcjar" |
| 552 r_text_path = base_path + "_R.txt" | 589 r_text_path = base_path + "_R.txt" |
| 553 build_config = base_path + ".build_config" | 590 build_config = base_path + ".build_config" |
| 554 | 591 |
| 555 write_build_config("${target_name}__build_config") { | 592 build_config_target_name = "${target_name}__build_config" |
| 593 process_resources_target_name = "${target_name}__process_resources" |
| 594 final_target_name = target_name |
| 595 |
| 596 write_build_config(build_config_target_name) { |
| 597 visibility = [ ":$process_resources_target_name" ] |
| 598 |
| 556 type = "android_resources" | 599 type = "android_resources" |
| 557 resources_zip = zip_path | 600 resources_zip = zip_path |
| 558 srcjar = srcjar_path | 601 srcjar = srcjar_path |
| 559 r_text = r_text_path | 602 r_text = r_text_path |
| 560 if (defined(invoker.deps)) { | 603 if (defined(invoker.deps)) { |
| 561 deps = invoker.deps | 604 deps = invoker.deps |
| 562 } | 605 } |
| 563 if (defined(invoker.android_manifest)) { | 606 if (defined(invoker.android_manifest)) { |
| 564 android_manifest = invoker.android_manifest | 607 android_manifest = invoker.android_manifest |
| 565 } | 608 } |
| 566 if (defined(invoker.custom_package)) { | 609 if (defined(invoker.custom_package)) { |
| 567 custom_package = invoker.custom_package | 610 custom_package = invoker.custom_package |
| 568 } | 611 } |
| 569 } | 612 } |
| 570 | 613 |
| 571 android_manifest = "//build/android/AndroidManifest.xml" | 614 android_manifest = "//build/android/AndroidManifest.xml" |
| 572 if (defined(invoker.android_manifest)) { | 615 if (defined(invoker.android_manifest)) { |
| 573 android_manifest = invoker.android_manifest | 616 android_manifest = invoker.android_manifest |
| 574 } | 617 } |
| 575 | 618 |
| 576 process_resources("${target_name}__process_resources") { | 619 process_resources(process_resources_target_name) { |
| 620 visibility = [ ":$final_target_name" ] |
| 621 |
| 577 resource_dirs = invoker.resource_dirs | 622 resource_dirs = invoker.resource_dirs |
| 578 if (defined(invoker.custom_package)) { | 623 if (defined(invoker.custom_package)) { |
| 579 custom_package = invoker.custom_package | 624 custom_package = invoker.custom_package |
| 580 } | 625 } |
| 581 | 626 |
| 582 if (defined(invoker.v14_verify_only)) { | 627 if (defined(invoker.v14_skip)) { |
| 583 v14_verify_only = invoker.v14_verify_only | 628 v14_skip = invoker.v14_skip |
| 584 } | 629 } |
| 585 | 630 |
| 586 if (defined(invoker.shared_resources)) { | 631 if (defined(invoker.shared_resources)) { |
| 587 shared_resources = invoker.shared_resources | 632 shared_resources = invoker.shared_resources |
| 588 } | 633 } |
| 634 |
| 635 deps = [ |
| 636 ":$build_config_target_name", |
| 637 ] |
| 638 if (defined(invoker.deps)) { |
| 639 # Invoker may have added deps that generate the input resources. |
| 640 deps += invoker.deps |
| 641 } |
| 589 } | 642 } |
| 590 | 643 |
| 591 group(target_name) { | 644 group(final_target_name) { |
| 645 if (defined(invoker.visibility)) { |
| 646 visibility = invoker.visibility |
| 647 } |
| 592 deps = [ | 648 deps = [ |
| 593 ":${target_name}__build_config", | |
| 594 ":${target_name}__process_resources", | 649 ":${target_name}__process_resources", |
| 595 ] | 650 ] |
| 596 } | 651 } |
| 597 } | 652 } |
| 598 | 653 |
| 599 # Declare a target that generates localized strings.xml from a .grd file. | 654 # Declare a target that generates localized strings.xml from a .grd file. |
| 600 # | 655 # |
| 601 # If this target is included in the deps of an android resources/library/apk, | 656 # If this target is included in the deps of an android resources/library/apk, |
| 602 # the strings.xml will be included with that target. | 657 # the strings.xml will be included with that target. |
| 603 # | 658 # |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 644 } | 699 } |
| 645 | 700 |
| 646 # This needs to get outputs from grit's internal target, not the final | 701 # This needs to get outputs from grit's internal target, not the final |
| 647 # source_set. | 702 # source_set. |
| 648 generate_strings_outputs = get_target_outputs(":${grit_target_name}_grit") | 703 generate_strings_outputs = get_target_outputs(":${grit_target_name}_grit") |
| 649 | 704 |
| 650 zip("${target_name}__zip") { | 705 zip("${target_name}__zip") { |
| 651 base_dir = grit_output_dir | 706 base_dir = grit_output_dir |
| 652 inputs = generate_strings_outputs | 707 inputs = generate_strings_outputs |
| 653 output = resources_zip | 708 output = resources_zip |
| 709 deps = [ |
| 710 ":$grit_target_name", |
| 711 ] |
| 654 } | 712 } |
| 655 | 713 |
| 656 group(target_name) { | 714 group(target_name) { |
| 657 deps = [ | 715 deps = [ |
| 658 ":${target_name}__build_config", | 716 ":${target_name}__build_config", |
| 659 ":${target_name}__zip", | 717 ":${target_name}__zip", |
| 660 ] | 718 ] |
| 661 } | 719 } |
| 662 } | 720 } |
| 663 | 721 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 680 template("java_strings_grd_prebuilt") { | 738 template("java_strings_grd_prebuilt") { |
| 681 set_sources_assignment_filter([]) | 739 set_sources_assignment_filter([]) |
| 682 if (defined(invoker.testonly)) { | 740 if (defined(invoker.testonly)) { |
| 683 testonly = invoker.testonly | 741 testonly = invoker.testonly |
| 684 } | 742 } |
| 685 | 743 |
| 686 base_path = "$target_gen_dir/$target_name" | 744 base_path = "$target_gen_dir/$target_name" |
| 687 resources_zip = base_path + ".resources.zip" | 745 resources_zip = base_path + ".resources.zip" |
| 688 build_config = base_path + ".build_config" | 746 build_config = base_path + ".build_config" |
| 689 | 747 |
| 690 write_build_config("${target_name}__build_config") { | 748 build_config_target_name = "${target_name}__build_config" |
| 749 zip_target_name = "${target_name}__zip" |
| 750 final_target_name = target_name |
| 751 |
| 752 write_build_config(build_config_target_name) { |
| 753 visibility = [ ":$zip_target_name" ] |
| 691 type = "android_resources" | 754 type = "android_resources" |
| 755 } |
| 756 |
| 757 zip(zip_target_name) { |
| 758 visibility = [ ":$final_target_name" ] |
| 759 |
| 760 base_dir = invoker.grit_output_dir |
| 761 inputs = rebase_path(invoker.generated_files, ".", base_dir) |
| 762 output = resources_zip |
| 763 deps = [ |
| 764 ":$build_config_target_name", |
| 765 ] |
| 692 if (defined(invoker.deps)) { | 766 if (defined(invoker.deps)) { |
| 693 deps = invoker.deps | 767 deps += invoker.deps |
| 694 } | 768 } |
| 695 } | 769 } |
| 696 | 770 |
| 697 zip("${target_name}__zip") { | 771 group(final_target_name) { |
| 698 base_dir = invoker.grit_output_dir | 772 if (defined(invoker.visibility)) { |
| 699 inputs = rebase_path(invoker.generated_files, ".", base_dir) | 773 visibility = invoker.visibility |
| 700 output = resources_zip | 774 } |
| 701 } | |
| 702 | |
| 703 group(target_name) { | |
| 704 deps = [ | 775 deps = [ |
| 705 ":${target_name}__build_config", | 776 ":$zip_target_name", |
| 706 ":${target_name}__zip", | |
| 707 ] | 777 ] |
| 708 } | 778 } |
| 709 } | 779 } |
| 710 | 780 |
| 711 # Declare a Java executable target | 781 # Declare a Java executable target |
| 712 # | 782 # |
| 713 # This target creates an executable from java code and libraries. The executable | 783 # This target creates an executable from java code and libraries. The executable |
| 714 # will be in the output folder's /bin/ directory. | 784 # will be in the output folder's /bin/ directory. |
| 715 # | 785 # |
| 716 # Variables | 786 # Variables |
| 717 # deps: Specifies the dependencies of this target. Java targets in this list | 787 # deps: Specifies the dependencies of this target. Java targets in this list |
| 718 # will be included in the executable (and the javac classpath). | 788 # will be included in the executable (and the javac classpath). |
| 719 # | 789 # |
| 720 # java_files: List of .java files included in this library. | 790 # java_files: List of .java files included in this library. |
| 721 # srcjar_deps: List of srcjar dependencies. The .java files in the srcjars | 791 # srcjar_deps: List of srcjar dependencies. The .java files in the srcjars |
| 722 # will be added to java_files and be included in this library. | 792 # will be added to java_files and be included in this library. |
| 723 # srcjars: List of srcjars to be included in this library, together with the | 793 # srcjars: List of srcjars to be included in this library, together with the |
| 724 # ones obtained from srcjar_deps. | 794 # ones obtained from srcjar_deps. |
| 725 # | 795 # |
| 726 # bypass_platform_checks: Disables checks about cross-platform (Java/Android) | 796 # bypass_platform_checks: Disables checks about cross-platform (Java/Android) |
| 727 # dependencies for this target. This will allow depending on an | 797 # dependencies for this target. This will allow depending on an |
| 728 # android_library target, for example. | 798 # android_library target, for example. |
| 729 # | 799 # |
| 730 # chromium_code: If true, extra analysis warning/errors will be enabled. | 800 # chromium_code: If true, extra analysis warning/errors will be enabled. |
| 731 # | 801 # |
| 732 # datadeps, testonly | 802 # data_deps, testonly |
| 733 # | 803 # |
| 734 # Example | 804 # Example |
| 735 # java_binary("foo") { | 805 # java_binary("foo") { |
| 736 # java_files = [ "org/chromium/foo/FooMain.java" ] | 806 # java_files = [ "org/chromium/foo/FooMain.java" ] |
| 737 # deps = [ ":bar_java" ] | 807 # deps = [ ":bar_java" ] |
| 738 # main_class = "org.chromium.foo.FooMain" | 808 # main_class = "org.chromium.foo.FooMain" |
| 739 # } | 809 # } |
| 740 template("java_binary") { | 810 template("java_binary") { |
| 741 set_sources_assignment_filter([]) | 811 set_sources_assignment_filter([]) |
| 742 | 812 |
| 743 # TODO(cjhopman): This should not act like a java_library for dependents (i.e. | 813 # TODO(cjhopman): This should not act like a java_library for dependents (i.e. |
| 744 # dependents shouldn't get the jar in their classpath, etc.). | 814 # dependents shouldn't get the jar in their classpath, etc.). |
| 745 java_library_impl(target_name) { | 815 java_library_impl(target_name) { |
| 746 if (defined(invoker.DEPRECATED_java_in_dir)) { | 816 if (defined(invoker.DEPRECATED_java_in_dir)) { |
| 747 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir | 817 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir |
| 748 } | 818 } |
| 749 if (defined(invoker.chromium_code)) { | 819 if (defined(invoker.chromium_code)) { |
| 750 chromium_code = invoker.chromium_code | 820 chromium_code = invoker.chromium_code |
| 751 } | 821 } |
| 752 if (defined(invoker.datadeps)) { | 822 if (defined(invoker.data_deps)) { |
| 753 deps = invoker.datadeps | 823 deps = invoker.data_deps |
| 754 } | 824 } |
| 755 if (defined(invoker.deps)) { | 825 if (defined(invoker.deps)) { |
| 756 deps = invoker.deps | 826 deps = invoker.deps |
| 757 } | 827 } |
| 758 if (defined(invoker.java_files)) { | 828 if (defined(invoker.java_files)) { |
| 759 java_files = invoker.java_files | 829 java_files = invoker.java_files |
| 760 } | 830 } |
| 761 if (defined(invoker.srcjar_deps)) { | 831 if (defined(invoker.srcjar_deps)) { |
| 762 srcjar_deps = invoker.srcjar_deps | 832 srcjar_deps = invoker.srcjar_deps |
| 763 } | 833 } |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 856 # be used to remove unwanted parts of the library. | 926 # be used to remove unwanted parts of the library. |
| 857 # proguard_config: Path to the proguard config for preprocessing. | 927 # proguard_config: Path to the proguard config for preprocessing. |
| 858 # | 928 # |
| 859 # supports_android: If true, Android targets (android_library, android_apk) | 929 # supports_android: If true, Android targets (android_library, android_apk) |
| 860 # may depend on this target. Note: if true, this target must only use the | 930 # may depend on this target. Note: if true, this target must only use the |
| 861 # subset of Java available on Android. | 931 # subset of Java available on Android. |
| 862 # bypass_platform_checks: Disables checks about cross-platform (Java/Android) | 932 # bypass_platform_checks: Disables checks about cross-platform (Java/Android) |
| 863 # dependencies for this target. This will allow depending on an | 933 # dependencies for this target. This will allow depending on an |
| 864 # android_library target, for example. | 934 # android_library target, for example. |
| 865 # | 935 # |
| 866 # datadeps, testonly | 936 # data_deps, testonly |
| 867 # | 937 # |
| 868 # Example | 938 # Example |
| 869 # java_library("foo_java") { | 939 # java_library("foo_java") { |
| 870 # java_files = [ | 940 # java_files = [ |
| 871 # "org/chromium/foo/Foo.java", | 941 # "org/chromium/foo/Foo.java", |
| 872 # "org/chromium/foo/FooInterface.java", | 942 # "org/chromium/foo/FooInterface.java", |
| 873 # "org/chromium/foo/FooService.java", | 943 # "org/chromium/foo/FooService.java", |
| 874 # ] | 944 # ] |
| 875 # deps = [ | 945 # deps = [ |
| 876 # ":bar_java" | 946 # ":bar_java" |
| 877 # ] | 947 # ] |
| 878 # srcjar_deps = [ | 948 # srcjar_deps = [ |
| 879 # ":foo_generated_enum" | 949 # ":foo_generated_enum" |
| 880 # ] | 950 # ] |
| 881 # jar_excluded_patterns = [ | 951 # jar_excluded_patterns = [ |
| 882 # "*/FooService.class", "*/FooService##*.class" | 952 # "*/FooService.class", "*/FooService##*.class" |
| 883 # ] | 953 # ] |
| 884 # } | 954 # } |
| 885 template("java_library") { | 955 template("java_library") { |
| 886 set_sources_assignment_filter([]) | 956 set_sources_assignment_filter([]) |
| 887 java_library_impl(target_name) { | 957 java_library_impl(target_name) { |
| 888 if (defined(invoker.DEPRECATED_java_in_dir)) { | 958 if (defined(invoker.DEPRECATED_java_in_dir)) { |
| 889 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir | 959 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir |
| 890 } | 960 } |
| 891 if (defined(invoker.chromium_code)) { | 961 if (defined(invoker.chromium_code)) { |
| 892 chromium_code = invoker.chromium_code | 962 chromium_code = invoker.chromium_code |
| 893 } | 963 } |
| 894 if (defined(invoker.datadeps)) { | 964 if (defined(invoker.data_deps)) { |
| 895 deps = invoker.datadeps | 965 deps = invoker.data_deps |
| 896 } | 966 } |
| 897 if (defined(invoker.deps)) { | 967 if (defined(invoker.deps)) { |
| 898 deps = invoker.deps | 968 deps = invoker.deps |
| 899 } | 969 } |
| 900 if (defined(invoker.jar_excluded_patterns)) { | 970 if (defined(invoker.jar_excluded_patterns)) { |
| 901 jar_excluded_patterns = invoker.jar_excluded_patterns | 971 jar_excluded_patterns = invoker.jar_excluded_patterns |
| 902 } | 972 } |
| 903 if (defined(invoker.java_files)) { | 973 if (defined(invoker.java_files)) { |
| 904 java_files = invoker.java_files | 974 java_files = invoker.java_files |
| 905 } | 975 } |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1020 set_sources_assignment_filter([]) | 1090 set_sources_assignment_filter([]) |
| 1021 assert(!defined(invoker.jar_path), | 1091 assert(!defined(invoker.jar_path), |
| 1022 "android_library does not support a custom jar path") | 1092 "android_library does not support a custom jar path") |
| 1023 java_library_impl(target_name) { | 1093 java_library_impl(target_name) { |
| 1024 if (defined(invoker.DEPRECATED_java_in_dir)) { | 1094 if (defined(invoker.DEPRECATED_java_in_dir)) { |
| 1025 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir | 1095 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir |
| 1026 } | 1096 } |
| 1027 if (defined(invoker.chromium_code)) { | 1097 if (defined(invoker.chromium_code)) { |
| 1028 chromium_code = invoker.chromium_code | 1098 chromium_code = invoker.chromium_code |
| 1029 } | 1099 } |
| 1030 if (defined(invoker.datadeps)) { | 1100 if (defined(invoker.data_deps)) { |
| 1031 deps = invoker.datadeps | 1101 deps = invoker.data_deps |
| 1032 } | 1102 } |
| 1033 if (defined(invoker.deps)) { | 1103 if (defined(invoker.deps)) { |
| 1034 deps = invoker.deps | 1104 deps = invoker.deps |
| 1035 } | 1105 } |
| 1036 if (defined(invoker.jar_excluded_patterns)) { | 1106 if (defined(invoker.jar_excluded_patterns)) { |
| 1037 jar_excluded_patterns = invoker.jar_excluded_patterns | 1107 jar_excluded_patterns = invoker.jar_excluded_patterns |
| 1038 } | 1108 } |
| 1039 if (defined(invoker.java_files)) { | 1109 if (defined(invoker.java_files)) { |
| 1040 java_files = invoker.java_files | 1110 java_files = invoker.java_files |
| 1041 } | 1111 } |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1140 } | 1210 } |
| 1141 } | 1211 } |
| 1142 | 1212 |
| 1143 # Declare an Android apk target | 1213 # Declare an Android apk target |
| 1144 # | 1214 # |
| 1145 # This target creates an Android APK containing java code, resources, assets, | 1215 # This target creates an Android APK containing java code, resources, assets, |
| 1146 # and (possibly) native libraries. | 1216 # and (possibly) native libraries. |
| 1147 # | 1217 # |
| 1148 # Variables | 1218 # Variables |
| 1149 # android_manifest: Path to AndroidManifest.xml. | 1219 # android_manifest: Path to AndroidManifest.xml. |
| 1150 # datadeps: List of dependencies needed at runtime. These will be built but | 1220 # data_deps: List of dependencies needed at runtime. These will be built but |
| 1151 # won't change the generated .apk in any way (in fact they may be built | 1221 # won't change the generated .apk in any way (in fact they may be built |
| 1152 # after the .apk is). | 1222 # after the .apk is). |
| 1153 # deps: List of dependencies. All Android java resources and libraries in the | 1223 # deps: List of dependencies. All Android java resources and libraries in the |
| 1154 # "transitive closure" of these dependencies will be included in the apk. | 1224 # "transitive closure" of these dependencies will be included in the apk. |
| 1155 # Note: this "transitive closure" actually only includes such targets if | 1225 # Note: this "transitive closure" actually only includes such targets if |
| 1156 # they are depended on through android_library or android_resources targets | 1226 # they are depended on through android_library or android_resources targets |
| 1157 # (and so not through builtin targets like 'action', 'group', etc). | 1227 # (and so not through builtin targets like 'action', 'group', etc). |
| 1158 # java_files: List of .java files to include in the apk. | 1228 # java_files: List of .java files to include in the apk. |
| 1159 # srcjar_deps: List of srcjar dependencies. The .java files in the srcjars | 1229 # srcjar_deps: List of srcjar dependencies. The .java files in the srcjars |
| 1160 # will be added to java_files and be included in this apk. | 1230 # will be added to java_files and be included in this apk. |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1197 if (defined(invoker.testonly)) { | 1267 if (defined(invoker.testonly)) { |
| 1198 testonly = invoker.testonly | 1268 testonly = invoker.testonly |
| 1199 } | 1269 } |
| 1200 | 1270 |
| 1201 assert(defined(invoker.final_apk_path) || defined(invoker.apk_name)) | 1271 assert(defined(invoker.final_apk_path) || defined(invoker.apk_name)) |
| 1202 assert(defined(invoker.android_manifest)) | 1272 assert(defined(invoker.android_manifest)) |
| 1203 gen_dir = "$target_gen_dir/$target_name" | 1273 gen_dir = "$target_gen_dir/$target_name" |
| 1204 base_path = "$gen_dir/$target_name" | 1274 base_path = "$gen_dir/$target_name" |
| 1205 _build_config = "$target_gen_dir/$target_name.build_config" | 1275 _build_config = "$target_gen_dir/$target_name.build_config" |
| 1206 resources_zip_path = "$base_path.resources.zip" | 1276 resources_zip_path = "$base_path.resources.zip" |
| 1207 all_resources_zip_path = "$base_path.resources.all.zip" | 1277 _all_resources_zip_path = "$base_path.resources.all.zip" |
| 1208 jar_path = "$base_path.jar" | 1278 jar_path = "$base_path.jar" |
| 1279 _template_name = target_name |
| 1280 |
| 1209 final_dex_path = "$gen_dir/classes.dex" | 1281 final_dex_path = "$gen_dir/classes.dex" |
| 1210 _template_name = target_name | 1282 final_dex_target_name = "${_template_name}__final_dex" |
| 1283 |
| 1211 _final_apk_path = "" | 1284 _final_apk_path = "" |
| 1212 if (defined(invoker.final_apk_path)) { | 1285 if (defined(invoker.final_apk_path)) { |
| 1213 _final_apk_path = invoker.final_apk_path | 1286 _final_apk_path = invoker.final_apk_path |
| 1214 } else if (defined(invoker.apk_name)) { | 1287 } else if (defined(invoker.apk_name)) { |
| 1215 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" | 1288 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" |
| 1216 } | 1289 } |
| 1217 _dist_jar_path_list = | 1290 _dist_jar_path_list = |
| 1218 process_file_template( | 1291 process_file_template( |
| 1219 [ _final_apk_path ], | 1292 [ _final_apk_path ], |
| 1220 "$root_build_dir/test.lib.java/{{source_name_part}}.jar") | 1293 "$root_build_dir/test.lib.java/{{source_name_part}}.jar") |
| 1221 _dist_jar_path = _dist_jar_path_list[0] | 1294 _dist_jar_path = _dist_jar_path_list[0] |
| 1222 | 1295 |
| 1223 _native_libs = [] | 1296 _native_libs = [] |
| 1224 | 1297 |
| 1298 _version_code = "1" |
| 1299 if (defined(invoker.version_code)) { |
| 1300 _version_code = invoker.version_code |
| 1301 } |
| 1302 |
| 1303 _version_name = "Developer Build" |
| 1304 if (defined(invoker.version_name)) { |
| 1305 _version_name = invoker.version_name |
| 1306 } |
| 1225 _keystore_path = android_default_keystore_path | 1307 _keystore_path = android_default_keystore_path |
| 1226 _keystore_name = android_default_keystore_name | 1308 _keystore_name = android_default_keystore_name |
| 1227 _keystore_password = android_default_keystore_password | 1309 _keystore_password = android_default_keystore_password |
| 1228 | 1310 |
| 1229 if (defined(invoker.keystore_path)) { | 1311 if (defined(invoker.keystore_path)) { |
| 1230 _keystore_path = invoker.keystore_path | 1312 _keystore_path = invoker.keystore_path |
| 1231 _keystore_name = invoker.keystore_name | 1313 _keystore_name = invoker.keystore_name |
| 1232 _keystore_password = invoker.keystore_password | 1314 _keystore_password = invoker.keystore_password |
| 1233 } | 1315 } |
| 1234 | 1316 |
| 1235 _srcjar_deps = [] | 1317 _srcjar_deps = [] |
| 1236 if (defined(invoker.srcjar_deps)) { | 1318 if (defined(invoker.srcjar_deps)) { |
| 1237 _srcjar_deps += invoker.srcjar_deps | 1319 _srcjar_deps += invoker.srcjar_deps |
| 1238 } | 1320 } |
| 1239 | 1321 |
| 1240 _load_library_from_apk = false | 1322 _load_library_from_apk = false |
| 1241 | 1323 |
| 1324 # The dependency that makes the chromium linker, if any is needed. |
| 1325 _chromium_linker_dep = [] |
| 1326 |
| 1242 if (defined(invoker.native_libs)) { | 1327 if (defined(invoker.native_libs)) { |
| 1243 _use_chromium_linker = false | 1328 _use_chromium_linker = false |
| 1244 if (defined(invoker.use_chromium_linker)) { | 1329 if (defined(invoker.use_chromium_linker)) { |
| 1245 _use_chromium_linker = | 1330 _use_chromium_linker = |
| 1246 invoker.use_chromium_linker && chromium_linker_supported | 1331 invoker.use_chromium_linker && chromium_linker_supported |
| 1332 _chromium_linker_dep = [ "//base/android/linker:chromium_android_linker" ] |
| 1247 } | 1333 } |
| 1248 | 1334 |
| 1249 if (defined(invoker.load_library_from_apk) && | 1335 if (defined(invoker.load_library_from_apk) && |
| 1250 invoker.load_library_from_apk) { | 1336 invoker.load_library_from_apk) { |
| 1251 _load_library_from_apk = true | 1337 _load_library_from_apk = true |
| 1252 assert(_use_chromium_linker, | 1338 assert(_use_chromium_linker, |
| 1253 "Loading library from the apk requires use" + | 1339 "Loading library from the apk requires use" + |
| 1254 " of the Chromium linker.") | 1340 " of the Chromium linker.") |
| 1255 } | 1341 } |
| 1256 | 1342 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1280 } | 1366 } |
| 1281 | 1367 |
| 1282 _native_lib_version_name = "" | 1368 _native_lib_version_name = "" |
| 1283 if (defined(invoker.native_lib_version_name)) { | 1369 if (defined(invoker.native_lib_version_name)) { |
| 1284 _native_lib_version_name = invoker.native_lib_version_name | 1370 _native_lib_version_name = invoker.native_lib_version_name |
| 1285 } | 1371 } |
| 1286 } | 1372 } |
| 1287 | 1373 |
| 1288 _android_manifest = invoker.android_manifest | 1374 _android_manifest = invoker.android_manifest |
| 1289 _rebased_build_config = rebase_path(_build_config, root_build_dir) | 1375 _rebased_build_config = rebase_path(_build_config, root_build_dir) |
| 1376 _create_abi_split = |
| 1377 defined(invoker.create_abi_split) && invoker.create_abi_split |
| 1378 _create_density_splits = |
| 1379 defined(invoker.create_density_splits) && invoker.create_density_splits |
| 1290 | 1380 |
| 1291 write_build_config("${_template_name}__build_config") { | 1381 # Help GN understand that _create_abi_split is not unused (bug in GN). |
| 1382 assert(_create_abi_split || true) |
| 1383 |
| 1384 build_config_target = "${_template_name}__build_config" |
| 1385 write_build_config(build_config_target) { |
| 1292 type = "android_apk" | 1386 type = "android_apk" |
| 1293 dex_path = final_dex_path | 1387 dex_path = final_dex_path |
| 1294 resources_zip = resources_zip_path | 1388 resources_zip = resources_zip_path |
| 1295 build_config = _build_config | 1389 build_config = _build_config |
| 1296 android_manifest = _android_manifest | 1390 android_manifest = _android_manifest |
| 1297 | 1391 |
| 1392 deps = _chromium_linker_dep |
| 1298 if (defined(invoker.deps)) { | 1393 if (defined(invoker.deps)) { |
| 1299 deps = invoker.deps | 1394 deps += invoker.deps |
| 1300 } | 1395 } |
| 1301 | 1396 |
| 1302 if (defined(invoker.apk_under_test)) { | 1397 if (defined(invoker.apk_under_test)) { |
| 1303 apk_under_test = invoker.apk_under_test | 1398 apk_under_test = invoker.apk_under_test |
| 1304 } | 1399 } |
| 1305 | 1400 |
| 1306 native_libs = _native_libs | 1401 native_libs = _native_libs |
| 1307 } | 1402 } |
| 1308 | 1403 |
| 1309 final_deps = [] | 1404 final_deps = [] |
| 1310 | 1405 |
| 1311 final_deps += [ ":${_template_name}__process_resources" ] | 1406 process_resources_target = "${_template_name}__process_resources" |
| 1312 process_resources("${_template_name}__process_resources") { | 1407 final_deps += [ ":$process_resources_target" ] |
| 1408 process_resources(process_resources_target) { |
| 1313 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" | 1409 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" |
| 1314 r_text_path = "${target_gen_dir}/${target_name}_R.txt" | 1410 r_text_path = "${target_gen_dir}/${target_name}_R.txt" |
| 1315 android_manifest = _android_manifest | 1411 android_manifest = _android_manifest |
| 1316 resource_dirs = [ "//build/android/ant/empty/res" ] | 1412 resource_dirs = [ "//build/android/ant/empty/res" ] |
| 1317 zip_path = resources_zip_path | 1413 zip_path = resources_zip_path |
| 1414 all_resources_zip_path = _all_resources_zip_path |
| 1318 generate_constant_ids = true | 1415 generate_constant_ids = true |
| 1319 build_config = _build_config | |
| 1320 | 1416 |
| 1321 if (defined(invoker.include_all_resources)) { | 1417 if (defined(invoker.include_all_resources)) { |
| 1322 include_all_resources = invoker.include_all_resources | 1418 include_all_resources = invoker.include_all_resources |
| 1323 } | 1419 } |
| 1420 |
| 1421 build_config = _build_config |
| 1422 deps = [ |
| 1423 ":$build_config_target", |
| 1424 ] |
| 1425 if (defined(invoker.deps)) { |
| 1426 deps += invoker.deps |
| 1427 } |
| 1324 } | 1428 } |
| 1325 _srcjar_deps += [ ":${_template_name}__process_resources" ] | 1429 _srcjar_deps += [ ":$process_resources_target" ] |
| 1326 | 1430 |
| 1327 if (_native_libs != []) { | 1431 if (_native_libs != []) { |
| 1328 _enable_chromium_linker_tests = false | 1432 _enable_chromium_linker_tests = false |
| 1329 if (defined(invoker.enable_chromium_linker_tests)) { | 1433 if (defined(invoker.enable_chromium_linker_tests)) { |
| 1330 _enable_chromium_linker_tests = invoker.enable_chromium_linker_tests | 1434 _enable_chromium_linker_tests = invoker.enable_chromium_linker_tests |
| 1331 } | 1435 } |
| 1332 | 1436 |
| 1333 java_cpp_template("${_template_name}__native_libraries_java") { | 1437 java_cpp_template("${_template_name}__native_libraries_java") { |
| 1334 package_name = "org/chromium/base/library_loader" | 1438 package_name = "org/chromium/base/library_loader" |
| 1335 sources = [ | 1439 sources = [ |
| 1336 "//base/android/java/templates/NativeLibraries.template", | 1440 "//base/android/java/templates/NativeLibraries.template", |
| 1337 ] | 1441 ] |
| 1338 inputs = [ | 1442 inputs = [ |
| 1339 _build_config, | 1443 _build_config, |
| 1340 ] | 1444 ] |
| 1445 deps = [ |
| 1446 ":$build_config_target", |
| 1447 ] |
| 1341 | 1448 |
| 1342 defines = [ | 1449 defines = [ |
| 1343 "NATIVE_LIBRARIES_LIST=" + | 1450 "NATIVE_LIBRARIES_LIST=" + |
| 1344 "@FileArg($_rebased_build_config:native:java_libraries_list)", | 1451 "@FileArg($_rebased_build_config:native:java_libraries_list)", |
| 1345 "NATIVE_LIBRARIES_VERSION_NUMBER=\"$_native_lib_version_name\"", | 1452 "NATIVE_LIBRARIES_VERSION_NUMBER=\"$_native_lib_version_name\"", |
| 1346 ] | 1453 ] |
| 1347 if (_use_chromium_linker) { | 1454 if (_use_chromium_linker) { |
| 1348 defines += [ "ENABLE_CHROMIUM_LINKER" ] | 1455 defines += [ "ENABLE_CHROMIUM_LINKER" ] |
| 1349 } | 1456 } |
| 1350 if (_load_library_from_apk) { | 1457 if (_load_library_from_apk) { |
| 1351 defines += [ "ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE" ] | 1458 defines += [ "ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE" ] |
| 1352 } | 1459 } |
| 1353 if (_enable_chromium_linker_tests) { | 1460 if (_enable_chromium_linker_tests) { |
| 1354 defines += [ "ENABLE_CHROMIUM_LINKER_TESTS" ] | 1461 defines += [ "ENABLE_CHROMIUM_LINKER_TESTS" ] |
| 1355 } | 1462 } |
| 1356 } | 1463 } |
| 1357 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ] | 1464 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ] |
| 1358 } | 1465 } |
| 1359 | 1466 |
| 1360 final_deps += [ ":${_template_name}__java" ] | 1467 java_target = "${_template_name}__java" |
| 1361 java_library_impl("${_template_name}__java") { | 1468 final_deps += [ ":$java_target" ] |
| 1469 java_library_impl(java_target) { |
| 1362 supports_android = true | 1470 supports_android = true |
| 1363 requires_android = true | 1471 requires_android = true |
| 1364 override_build_config = _build_config | 1472 override_build_config = _build_config |
| 1473 deps = [ |
| 1474 ":$build_config_target", |
| 1475 ] |
| 1476 |
| 1365 android_manifest = _android_manifest | 1477 android_manifest = _android_manifest |
| 1366 chromium_code = true | 1478 chromium_code = true |
| 1367 if (defined(invoker.java_files)) { | 1479 if (defined(invoker.java_files)) { |
| 1368 java_files = invoker.java_files | 1480 java_files = invoker.java_files |
| 1369 } else if (defined(invoker.DEPRECATED_java_in_dir)) { | 1481 } else if (defined(invoker.DEPRECATED_java_in_dir)) { |
| 1370 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir | 1482 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir |
| 1371 } else { | 1483 } else { |
| 1372 java_files = [] | 1484 java_files = [] |
| 1373 } | 1485 } |
| 1374 srcjar_deps = _srcjar_deps | 1486 srcjar_deps = _srcjar_deps |
| 1375 dex_path = base_path + ".dex.jar" | 1487 dex_path = base_path + ".dex.jar" |
| 1488 |
| 1489 if (defined(invoker.deps)) { |
| 1490 deps += invoker.deps |
| 1491 } |
| 1376 } | 1492 } |
| 1377 | 1493 |
| 1378 if (_dist_jar_path != "") { | 1494 if (_dist_jar_path != "") { |
| 1379 final_deps += [ ":${_template_name}__create_dist_jar" ] | 1495 create_dist_target = "${_template_name}__create_dist_jar" |
| 1496 final_deps += [ ":$create_dist_target" ] |
| 1380 | 1497 |
| 1381 # TODO(cjhopman): This is only ever needed to calculate the list of tests to | 1498 # TODO(cjhopman): This is only ever needed to calculate the list of tests to |
| 1382 # run. See build/android/pylib/instrumentation/test_jar.py. We should be | 1499 # run. See build/android/pylib/instrumentation/test_jar.py. We should be |
| 1383 # able to just do that calculation at build time instead. | 1500 # able to just do that calculation at build time instead. |
| 1384 action("${_template_name}__create_dist_jar") { | 1501 action(create_dist_target) { |
| 1385 script = "//build/android/gyp/create_dist_jar.py" | 1502 script = "//build/android/gyp/create_dist_jar.py" |
| 1386 depfile = "$target_gen_dir/$target_name.d" | 1503 depfile = "$target_gen_dir/$target_name.d" |
| 1387 inputs = [ | 1504 inputs = [ |
| 1388 _build_config, | 1505 _build_config, |
| 1389 ] | 1506 ] |
| 1390 outputs = [ | 1507 outputs = [ |
| 1391 depfile, | 1508 depfile, |
| 1392 _dist_jar_path, | 1509 _dist_jar_path, |
| 1393 ] | 1510 ] |
| 1394 args = [ | 1511 args = [ |
| 1395 "--depfile", | 1512 "--depfile", |
| 1396 rebase_path(depfile, root_build_dir), | 1513 rebase_path(depfile, root_build_dir), |
| 1397 "--output", | 1514 "--output", |
| 1398 rebase_path(_dist_jar_path, root_build_dir), | 1515 rebase_path(_dist_jar_path, root_build_dir), |
| 1399 "--inputs=@FileArg($_rebased_build_config:dist_jar:dependency_jars)", | 1516 "--inputs=@FileArg($_rebased_build_config:dist_jar:dependency_jars)", |
| 1400 ] | 1517 ] |
| 1401 inputs += [ jar_path ] | 1518 inputs += [ jar_path ] |
| 1402 _rebased_jar_path = rebase_path([ jar_path ], root_build_dir) | 1519 _rebased_jar_path = rebase_path([ jar_path ], root_build_dir) |
| 1403 args += [ "--inputs=$_rebased_jar_path" ] | 1520 args += [ "--inputs=$_rebased_jar_path" ] |
| 1521 deps = [ |
| 1522 ":$build_config_target", # Generates the build config file. |
| 1523 ":$java_target", # Generates the jar file. |
| 1524 ] |
| 1404 } | 1525 } |
| 1405 } | 1526 } |
| 1406 | 1527 |
| 1407 final_deps += [ ":${_template_name}__final_dex" ] | 1528 final_deps += [ ":$final_dex_target_name" ] |
| 1408 dex("${_template_name}__final_dex") { | 1529 dex("$final_dex_target_name") { |
| 1409 deps = [ | 1530 deps = [ |
| 1410 ":${_template_name}__java", | 1531 ":$build_config_target", |
| 1532 ":$java_target", |
| 1411 ] | 1533 ] |
| 1412 sources = [ | 1534 sources = [ |
| 1413 jar_path, | 1535 jar_path, |
| 1414 ] | 1536 ] |
| 1415 inputs = [ | 1537 inputs = [ |
| 1416 _build_config, | 1538 _build_config, |
| 1417 ] | 1539 ] |
| 1418 output = final_dex_path | 1540 output = final_dex_path |
| 1419 dex_arg_key = "${_rebased_build_config}:final_dex:dependency_dex_files" | 1541 dex_arg_key = "${_rebased_build_config}:final_dex:dependency_dex_files" |
| 1420 args = [ "--inputs=@FileArg($dex_arg_key)" ] | 1542 args = [ "--inputs=@FileArg($dex_arg_key)" ] |
| 1421 } | 1543 } |
| 1422 | 1544 |
| 1423 if (_native_libs != []) { | 1545 if (_native_libs != []) { |
| 1424 action("${_template_name}__prepare_native") { | 1546 action("${_template_name}__prepare_native") { |
| 1425 script = "//build/android/gyp/pack_arm_relocations.py" | 1547 script = "//build/android/gyp/pack_arm_relocations.py" |
| 1426 packed_libraries_dir = "$_native_libs_dir/$android_app_abi" | 1548 packed_libraries_dir = "$_native_libs_dir/$android_app_abi" |
| 1427 depfile = "$target_gen_dir/$target_name.d" | 1549 depfile = "$target_gen_dir/$target_name.d" |
| 1428 outputs = [ | 1550 outputs = [ |
| 1429 depfile, | 1551 depfile, |
| 1430 ] | 1552 ] |
| 1431 inputs = [ _build_config ] + _native_libs | 1553 |
| 1432 deps = [] | 1554 inputs = _native_libs |
| 1555 deps = _chromium_linker_dep |
| 1556 |
| 1557 inputs += [ _build_config ] |
| 1558 deps += [ ":$build_config_target" ] |
| 1559 |
| 1433 skip_packing_list = [ | 1560 skip_packing_list = [ |
| 1434 "gdbserver", | 1561 "gdbserver", |
| 1435 "libchromium_android_linker.so", | 1562 "libchromium_android_linker.so", |
| 1436 ] | 1563 ] |
| 1437 | 1564 |
| 1438 enable_packing_arg = 0 | 1565 enable_packing_arg = 0 |
| 1439 if (_enable_relocation_packing) { | 1566 if (_enable_relocation_packing) { |
| 1440 enable_packing_arg = 1 | 1567 enable_packing_arg = 1 |
| 1441 deps += [ relocation_packer_target ] | 1568 deps += [ relocation_packer_target ] |
| 1442 } | 1569 } |
| 1443 | 1570 |
| 1444 args = [ | 1571 args = [ |
| 1445 "--depfile", | 1572 "--depfile", |
| 1446 rebase_path(depfile, root_build_dir), | 1573 rebase_path(depfile, root_build_dir), |
| 1447 "--enable-packing=$enable_packing_arg", | 1574 "--enable-packing=$enable_packing_arg", |
| 1448 "--has-relocations-with-addends=$relocations_have_addends", | |
| 1449 "--exclude-packing-list=$skip_packing_list", | 1575 "--exclude-packing-list=$skip_packing_list", |
| 1450 "--android-pack-relocations", | 1576 "--android-pack-relocations", |
| 1451 rebase_path(relocation_packer_exe, root_build_dir), | 1577 rebase_path(relocation_packer_exe, root_build_dir), |
| 1452 "--android-objcopy", | |
| 1453 rebase_path(android_objcopy, root_build_dir), | |
| 1454 "--stripped-libraries-dir", | 1578 "--stripped-libraries-dir", |
| 1455 rebase_path(root_build_dir, root_build_dir), | 1579 rebase_path(root_build_dir, root_build_dir), |
| 1456 "--packed-libraries-dir", | 1580 "--packed-libraries-dir", |
| 1457 rebase_path(packed_libraries_dir, root_build_dir), | 1581 rebase_path(packed_libraries_dir, root_build_dir), |
| 1458 "--libraries=@FileArg(${_rebased_build_config}:native:libraries)", | 1582 "--libraries=@FileArg(${_rebased_build_config}:native:libraries)", |
| 1459 "--clear-dir", | 1583 "--clear-dir", |
| 1460 ] | 1584 ] |
| 1461 | 1585 |
| 1586 if (defined(invoker.deps)) { |
| 1587 deps += invoker.deps |
| 1588 } |
| 1589 if (defined(invoker.public_deps)) { |
| 1590 public_deps = invoker.public_deps |
| 1591 } |
| 1592 if (defined(invoker.data_deps)) { |
| 1593 data_deps = invoker.data_deps |
| 1594 } |
| 1595 |
| 1462 if (is_debug) { | 1596 if (is_debug) { |
| 1463 rebased_gdbserver = rebase_path([ android_gdbserver ], root_build_dir) | 1597 rebased_gdbserver = rebase_path([ android_gdbserver ], root_build_dir) |
| 1464 inputs += [ android_gdbserver ] | 1598 inputs += [ android_gdbserver ] |
| 1465 args += [ "--libraries=$rebased_gdbserver" ] | 1599 args += [ "--libraries=$rebased_gdbserver" ] |
| 1466 } | 1600 } |
| 1467 } | 1601 } |
| 1468 } | 1602 } |
| 1469 | 1603 |
| 1470 final_deps += [ ":${_template_name}__create" ] | 1604 final_deps += [ ":${_template_name}__create" ] |
| 1471 create_apk("${_template_name}__create") { | 1605 create_apk("${_template_name}__create") { |
| 1472 apk_path = _final_apk_path | 1606 apk_path = _final_apk_path |
| 1473 android_manifest = _android_manifest | 1607 android_manifest = _android_manifest |
| 1474 resources_zip = all_resources_zip_path | 1608 resources_zip = _all_resources_zip_path |
| 1475 dex_path = final_dex_path | 1609 dex_path = final_dex_path |
| 1476 load_library_from_apk = _load_library_from_apk | 1610 load_library_from_apk = _load_library_from_apk |
| 1611 create_density_splits = _create_density_splits |
| 1477 | 1612 |
| 1478 version_code = "1" | 1613 version_code = _version_code |
| 1479 if (defined(invoker.version_code)) { | 1614 version_name = _version_name |
| 1480 version_code = invoker.version_code | |
| 1481 } | |
| 1482 | |
| 1483 version_name = "Developer Build" | |
| 1484 if (defined(invoker.version_name)) { | |
| 1485 version_name = invoker.version_name | |
| 1486 } | |
| 1487 | 1615 |
| 1488 keystore_name = _keystore_name | 1616 keystore_name = _keystore_name |
| 1489 keystore_path = _keystore_path | 1617 keystore_path = _keystore_path |
| 1490 keystore_password = _keystore_password | 1618 keystore_password = _keystore_password |
| 1491 | 1619 |
| 1492 deps = [] | 1620 # This target generates the input file _all_resources_zip_path. |
| 1621 deps = [ |
| 1622 ":$process_resources_target", |
| 1623 ":$final_dex_target_name", |
| 1624 ] |
| 1625 if (defined(invoker.deps)) { |
| 1626 deps += invoker.deps |
| 1627 } |
| 1628 |
| 1493 if (defined(invoker.asset_location)) { | 1629 if (defined(invoker.asset_location)) { |
| 1494 asset_location = invoker.asset_location | 1630 asset_location = invoker.asset_location |
| 1495 | 1631 |
| 1496 # We don't know the exact dependencies that create the assets in | 1632 # We don't know the exact dependencies that create the assets in |
| 1497 # |asset_location|; we depend on all caller deps until a better solution | 1633 # |asset_location|; we depend on all caller deps until a better solution |
| 1498 # is figured out (http://crbug.com/433330). | 1634 # is figured out (http://crbug.com/433330). |
| 1499 if (defined(invoker.deps)) { | 1635 if (defined(invoker.deps)) { |
| 1500 deps += invoker.deps | 1636 deps += invoker.deps |
| 1501 } | 1637 } |
| 1502 } | 1638 } |
| 1503 | 1639 |
| 1504 if (_native_libs != []) { | 1640 if (_native_libs != [] && !_create_abi_split) { |
| 1505 native_libs_dir = _native_libs_dir | 1641 native_libs_dir = _native_libs_dir |
| 1506 deps += [ ":${_template_name}__prepare_native" ] | 1642 deps += [ ":${_template_name}__prepare_native" ] |
| 1507 } | 1643 } |
| 1508 } | 1644 } |
| 1509 | 1645 |
| 1646 if (_native_libs != [] && _create_abi_split) { |
| 1647 _manifest_rule = "${_template_name}__split_manifest_abi_${android_app_abi}" |
| 1648 generate_split_manifest(_manifest_rule) { |
| 1649 main_manifest = _android_manifest |
| 1650 out_manifest = |
| 1651 "$gen_dir/split-manifests/${android_app_abi}/AndroidManifest.xml" |
| 1652 split_name = "abi_${android_app_abi}" |
| 1653 } |
| 1654 |
| 1655 _apk_rule = "${_template_name}__split_apk_abi_${android_app_abi}" |
| 1656 final_deps += [ ":$_apk_rule" ] |
| 1657 create_apk(_apk_rule) { |
| 1658 _split_paths = process_file_template( |
| 1659 [ _final_apk_path ], |
| 1660 "{{source_dir}}/{{source_name_part}}-abi-${android_app_abi}.apk") |
| 1661 apk_path = _split_paths[0] |
| 1662 base_path = "$gen_dir/$_apk_rule" |
| 1663 |
| 1664 manifest_outputs = get_target_outputs(":${_manifest_rule}") |
| 1665 android_manifest = manifest_outputs[1] |
| 1666 load_library_from_apk = _load_library_from_apk |
| 1667 |
| 1668 version_code = _version_code |
| 1669 version_name = _version_name |
| 1670 |
| 1671 keystore_name = _keystore_name |
| 1672 keystore_path = _keystore_path |
| 1673 keystore_password = _keystore_password |
| 1674 |
| 1675 native_libs_dir = _native_libs_dir |
| 1676 deps = [ |
| 1677 ":${_template_name}__prepare_native", |
| 1678 ] |
| 1679 } |
| 1680 } |
| 1681 |
| 1510 group(target_name) { | 1682 group(target_name) { |
| 1511 deps = final_deps | 1683 deps = final_deps |
| 1512 if (defined(invoker.datadeps)) { | 1684 if (defined(invoker.data_deps)) { |
| 1513 datadeps = invoker.datadeps | 1685 data_deps = invoker.data_deps |
| 1514 } | 1686 } |
| 1515 } | 1687 } |
| 1516 } | 1688 } |
| 1689 |
| 1690 # Declare an Android instrumentation test apk |
| 1691 # |
| 1692 # This target creates an Android instrumentation test apk. |
| 1693 # |
| 1694 # Variables |
| 1695 # android_manifest: Path to AndroidManifest.xml. |
| 1696 # data_deps: List of dependencies needed at runtime. These will be built but |
| 1697 # won't change the generated .apk in any way (in fact they may be built |
| 1698 # after the .apk is). |
| 1699 # deps: List of dependencies. All Android java resources and libraries in the |
| 1700 # "transitive closure" of these dependencies will be included in the apk. |
| 1701 # Note: this "transitive closure" actually only includes such targets if |
| 1702 # they are depended on through android_library or android_resources targets |
| 1703 # (and so not through builtin targets like 'action', 'group', etc). |
| 1704 # java_files: List of .java files to include in the apk. |
| 1705 # srcjar_deps: List of srcjar dependencies. The .java files in the srcjars |
| 1706 # will be added to java_files and be included in this apk. |
| 1707 # apk_name: Name for final apk. |
| 1708 # final_apk_path: Path to final built apk. Default is |
| 1709 # $root_out_dir/apks/$apk_name.apk. Setting this will override apk_name. |
| 1710 # native_libs: List paths of native libraries to include in this apk. If these |
| 1711 # libraries depend on other shared_library targets, those dependencies will |
| 1712 # also be included in the apk. |
| 1713 # apk_under_test: The apk being tested. |
| 1714 # isolate_file: Isolate file containing the list of test data dependencies. |
| 1715 # |
| 1716 # DEPRECATED_java_in_dir: Directory containing java files. All .java files in |
| 1717 # this directory will be included in the library. This is only supported to |
| 1718 # ease the gyp->gn conversion and will be removed in the future. |
| 1719 # |
| 1720 # Example |
| 1721 # instrumentation_test_apk("foo_test_apk") { |
| 1722 # android_manifest = "AndroidManifest.xml" |
| 1723 # apk_name = "FooTest" |
| 1724 # apk_under_test = "Foo" |
| 1725 # java_files = [ |
| 1726 # "android/org/chromium/foo/FooTestCase.java", |
| 1727 # "android/org/chromium/foo/FooExampleTest.java", |
| 1728 # ] |
| 1729 # deps = [ |
| 1730 # ":foo_test_support_java" |
| 1731 # ] |
| 1732 # } |
| 1733 template("instrumentation_test_apk") { |
| 1734 set_sources_assignment_filter([]) |
| 1735 testonly = true |
| 1736 _template_name = target_name |
| 1737 |
| 1738 if (defined(invoker.apk_name)) { |
| 1739 test_runner_data_dep = [ ":${_template_name}__test_runner_script" ] |
| 1740 test_runner_script("${_template_name}__test_runner_script") { |
| 1741 test_name = invoker.target_name |
| 1742 test_type = "instrumentation" |
| 1743 test_apk = invoker.apk_name |
| 1744 if (defined(invoker.isolate_file)) { |
| 1745 isolate_file = invoker.isolate_file |
| 1746 } |
| 1747 } |
| 1748 } |
| 1749 |
| 1750 android_apk(target_name) { |
| 1751 if (defined(invoker.android_manifest)) { |
| 1752 android_manifest = invoker.android_manifest |
| 1753 } |
| 1754 data_deps = [ |
| 1755 "//testing/android/driver:driver_apk", |
| 1756 "//tools/android/forwarder2", |
| 1757 "//tools/android/md5sum", |
| 1758 ] |
| 1759 if (defined(test_runner_data_dep)) { |
| 1760 data_deps += test_runner_data_dep |
| 1761 } |
| 1762 if (defined(invoker.data_deps)) { |
| 1763 data_deps += invoker.data_deps |
| 1764 } |
| 1765 deps = [ |
| 1766 "//testing/android/broker:broker_java", |
| 1767 ] |
| 1768 if (defined(invoker.deps)) { |
| 1769 deps += invoker.deps |
| 1770 } |
| 1771 if (defined(invoker.java_files)) { |
| 1772 java_files = invoker.java_files |
| 1773 } |
| 1774 if (defined(invoker.srcjar_deps)) { |
| 1775 srcjar_deps = invoker.srcjar_deps |
| 1776 } |
| 1777 if (defined(invoker.apk_name)) { |
| 1778 apk_name = invoker.apk_name |
| 1779 } |
| 1780 if (defined(invoker.final_apk_path)) { |
| 1781 final_apk_path = invoker.final_apk_path |
| 1782 } |
| 1783 if (defined(invoker.native_libs)) { |
| 1784 native_libs = invoker.native_libs |
| 1785 } |
| 1786 if (defined(invoker.apk_under_test)) { |
| 1787 apk_under_test = invoker.apk_under_test |
| 1788 } |
| 1789 if (defined(invoker.DEPRECATED_java_in_dir)) { |
| 1790 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir |
| 1791 } |
| 1792 } |
| 1793 } |
| 1517 | 1794 |
| 1518 # Declare an Android gtest apk | 1795 # Declare an Android gtest apk |
| 1519 # | 1796 # |
| 1520 # This target creates an Android apk for running gtest-based unittests. | 1797 # This target creates an Android apk for running gtest-based unittests. |
| 1521 # | 1798 # |
| 1522 # Variables | 1799 # Variables |
| 1523 # deps: Specifies the dependencies of this target. These will be passed to | 1800 # deps: Specifies the dependencies of this target. These will be passed to |
| 1524 # the underlying android_apk invocation and should include the java and | 1801 # the underlying android_apk invocation and should include the java and |
| 1525 # resource dependencies of the apk. | 1802 # resource dependencies of the apk. |
| 1526 # unittests_dep: This should be the label of the gtest native target. This | 1803 # unittests_dep: This should be the label of the gtest native target. This |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1558 | 1835 |
| 1559 if (defined(invoker.apk_name)) { | 1836 if (defined(invoker.apk_name)) { |
| 1560 apk_name = invoker.apk_name | 1837 apk_name = invoker.apk_name |
| 1561 } else { | 1838 } else { |
| 1562 apk_name = test_suite_name | 1839 apk_name = test_suite_name |
| 1563 } | 1840 } |
| 1564 | 1841 |
| 1565 android_apk(target_name) { | 1842 android_apk(target_name) { |
| 1566 final_apk_path = "$root_build_dir/${apk_name}_apk/${apk_name}-debug.apk" | 1843 final_apk_path = "$root_build_dir/${apk_name}_apk/${apk_name}-debug.apk" |
| 1567 java_files = [ | 1844 java_files = [ |
| 1845 "//testing/android/native_test/java/src/org/chromium/native_test/NativeBro
wserTestActivity.java", |
| 1568 "//testing/android/native_test/java/src/org/chromium/native_test/NativeTes
tActivity.java", | 1846 "//testing/android/native_test/java/src/org/chromium/native_test/NativeTes
tActivity.java", |
| 1847 "//testing/android/native_test/java/src/org/chromium/native_test/NativeUni
tTestActivity.java", |
| 1569 "//testing/android/native_test/java/src/org/chromium/native_test/NativeTes
tInstrumentationTestRunner.java", | 1848 "//testing/android/native_test/java/src/org/chromium/native_test/NativeTes
tInstrumentationTestRunner.java", |
| 1570 ] | 1849 ] |
| 1571 android_manifest = "//testing/android/native_test/java/AndroidManifest.xml" | 1850 android_manifest = "//testing/android/native_test/java/AndroidManifest.xml" |
| 1572 native_libs = [ unittests_binary ] | 1851 native_libs = [ unittests_binary ] |
| 1573 if (defined(invoker.asset_location)) { | 1852 if (defined(invoker.asset_location)) { |
| 1574 asset_location = invoker.asset_location | 1853 asset_location = invoker.asset_location |
| 1575 } | 1854 } |
| 1576 deps = [ | 1855 deps = [ |
| 1577 "//base:base_java", | 1856 "//base:base_java", |
| 1578 "//build/android/pylib/remote/device/dummy:remote_device_dummy_apk", | 1857 "//build/android/pylib/remote/device/dummy:remote_device_dummy_apk", |
| 1579 "//testing/android/appurify_support:appurify_support_java", | 1858 "//testing/android/appurify_support:appurify_support_java", |
| 1580 ] | 1859 ] |
| 1581 if (defined(invoker.deps)) { | 1860 if (defined(invoker.deps)) { |
| 1582 deps += invoker.deps | 1861 deps += invoker.deps |
| 1583 } | 1862 } |
| 1584 datadeps = [ | 1863 data_deps = [ "//tools/android/md5sum" ] |
| 1585 "//tools/android/md5sum", | |
| 1586 ] | |
| 1587 if (host_os == "linux") { | 1864 if (host_os == "linux") { |
| 1588 datadeps += [ "//tools/android/forwarder2" ] | 1865 data_deps += [ "//tools/android/forwarder2" ] |
| 1589 } | 1866 } |
| 1590 if (defined(invoker.datadeps)) { | 1867 if (defined(invoker.data_deps)) { |
| 1591 datadeps += invoker.datadeps | 1868 data_deps += invoker.data_deps |
| 1592 } | 1869 } |
| 1593 } | 1870 } |
| 1594 } | 1871 } |
| 1595 | 1872 |
| 1596 # Generate .java files from .aidl files. | 1873 # Generate .java files from .aidl files. |
| 1597 # | 1874 # |
| 1598 # This target will store the .java files in a srcjar and should be included in | 1875 # This target will store the .java files in a srcjar and should be included in |
| 1599 # an android_library or android_apk's srcjar_deps. | 1876 # an android_library or android_apk's srcjar_deps. |
| 1600 # | 1877 # |
| 1601 # Variables | 1878 # Variables |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1680 # | 1957 # |
| 1681 # Variables | 1958 # Variables |
| 1682 # dist_dir: Directory for the exe and libraries. Everything in this directory | 1959 # dist_dir: Directory for the exe and libraries. Everything in this directory |
| 1683 # will be deleted before copying in the exe and libraries. | 1960 # will be deleted before copying in the exe and libraries. |
| 1684 # binary: Path to (stripped) executable. | 1961 # binary: Path to (stripped) executable. |
| 1685 # | 1962 # |
| 1686 # Example | 1963 # Example |
| 1687 # create_native_executable_dist("foo_dist") { | 1964 # create_native_executable_dist("foo_dist") { |
| 1688 # dist_dir = "$root_build_dir/foo_dist" | 1965 # dist_dir = "$root_build_dir/foo_dist" |
| 1689 # binary = "$root_build_dir/exe.stripped/foo" | 1966 # binary = "$root_build_dir/exe.stripped/foo" |
| 1967 # deps = [ ":the_thing_that_makes_foo" ] |
| 1690 # } | 1968 # } |
| 1691 template("create_native_executable_dist") { | 1969 template("create_native_executable_dist") { |
| 1692 set_sources_assignment_filter([]) | 1970 set_sources_assignment_filter([]) |
| 1693 if (defined(invoker.testonly)) { | 1971 if (defined(invoker.testonly)) { |
| 1694 testonly = invoker.testonly | 1972 testonly = invoker.testonly |
| 1695 } | 1973 } |
| 1696 | 1974 |
| 1697 dist_dir = invoker.dist_dir | 1975 dist_dir = invoker.dist_dir |
| 1698 binary = invoker.binary | 1976 binary = invoker.binary |
| 1699 final_deps = [] | |
| 1700 template_name = target_name | 1977 template_name = target_name |
| 1701 | 1978 |
| 1702 libraries_list = | 1979 libraries_list = |
| 1703 "${target_gen_dir}/${template_name}_library_dependencies.list" | 1980 "${target_gen_dir}/${template_name}_library_dependencies.list" |
| 1704 | 1981 |
| 1705 # TODO(gyp) | 1982 # TODO(gyp) |
| 1706 #'dependencies': [ | 1983 #'dependencies': [ |
| 1707 #'<(DEPTH)/build/android/setup.gyp:copy_system_libraries', | 1984 #'<(DEPTH)/build/android/setup.gyp:copy_system_libraries', |
| 1708 #], | 1985 #], |
| 1709 | 1986 |
| 1987 find_deps_target_name = "${template_name}__find_library_dependencies" |
| 1988 copy_target_name = "${template_name}__copy_libraries_and_exe" |
| 1989 |
| 1710 stripped_libraries_dir = "$root_build_dir/lib.stripped" | 1990 stripped_libraries_dir = "$root_build_dir/lib.stripped" |
| 1711 final_deps += [ ":${template_name}__find_library_dependencies" ] | 1991 action(find_deps_target_name) { |
| 1712 action("${template_name}__find_library_dependencies") { | 1992 visibility = [ ":$copy_target_name" ] |
| 1993 |
| 1713 script = "//build/android/gyp/write_ordered_libraries.py" | 1994 script = "//build/android/gyp/write_ordered_libraries.py" |
| 1714 depfile = "$target_gen_dir/$target_name.d" | 1995 depfile = "$target_gen_dir/$target_name.d" |
| 1715 inputs = [ | 1996 inputs = [ |
| 1716 binary, | 1997 binary, |
| 1717 android_readelf, | 1998 android_readelf, |
| 1718 ] | 1999 ] |
| 1719 outputs = [ | 2000 outputs = [ |
| 1720 depfile, | 2001 depfile, |
| 1721 libraries_list, | 2002 libraries_list, |
| 1722 ] | 2003 ] |
| 1723 rebased_binaries = rebase_path([ binary ], root_build_dir) | 2004 rebased_binaries = rebase_path([ binary ], root_build_dir) |
| 1724 args = [ | 2005 args = [ |
| 1725 "--depfile", | 2006 "--depfile", |
| 1726 rebase_path(depfile, root_build_dir), | 2007 rebase_path(depfile, root_build_dir), |
| 1727 "--input-libraries=$rebased_binaries", | 2008 "--input-libraries=$rebased_binaries", |
| 1728 "--libraries-dir", | 2009 "--libraries-dir", |
| 1729 rebase_path(stripped_libraries_dir, root_build_dir), | 2010 rebase_path(stripped_libraries_dir, root_build_dir), |
| 1730 "--output", | 2011 "--output", |
| 1731 rebase_path(libraries_list, root_build_dir), | 2012 rebase_path(libraries_list, root_build_dir), |
| 1732 "--readelf", | 2013 "--readelf", |
| 1733 rebase_path(android_readelf, root_build_dir), | 2014 rebase_path(android_readelf, root_build_dir), |
| 1734 ] | 2015 ] |
| 2016 if (defined(invoker.deps)) { |
| 2017 deps = invoker.deps |
| 2018 } |
| 1735 } | 2019 } |
| 1736 | 2020 |
| 1737 final_deps += [ ":${template_name}__copy_libraries_and_exe" ] | 2021 copy_ex(copy_target_name) { |
| 1738 copy_ex("${template_name}__copy_libraries_and_exe") { | 2022 visibility = [ ":$template_name" ] |
| 2023 |
| 1739 clear_dir = true | 2024 clear_dir = true |
| 1740 inputs = [ | 2025 inputs = [ |
| 1741 binary, | 2026 binary, |
| 1742 libraries_list, | 2027 libraries_list, |
| 1743 ] | 2028 ] |
| 1744 dest = dist_dir | 2029 dest = dist_dir |
| 1745 rebased_binaries_list = rebase_path([ binary ], root_build_dir) | 2030 rebased_binaries_list = rebase_path([ binary ], root_build_dir) |
| 1746 rebased_libraries_list = rebase_path(libraries_list, root_build_dir) | 2031 rebased_libraries_list = rebase_path(libraries_list, root_build_dir) |
| 1747 args = [ | 2032 args = [ |
| 1748 "--files=$rebased_binaries_list", | 2033 "--files=$rebased_binaries_list", |
| 1749 "--files=@FileArg($rebased_libraries_list:libraries)", | 2034 "--files=@FileArg($rebased_libraries_list:libraries)", |
| 1750 ] | 2035 ] |
| 2036 |
| 2037 deps = [ |
| 2038 ":$find_deps_target_name", |
| 2039 ] |
| 2040 if (defined(invoker.deps)) { |
| 2041 deps += invoker.deps |
| 2042 } |
| 1751 } | 2043 } |
| 1752 | 2044 |
| 1753 group(target_name) { | 2045 group(template_name) { |
| 1754 deps = final_deps | 2046 if (defined(invoker.visibility)) { |
| 2047 visibility = invoker.visibility |
| 2048 } |
| 2049 deps = [ |
| 2050 ":$copy_target_name", |
| 2051 ] |
| 1755 } | 2052 } |
| 1756 } | 2053 } |
| 1757 | 2054 |
| 1758 # Compile a protocol buffer to java. | 2055 # Compile a protocol buffer to java. |
| 1759 # | 2056 # |
| 1760 # This generates java files from protocol buffers and creates an Android library | 2057 # This generates java files from protocol buffers and creates an Android library |
| 1761 # containing the classes. | 2058 # containing the classes. |
| 1762 # | 2059 # |
| 1763 # Variables | 2060 # Variables |
| 1764 # sources: Paths to .proto files to compile. | 2061 # sources: Paths to .proto files to compile. |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1815 template("uiautomator_test") { | 2112 template("uiautomator_test") { |
| 1816 set_sources_assignment_filter([]) | 2113 set_sources_assignment_filter([]) |
| 1817 if (defined(invoker.testonly)) { | 2114 if (defined(invoker.testonly)) { |
| 1818 testonly = invoker.testonly | 2115 testonly = invoker.testonly |
| 1819 } | 2116 } |
| 1820 assert(target_name != "") | 2117 assert(target_name != "") |
| 1821 assert(invoker.deps != [] || true) | 2118 assert(invoker.deps != [] || true) |
| 1822 group(target_name) { | 2119 group(target_name) { |
| 1823 } | 2120 } |
| 1824 } | 2121 } |
| OLD | NEW |