| Index: build/config/android/rules.gni
|
| diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
|
| index 075c8a77c29be4a5903b7072b000ba6d7d4182b5..6e38320e69e21805b361a8d86432657b85f0249d 100644
|
| --- a/build/config/android/rules.gni
|
| +++ b/build/config/android/rules.gni
|
| @@ -1204,6 +1204,9 @@ if (enable_java_templates) {
|
| # deps: Specifies the dependencies of this target. Java targets in this list
|
| # will be added to the javac classpath. Android resources in dependencies
|
| # will be used when building this library.
|
| + # public_deps: Specifies the dependencies of this target that will be
|
| + # exposed as part of its public API (the .class files will be available
|
| + # in the output jar).
|
| #
|
| # java_files: List of .java files included in this library.
|
| # srcjar_deps: List of srcjar dependencies. The .java files in the srcjars
|
| @@ -1269,9 +1272,32 @@ if (enable_java_templates) {
|
| assert(defined(invoker.alternative_android_sdk_ijar_dep))
|
| }
|
|
|
| - java_library_impl(target_name) {
|
| + _java_library_impl_target_name = target_name
|
| + _needs_dist_jar = false
|
| +
|
| + if (defined(invoker.public_deps)) {
|
| + forward_variables_from(invoker, [ "testonly" ])
|
| +
|
| + _public_deps = invoker.public_deps
|
| + _java_library_impl_target_name = "${target_name}__java_library_impl"
|
| + _public_deps += [ ":${_java_library_impl_target_name}" ]
|
| + _needs_dist_jar = true
|
| +
|
| + dist_jar(target_name) {
|
| + _target_dir_name = get_label_info(":$target_name", "dir")
|
| + output_jar_path =
|
| + "$root_out_dir/lib.java$_target_dir_name/${target_name}.jar"
|
| + deps = _public_deps
|
| + }
|
| + }
|
| +
|
| + java_library_impl(_java_library_impl_target_name) {
|
| forward_variables_from(invoker, "*")
|
|
|
| + if (_needs_dist_jar) {
|
| + output_name = "${target_name}_no_public_deps"
|
| + }
|
| +
|
| supports_android = true
|
| requires_android = true
|
|
|
|
|