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..0c885ea207d21af96ceb3245111ecb612843f3ca 100644 |
| --- a/components/cronet/android/BUILD.gn |
| +++ b/components/cronet/android/BUILD.gn |
| @@ -17,6 +17,9 @@ declare_args() { |
| cronet_enable_data_reduction_proxy_support = false |
| } |
| +_package_dir = "$root_out_dir/cronet" |
| +_extract_cronet_jars_dir = "$target_gen_dir/cronet_jar_extract" |
| + |
| generate_jni("cronet_jni_headers") { |
| sources = [ |
| "java/src/org/chromium/net/impl/ChromiumUrlRequest.java", |
| @@ -280,48 +283,21 @@ shared_library("cronet") { |
| # cronet_api.jar defines Cronet API and provides implementation of |
| # legacy api using HttpUrlConnection (not the Chromium stack). |
| android_library("cronet_api") { |
| - java_files = [ |
| - "api/src/org/chromium/net/BidirectionalStream.java", |
| - "api/src/org/chromium/net/ChunkedWritableByteChannel.java", |
| - "api/src/org/chromium/net/CronetEngine.java", |
| - "api/src/org/chromium/net/CronetException.java", |
| - "api/src/org/chromium/net/HttpUrlConnectionUrlRequest.java", |
| - "api/src/org/chromium/net/HttpUrlConnectionUrlRequestFactory.java", |
| - "api/src/org/chromium/net/HttpUrlRequest.java", |
| - "api/src/org/chromium/net/HttpUrlRequestFactory.java", |
| - "api/src/org/chromium/net/HttpUrlRequestListener.java", |
| - "api/src/org/chromium/net/InlineExecutionProhibitedException.java", |
| - "api/src/org/chromium/net/InputStreamChannel.java", |
| - "api/src/org/chromium/net/JavaCronetEngine.java", |
| - "api/src/org/chromium/net/JavaUrlRequest.java", |
| - "api/src/org/chromium/net/NetworkQualityRttListener.java", |
| - "api/src/org/chromium/net/NetworkQualityThroughputListener.java", |
| - "api/src/org/chromium/net/Preconditions.java", |
| - "api/src/org/chromium/net/QuicException.java", |
| - "api/src/org/chromium/net/RequestFinishedInfo.java", |
| - "api/src/org/chromium/net/ResponseTooLargeException.java", |
| - "api/src/org/chromium/net/UploadDataProvider.java", |
| - "api/src/org/chromium/net/UploadDataProviders.java", |
| - "api/src/org/chromium/net/UploadDataSink.java", |
| - "api/src/org/chromium/net/UrlRequest.java", |
| - "api/src/org/chromium/net/UrlRequestException.java", |
| - "api/src/org/chromium/net/UrlResponseInfo.java", |
| - "api/src/org/chromium/net/UserAgent.java", |
| - ] |
| - |
| deps = [ |
| + ":jar_cronet_api_source", |
| "//third_party/android_tools:android_support_annotations_java", |
| ] |
| srcjar_deps = [ |
| ":cronet_api_version_srcjar", |
| - ":effective_connection_type_java", |
| ":http_cache_type_java", |
| ":url_request_error_java", |
| ":load_states_list", |
| ":network_quality_observation_source_java", |
| ] |
| + srcjars = [ "$_package_dir/cronet_api-src.jar" ] |
| + |
| run_findbugs_override = true |
| } |
| @@ -749,9 +725,6 @@ test("cronet_unittests") { |
| } |
| } |
| -_package_dir = "$root_out_dir/cronet" |
| -_extract_cronet_jars_dir = "$target_gen_dir/cronet_jar_extract" |
| - |
| action("extract_cronet_jars") { |
| # extract_from_jars.py deletes the target directory before extracting. |
| script = "//components/cronet/tools/extract_from_jars.py" |
| @@ -811,7 +784,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,45 +793,131 @@ template("jar_src") { |
| invoker.jar_path, |
| ] |
| args = [ |
| - "--src-dir=${_rebased_src_dirs}", |
| + "--src-search-dirs=${_rebased_src_search_dirs}", |
| + "--src-files=${invoker.src_files}", |
| "--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" attribute. |
| 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" attribute. |
| + 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 ] |
| + } |
| + } |
| + |
| + args += [ "--src-jar=${_src_jars}" ] |
| } |
| } |
| jar_src("jar_cronet_api_source") { |
| - src_dirs = [ "api/src" ] |
| + src_search_dirs = [ "api/src" ] |
| + src_files = [ |
| + "org/chromium/net/BidirectionalStream.java", |
| + "org/chromium/net/ChunkedWritableByteChannel.java", |
| + "org/chromium/net/CronetEngine.java", |
| + "org/chromium/net/CronetException.java", |
| + "org/chromium/net/HttpUrlConnectionUrlRequestFactory.java", |
| + "org/chromium/net/HttpUrlConnectionUrlRequest.java", |
| + "org/chromium/net/HttpUrlRequestFactory.java", |
| + "org/chromium/net/HttpUrlRequest.java", |
| + "org/chromium/net/HttpUrlRequestListener.java", |
| + "org/chromium/net/InlineExecutionProhibitedException.java", |
| + "org/chromium/net/InputStreamChannel.java", |
| + "org/chromium/net/JavaCronetEngine.java", |
| + "org/chromium/net/JavaUrlRequest.java", |
| + "org/chromium/net/NetworkQualityRttListener.java", |
| + "org/chromium/net/NetworkQualityThroughputListener.java", |
| + "org/chromium/net/Preconditions.java", |
| + "org/chromium/net/QuicException.java", |
| + "org/chromium/net/RequestFinishedInfo.java", |
| + "org/chromium/net/ResponseTooLargeException.java", |
| + "org/chromium/net/UploadDataProvider.java", |
| + "org/chromium/net/UploadDataProviders.java", |
| + "org/chromium/net/UploadDataSink.java", |
| + "org/chromium/net/UrlRequestException.java", |
| + "org/chromium/net/UrlRequest.java", |
| + "org/chromium/net/UrlResponseInfo.java", |
| + "org/chromium/net/UserAgent.java", |
| + ] |
| # 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" ] |
| jar_path = "$_package_dir/cronet_api-src.jar" |
| + deps = [ |
| + ":effective_connection_type_java", |
| + ] |
| } |
| jar_src("jar_cronet_sample_source") { |
| - src_dirs = [ "sample" ] |
| + src_search_dirs = [ "sample" ] |
| + src_files = [ |
| + "AndroidManifest.xml", |
| + "javatests/AndroidManifest.xml", |
| + "javatests/proguard.cfg", |
| + "javatests/src/org/chromium/cronet_sample_apk/Criteria.java", |
| + "javatests/src/org/chromium/cronet_sample_apk/CronetSampleTest.java", |
| + "README", |
| + "res/layout/activity_main.xml", |
| + "res/layout/dialog_url.xml", |
| + "res/values/dimens.xml", |
| + "res/values/strings.xml", |
| + "src/org/chromium/cronet_sample_apk/CronetSampleActivity.java", |
| + "src/org/chromium/cronet_sample_apk/CronetSampleApplication.java", |
| + ] |
| jar_path = "$_package_dir/cronet-sample-src.jar" |
| } |
| jar_src("jar_cronet_other_source") { |
| - src_dirs = [ |
| - "//base/android/java/src", |
| + src_search_dirs = [ |
| "//components/cronet/android/java/src", |
| - "//net/android/java/src", |
| "//url/android/java/src", |
|
xunjieli
2016/09/19 19:43:53
no longer needed?
kapishnikov
2016/09/19 19:54:23
Good catch. Removed.
|
| ] |
| + src_files = [ |
| + "org/chromium/net/impl/ChromiumUrlRequestContext.java", |
| + "org/chromium/net/impl/ChromiumUrlRequestFactory.java", |
| + "org/chromium/net/impl/ChromiumUrlRequest.java", |
| + "org/chromium/net/impl/CronetBidirectionalStream.java", |
| + "org/chromium/net/impl/CronetLibraryLoader.java", |
| + "org/chromium/net/impl/CronetUploadDataStream.java", |
| + "org/chromium/net/impl/CronetUrlRequestContext.java", |
| + "org/chromium/net/impl/CronetUrlRequest.java", |
| + "org/chromium/net/urlconnection/CronetBufferedOutputStream.java", |
| + "org/chromium/net/urlconnection/CronetChunkedOutputStream.java", |
| + "org/chromium/net/urlconnection/CronetFixedModeOutputStream.java", |
| + "org/chromium/net/urlconnection/CronetHttpURLConnection.java", |
| + "org/chromium/net/urlconnection/CronetHttpURLStreamHandler.java", |
| + "org/chromium/net/urlconnection/CronetInputStream.java", |
| + "org/chromium/net/urlconnection/CronetOutputStream.java", |
| + "org/chromium/net/urlconnection/CronetURLStreamHandlerFactory.java", |
| + "org/chromium/net/urlconnection/MessageLoop.java", |
| + "org/chromium/url/IDNStringUtil.java", |
|
xunjieli
2016/09/19 19:43:53
no longer needed?
kapishnikov
2016/09/19 19:54:23
Removed.
|
| + ] |
| jar_path = "$_package_dir/cronet-src.jar" |
| + srcjar_deps = [ |
| + "//base:base_java_srcjar", |
| + "//net/android:net_java_srcjar", |
| + "//url:url_java_srcjar", |
| + ] |
| } |
| action("generate_licenses") { |