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("//build/toolchain/toolchain.gni") | 7 import("//build/toolchain/toolchain.gni") |
8 | 8 |
9 assert(is_android) | 9 assert(is_android) |
10 | 10 |
(...skipping 2540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2551 | 2551 |
2552 android_library(target_name) { | 2552 android_library(target_name) { |
2553 chromium_code = false | 2553 chromium_code = false |
2554 java_files = [] | 2554 java_files = [] |
2555 srcjar_deps = [ ":${_template_name}__protoc_java" ] | 2555 srcjar_deps = [ ":${_template_name}__protoc_java" ] |
2556 deps = [ | 2556 deps = [ |
2557 "//third_party/android_protobuf:protobuf_nano_javalib", | 2557 "//third_party/android_protobuf:protobuf_nano_javalib", |
2558 ] | 2558 ] |
2559 } | 2559 } |
2560 } | 2560 } |
2561 | |
2562 # Declare an Android library target for a prebuilt AAR without resources. | |
2563 # | |
2564 # This target creates an Android library containing prebuilt jars. | |
2565 # | |
2566 # Variables | |
2567 # aar_path: Path to the AAR. | |
2568 # has_internal_jar: Whether the AAR contains internal_impl-XXX.jar. | |
2569 # Default to false. (Optional) | |
2570 # internal_jar_version: The version of the support library. This has to | |
agrieve
2016/07/15 14:34:41
I think you're supposed to treat all .jar files wi
Ian Wen
2016/07/17 02:08:09
Done. I used ToGNString() instead.
| |
2571 # be specified if has_internal_jar is true. (Optional) | |
2572 # | |
2573 # Example | |
2574 # android_aar_prebuilt_no_resource("foo_java") { | |
2575 # aar_path = "foo.aar" | |
2576 # has_internal_jar = true | |
2577 # internal_jar_version = "24.0.0" | |
2578 # } | |
2579 template("android_aar_prebuilt_no_resource") { | |
agrieve
2016/07/15 14:34:41
I don't think we need to have this as a separate t
Ian Wen
2016/07/17 02:08:09
Done.
| |
2580 assert(defined(invoker.aar_path)) | |
2581 forward_variables_from(invoker, | |
agrieve
2016/07/15 14:34:41
nit: Try to use forward_variables_from only when f
Ian Wen
2016/07/17 02:08:09
Done.
| |
2582 [ | |
2583 "aar_path", | |
2584 "has_internal_jar", | |
2585 "internal_jar_version", | |
2586 ]) | |
2587 if (!defined(has_internal_jar)) { | |
2588 has_internal_jar = false | |
2589 } | |
2590 if (has_internal_jar) { | |
2591 assert(defined(internal_jar_version)) | |
2592 _internal_jar_target_name = "${target_name}__internal_jar" | |
2593 } | |
2594 _output_path = "${target_gen_dir}/${target_name}" | |
2595 _unpack_target_name = "${target_name}__unpack_aar" | |
2596 _jar_target_name = "${target_name}__jar" | |
2597 | |
2598 action(_unpack_target_name) { | |
2599 script = "//build/android/gyp/aar.py" # Unzips the AAR | |
2600 args = [ | |
2601 "--input_file", | |
2602 rebase_path(aar_path, root_build_dir), | |
2603 "--output_dir", | |
2604 rebase_path(_output_path, root_build_dir), | |
2605 "--extract", | |
2606 ] | |
2607 inputs = [ | |
2608 aar_path, | |
2609 ] | |
2610 outputs = [ | |
2611 "${_output_path}/classes.jar", | |
2612 ] | |
2613 if (has_internal_jar) { | |
2614 outputs += | |
2615 [ "${_output_path}/libs/internal_impl-$internal_jar_version.jar" ] | |
2616 } | |
2617 } | |
2618 | |
2619 android_java_prebuilt(_jar_target_name) { | |
2620 forward_variables_from(invoker, [ "deps" ]) | |
2621 if (!defined(deps)) { | |
2622 deps = [] | |
2623 } | |
2624 deps += [ ":$_unpack_target_name" ] | |
2625 jar_path = "${_output_path}/classes.jar" | |
2626 } | |
2627 | |
2628 if (has_internal_jar) { | |
2629 android_java_prebuilt(_internal_jar_target_name) { | |
2630 forward_variables_from(invoker, [ "deps" ]) | |
2631 if (!defined(deps)) { | |
2632 deps = [] | |
2633 } | |
2634 deps += [ ":$_unpack_target_name" ] | |
2635 jar_path = | |
2636 "${_output_path}/libs/internal_impl-$internal_jar_version.jar" | |
2637 } | |
2638 } | |
2639 | |
2640 java_group(target_name) { | |
2641 deps = [ | |
2642 ":$_jar_target_name", | |
2643 ] | |
2644 if (has_internal_jar) { | |
2645 deps += [ ":$_internal_jar_target_name" ] | |
2646 } | |
2647 } | |
2648 } | |
2649 | |
2650 # Declare an Android library target for a prebuilt AAR with resources. | |
2651 # | |
2652 # This target creates an Android library containing java code and Android | |
2653 # resources. | |
2654 # | |
2655 # Variables | |
2656 # aar_path: Path to the AAR. | |
2657 # | |
2658 # Example | |
2659 # android_aar_prebuilt("foo_java") { | |
2660 # aar_path = "foo.aar" | |
2661 # } | |
2662 template("android_aar_prebuilt") { | |
2663 assert(defined(invoker.aar_path)) | |
2664 forward_variables_from(invoker, [ "aar_path" ]) | |
2665 _output_path = "${target_gen_dir}/${target_name}" | |
2666 _unpack_target_name = "${target_name}__unpack_aar" | |
2667 _jar_target_name = "${target_name}__jar" | |
2668 _res_target_name = "${target_name}__res" | |
2669 _res_files = [] | |
2670 | |
2671 action(_unpack_target_name) { | |
2672 script = "//build/android/gyp/aar.py" # Unzips the AAR | |
2673 args = [ | |
2674 "--input_file", | |
2675 rebase_path(aar_path, root_build_dir), | |
2676 "--output_dir", | |
2677 rebase_path(_output_path, root_build_dir), | |
2678 "--extract", | |
2679 ] | |
2680 inputs = [ | |
2681 aar_path, | |
2682 ] | |
2683 outputs = [ | |
2684 "${_output_path}/AndroidManifest.xml", | |
2685 "${_output_path}/classes.jar", | |
2686 "${_output_path}/R.txt", | |
2687 ] | |
2688 _res_files += exec_script("//build/android/gyp/aar.py", | |
2689 [ | |
2690 "--input_file", | |
2691 rebase_path(aar_path, root_build_dir), | |
2692 "--output_dir", | |
2693 rebase_path(_output_path, root_build_dir), | |
2694 "--list_res", | |
2695 ], | |
2696 "list lines") | |
2697 outputs += | |
2698 get_path_info(rebase_path(_res_files, "", root_out_dir), "abspath") | |
agrieve
2016/07/15 14:34:41
The get_path_info part of this is unnecessary I th
Ian Wen
2016/07/17 02:08:09
I tried to remove get_path_info but with no luck.
| |
2699 } | |
2700 | |
2701 android_java_prebuilt(_jar_target_name) { | |
2702 forward_variables_from(invoker, [ "deps" ]) | |
2703 if (!defined(deps)) { | |
2704 deps = [] | |
2705 } | |
2706 deps += [ ":$_unpack_target_name" ] | |
2707 jar_path = "${_output_path}/classes.jar" | |
2708 } | |
2709 | |
2710 android_resources(_res_target_name) { | |
2711 forward_variables_from(invoker, | |
2712 [ | |
2713 "custom_package", | |
2714 "deps", | |
2715 ]) | |
2716 if (!defined(deps)) { | |
2717 deps = [] | |
2718 } | |
2719 deps += [ ":$_unpack_target_name" ] | |
2720 resource_dirs = [] | |
2721 generated_resource_dirs = [ "${_output_path}/res" ] | |
2722 generated_resource_files = _res_files | |
2723 android_manifest_dep = ":$_unpack_target_name" | |
2724 android_manifest = "${_output_path}/AndroidManifest.xml" | |
2725 v14_skip = true | |
2726 } | |
2727 | |
2728 java_group(target_name) { | |
2729 deps = [ | |
2730 ":$_jar_target_name", | |
2731 ":$_res_target_name", | |
2732 ] | |
2733 } | |
2734 } | |
2561 } | 2735 } |
OLD | NEW |