Chromium Code Reviews| Index: components/cronet/android/BUILD.gn |
| diff --git a/components/cronet/android/BUILD.gn b/components/cronet/android/BUILD.gn |
| index b9ff617d5dc00928f9d3119a9ac052617e3c2228..69ca743a8ed7c1f9c3ad6fb82c828001f77eb476 100644 |
| --- a/components/cronet/android/BUILD.gn |
| +++ b/components/cronet/android/BUILD.gn |
| @@ -811,7 +811,8 @@ action("repackage_extracted_jars") { |
| template("jar_src") { |
| action(target_name) { |
| - _rebased_src_dirs = rebase_path(invoker.src_dirs, root_build_dir) |
| + _rebased_src_search_dirs = |
| + rebase_path(invoker.src_search_dirs, root_build_dir) |
| script = "//components/cronet/tools/jar_src.py" |
| depfile = "$target_gen_dir/$target_name.d" |
| @@ -819,44 +820,103 @@ template("jar_src") { |
| invoker.jar_path, |
| ] |
| args = [ |
| - "--src-dir=${_rebased_src_dirs}", |
| + "--src-search-dirs=${_rebased_src_search_dirs}", |
| "--jar-path", |
| rebase_path(invoker.jar_path, root_build_dir), |
| "--depfile", |
| rebase_path(depfile, root_build_dir), |
| ] |
| + deps = [] |
| + if (defined(invoker.deps)) { |
| + deps += invoker.deps |
| + } |
| + |
| + _src_jars = [] |
| + |
| + # Add src jar files that explicitly listed in "src_jars". |
| if (defined(invoker.src_jars)) { |
| - inputs = invoker.src_jars |
| _rebased_src_jars = rebase_path(invoker.src_jars, root_build_dir) |
| - args += [ "--src-jar=${_rebased_src_jars}" ] |
| + _src_jars += _rebased_src_jars |
| } |
| - deps = [ |
| - ":effective_connection_type_java", |
| - ] |
| + |
| + # Add src jars that are implicitly listed through "srcjar_deps". |
|
agrieve
2016/09/21 18:36:37
nit: implicitly -> explicitly?
kapishnikov
2016/09/21 18:52:33
Done. Changed to:
# Add src-jar files that are ge
|
| + if (defined(invoker.srcjar_deps)) { |
| + foreach(_srcjar_dep, invoker.srcjar_deps) { |
| + _dep_gen_dir = get_label_info(_srcjar_dep, "target_gen_dir") |
| + _dep_name = get_label_info(_srcjar_dep, "name") |
| + _src_jars += rebase_path([ "$_dep_gen_dir/$_dep_name.srcjar" ]) |
| + deps += [ _srcjar_dep ] |
| + } |
| + } |
| + |
| + # Create the list of all source files that are given in "src_files". |
| + _src_files = [] |
| + if (defined(invoker.src_files)) { |
| + _src_files += invoker.src_files |
| + } |
| + |
| + # Handle "source_deps". |
| + _src_list_files = [] |
| + if (defined(invoker.source_deps)) { |
| + foreach(_source_dep, invoker.source_deps) { |
| + _dep_gen_dir = get_label_info(_source_dep, "target_gen_dir") |
| + _dep_name = get_label_info(_source_dep, "name") |
| + _src_list_files += rebase_path([ "$_dep_gen_dir/$_dep_name.sources" ]) |
| + deps += [ _source_dep ] |
| + } |
| + } |
| + args += [ "--src-jar=${_src_jars}" ] |
| + args += [ "--src-files=${_src_files}" ] |
| + args += [ "--src-list-files=${_src_list_files}" ] |
| + |
| + inputs = _src_jars |
| + inputs += _src_files |
| + inputs += _src_list_files |
| } |
| } |
| jar_src("jar_cronet_api_source") { |
| - src_dirs = [ "api/src" ] |
| + src_search_dirs = [ "api/src" ] |
| # Include generated Java files which should be a part of the API. |
| - src_jars = [ "$root_gen_dir/components/cronet/android/effective_connection_type_java.srcjar" ] |
| + srcjar_deps = [ ":effective_connection_type_java" ] |
| + source_deps = [ ":cronet_api" ] |
| jar_path = "$_package_dir/cronet_api-src.jar" |
| } |
| -jar_src("jar_cronet_sample_source") { |
| - src_dirs = [ "sample" ] |
| - jar_path = "$_package_dir/cronet-sample-src.jar" |
| +zip("jar_cronet_sample_source") { |
| + inputs = [ |
| + "sample/AndroidManifest.xml", |
| + "sample/javatests/AndroidManifest.xml", |
| + "sample/javatests/proguard.cfg", |
| + "sample/javatests/src/org/chromium/cronet_sample_apk/Criteria.java", |
| + "sample/javatests/src/org/chromium/cronet_sample_apk/CronetSampleTest.java", |
| + "sample/README", |
| + "sample/res/layout/activity_main.xml", |
| + "sample/res/layout/dialog_url.xml", |
| + "sample/res/values/dimens.xml", |
| + "sample/res/values/strings.xml", |
| + "sample/src/org/chromium/cronet_sample_apk/CronetSampleActivity.java", |
| + "sample/src/org/chromium/cronet_sample_apk/CronetSampleApplication.java", |
| + ] |
| + output = "$_package_dir/cronet-sample-src.jar" |
| + base_dir = "sample" |
| } |
| jar_src("jar_cronet_other_source") { |
| - src_dirs = [ |
| + src_search_dirs = [ |
| "//base/android/java/src", |
| "//components/cronet/android/java/src", |
| "//net/android/java/src", |
| "//url/android/java/src", |
| ] |
| + source_deps = [ |
| + ":cronet_java", |
| + "//base:base_java", |
| + "//net/android:net_java", |
| + "//url:url_java", |
| + ] |
| jar_path = "$_package_dir/cronet-src.jar" |
| } |