Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Unified Diff: components/cronet/android/BUILD.gn

Issue 2339223002: Cronet API Refactoring (Closed)
Patch Set: Rebase & Conflict Resolution Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/cronet/android/BUILD.gn
diff --git a/components/cronet/android/BUILD.gn b/components/cronet/android/BUILD.gn
index af149a5dd26eaabd6c2f95e235d74982c960d082..03ee874fa3260bdb964bcab0610906e06d48e5cf 100644
--- a/components/cronet/android/BUILD.gn
+++ b/components/cronet/android/BUILD.gn
@@ -40,12 +40,6 @@ java_cpp_enum("rtt_throughput_values_java") {
]
}
-java_cpp_enum("chromium_url_request_java") {
- sources = [
- "chromium_url_request.h",
- ]
-}
-
java_cpp_enum("net_request_priority_java") {
sources = [
"//net/base/request_priority.h",
@@ -64,19 +58,6 @@ java_cpp_enum("url_request_error_java") {
]
}
-# This target is a jar file containing classes that Cronet's javadocs
-# may reference but are not included in the javadocs themselves.
-android_library("cronet_javadoc_classpath") {
- deps = [
- "//third_party/android_tools:android_support_annotations_java",
- ]
- srcjar_deps = [
- ":effective_connection_type_java",
- ":rtt_throughput_values_java",
- ":url_request_error_java",
- ]
-}
-
java_cpp_enum("http_cache_type_java") {
sources = [
"//components/cronet/url_request_context_config.h",
@@ -85,12 +66,12 @@ java_cpp_enum("http_cache_type_java") {
java_cpp_template("load_states_list") {
sources = [
- "java/src/org/chromium/net/LoadState.template",
+ "java/src/org/chromium/net/impl/LoadState.template",
]
inputs = [
"//net/base/load_states_list.h",
]
- package_name = "org/chromium/net"
+ package_name = "org/chromium/net/impl"
}
_generated_api_version_java_dir =
@@ -175,7 +156,6 @@ template("cronet_static_tmpl") {
defines = []
deps = [
- ":chromium_url_request_java",
":cronet_android_cert_proto",
":cronet_jni_headers",
":cronet_version_header",
@@ -188,7 +168,6 @@ template("cronet_static_tmpl") {
sources = [
"//components/cronet/android/cert/cert_verifier_cache_serializer.cc",
"//components/cronet/android/cert/cert_verifier_cache_serializer.h",
- "//components/cronet/android/chromium_url_request.h",
"//components/cronet/android/cronet_bidirectional_stream_adapter.cc",
"//components/cronet/android/cronet_bidirectional_stream_adapter.h",
"//components/cronet/android/cronet_in_memory_pref_store.cc",
@@ -283,20 +262,21 @@ shared_library("cronet") {
configs -= [ "//build/config/android:hide_native_jni_exports" ]
}
-# cronet_api.jar defines Cronet API and provides implementation of
-# legacy api using HttpUrlConnection (not the Chromium stack).
+cronet_api_srcjar_deps = [ ":cronet_api_version_srcjar" ]
+
+# cronet_api.jar defines Cronet API.
android_library("cronet_api") {
java_files = [
"api/src/org/chromium/net/BidirectionalStream.java",
"api/src/org/chromium/net/CronetEngine.java",
"api/src/org/chromium/net/CronetException.java",
+ "api/src/org/chromium/net/ICronetEngineBuilder.java",
+ "api/src/org/chromium/net/ExperimentalBidirectionalStream.java",
+ "api/src/org/chromium/net/ExperimentalCronetEngine.java",
+ "api/src/org/chromium/net/ExperimentalUrlRequest.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/UploadDataProvider.java",
@@ -305,28 +285,69 @@ android_library("cronet_api") {
"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 = [
"//third_party/android_tools:android_support_annotations_java",
]
- srcjar_deps = [
- ":cronet_api_version_srcjar",
- ":effective_connection_type_java",
- ":rtt_throughput_values_java",
- ":http_cache_type_java",
- ":url_request_error_java",
- ":load_states_list",
- ":network_quality_observation_source_java",
- ]
+ srcjar_deps = cronet_api_srcjar_deps
run_findbugs_override = true
}
-android_library("cronet_java") {
+cronet_impl_common_java_srcjar_deps = [
+ ":cronet_impl_version_srcjar",
+ ":effective_connection_type_java",
+ ":http_cache_type_java",
+ ":load_states_list",
+ ":rtt_throughput_values_java",
+]
+
+# cronet_impl_common_java.jar - common Cronet code that is shared
+# by all Cronet engine implementations.
+android_library("cronet_impl_common_java") {
+ java_files = [
+ "java/src/org/chromium/net/impl/CronetEngineBase.java",
+ "java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java",
+ "java/src/org/chromium/net/impl/Preconditions.java",
+ "java/src/org/chromium/net/impl/UrlRequestBase.java",
+ "java/src/org/chromium/net/impl/UrlRequestBuilderImpl.java",
+ "java/src/org/chromium/net/impl/UserAgent.java",
+ ]
+
+ deps = [
+ ":cronet_api",
+ "//third_party/android_tools:android_support_annotations_java",
+ ]
+
+ srcjar_deps = cronet_impl_common_java_srcjar_deps
+}
+
+# cronet_impl_platform_java.jar - Java platform based implementation of the Cronet engine.
+android_library("cronet_impl_platform_java") {
java_files = [
+ "java/src/org/chromium/net/impl/InputStreamChannel.java",
+ "java/src/org/chromium/net/impl/JavaCronetEngine.java",
+ "java/src/org/chromium/net/impl/JavaUrlRequest.java",
+ ]
+
+ deps = [
+ ":cronet_api",
+ ":cronet_impl_common_java",
+ ]
+}
+
+cronet_impl_native_java_srcjar_deps = [
+ ":net_request_priority_java",
+ ":network_quality_observation_source_java",
+ ":url_request_error_java",
+]
+
+# cronet_impl_native_java.jar - native implementation of the Cronet engine.
+android_library("cronet_impl_native_java") {
+ java_files = [
+ "java/src/org/chromium/net/impl/BidirectionalStreamBuilderImpl.java",
"java/src/org/chromium/net/impl/CronetBidirectionalStream.java",
"java/src/org/chromium/net/impl/CronetLibraryLoader.java",
"java/src/org/chromium/net/impl/CronetMetrics.java",
@@ -346,24 +367,31 @@ android_library("cronet_java") {
deps = [
":cronet_api",
+ ":cronet_impl_common_java",
"//base:base_java",
"//net/android:net_java",
"//third_party/android_tools:android_support_annotations_java",
"//third_party/jsr-305:jsr_305_javalib",
]
- srcjar_deps = [
- ":cronet_impl_version_srcjar",
- ":chromium_url_request_java",
- ":net_request_priority_java",
- ]
+ srcjar_deps = cronet_impl_native_java_srcjar_deps
+}
- run_findbugs_override = true
+# Groups all Cronet implementations and the common code into a single Java dependency.
+java_group("cronet_impl_all_java") {
+ deps = [
+ ":cronet_impl_common_java",
+ ":cronet_impl_native_java",
+ ":cronet_impl_platform_java",
+ ]
}
android_resources("cronet_sample_apk_resources") {
resource_dirs = [ "sample/res" ]
android_manifest = "sample/AndroidManifest.xml"
+ deps = [
+ "//third_party/android_tools:android_support_v7_appcompat_java",
+ ]
}
android_library("cronet_sample_apk_java") {
@@ -374,9 +402,10 @@ android_library("cronet_sample_apk_java") {
deps = [
":cronet_api",
- ":cronet_java",
+ ":cronet_impl_all_java",
":cronet_sample_apk_resources",
"//base:base_java",
+ "//third_party/android_tools:android_support_v7_appcompat_java",
]
run_findbugs_override = true
@@ -426,7 +455,7 @@ instrumentation_test_apk("cronet_sample_test_apk") {
deps = [
":cronet_api",
- ":cronet_java",
+ ":cronet_impl_all_java",
":cronet_sample_apk_java",
":cronet_sample_test_apk_resources",
"//base:base_java",
@@ -534,7 +563,7 @@ android_library("cronet_test_apk_java") {
deps = [
":cronet_api",
- ":cronet_java",
+ ":cronet_impl_all_java",
"//base:base_java",
"//base:base_java_test_support",
"//net/android:net_java_test_support",
@@ -643,7 +672,7 @@ android_library("cronet_javatests") {
deps = [
":cronet_api",
- ":cronet_java",
+ ":cronet_impl_all_java",
":cronet_test_apk_java",
"//base:base_java",
"//base:base_java_test_support",
@@ -661,7 +690,7 @@ instrumentation_test_apk("cronet_test_instrumentation_apk") {
deps = [
":cronet_api",
- ":cronet_java",
+ ":cronet_impl_all_java",
":cronet_javatests",
":cronet_test_apk_java",
"//base:base_java",
@@ -685,7 +714,7 @@ android_library("cronet_perf_test_apk_java") {
deps = [
":cronet_api",
- ":cronet_java",
+ ":cronet_impl_all_java",
":cronet_javatests",
":cronet_test_apk_java",
"//base:base_java",
@@ -751,7 +780,7 @@ action("extract_cronet_jars") {
sources = [
"$root_out_dir/lib.java/base/base_java.jar",
- "$root_out_dir/lib.java/components/cronet/android/cronet_java.jar",
+ "$root_out_dir/lib.java/components/cronet/android/cronet_impl_native_java.jar",
"$root_out_dir/lib.java/net/android/net_java.jar",
"$root_out_dir/lib.java/url/url_java.jar",
]
@@ -774,7 +803,7 @@ action("extract_cronet_jars") {
]
deps = [
- ":cronet_java",
+ ":cronet_impl_native_java",
"//base:base_java",
"//net/android:net_java",
"//url:url_java",
@@ -782,7 +811,7 @@ action("extract_cronet_jars") {
}
action("repackage_extracted_jars") {
- _output_jar = "$_package_dir/cronet.jar"
+ _output_jar = "$_package_dir/cronet_impl_native_java.jar"
script = "//build/android/gyp/jar.py"
outputs = [
@@ -870,16 +899,24 @@ template("jar_src") {
jar_src("jar_cronet_api_source") {
src_search_dirs = [ "api/src" ]
-
- # Include generated Java files which should be a part of the API.
- srcjar_deps = [
- ":effective_connection_type_java",
- ":rtt_throughput_values_java",
- ]
source_deps = [ ":cronet_api" ]
+ srcjar_deps = cronet_api_srcjar_deps
jar_path = "$_package_dir/cronet_api-src.jar"
}
+jar_src("jar_cronet_impl_common_java_source") {
+ src_search_dirs = [ "java/src" ]
+ source_deps = [ ":cronet_impl_common_java" ]
+ srcjar_deps = cronet_impl_common_java_srcjar_deps
+ jar_path = "$_package_dir/cronet_impl_common_java-src.jar"
+}
+
+jar_src("jar_cronet_impl_platform_java_source") {
+ src_search_dirs = [ "java/src" ]
+ source_deps = [ ":cronet_impl_platform_java" ]
+ jar_path = "$_package_dir/cronet_impl_platform_java-src.jar"
+}
+
zip("jar_cronet_sample_source") {
inputs = [
"sample/AndroidManifest.xml",
@@ -899,7 +936,7 @@ zip("jar_cronet_sample_source") {
base_dir = "sample"
}
-jar_src("jar_cronet_other_source") {
+jar_src("jar_cronet_impl_native_java_source") {
src_search_dirs = [
"//base/android/java/src",
"//components/cronet/android/java/src",
@@ -907,12 +944,17 @@ jar_src("jar_cronet_other_source") {
"//url/android/java/src",
]
source_deps = [
- ":cronet_java",
+ ":cronet_impl_native_java",
"//base:base_java",
"//net/android:net_java",
"//url:url_java",
]
- jar_path = "$_package_dir/cronet-src.jar"
+ srcjar_deps = cronet_impl_native_java_srcjar_deps + [
+ "//base:base_android_java_enums_srcjar",
+ "//net/android:net_android_java_enums_srcjar",
+ "//net/android:net_errors_java",
+ ]
+ jar_path = "$_package_dir/cronet_impl_native_java-src.jar"
}
action("generate_licenses") {
@@ -957,7 +999,6 @@ action("generate_javadoc") {
rebase_path("$_package_dir/cronet_api-src.jar", root_build_dir),
]
deps = [
- ":cronet_javadoc_classpath",
":jar_cronet_api_source",
]
}
@@ -965,6 +1006,8 @@ action("generate_javadoc") {
copy("cronet_package_copy") {
sources = [
"$root_out_dir/lib.java/components/cronet/android/cronet_api.jar",
+ "$root_out_dir/lib.java/components/cronet/android/cronet_impl_common_java.jar",
+ "$root_out_dir/lib.java/components/cronet/android/cronet_impl_platform_java.jar",
"//AUTHORS",
"//chrome/VERSION",
]
@@ -974,6 +1017,8 @@ copy("cronet_package_copy") {
deps = [
":cronet_api",
+ ":cronet_impl_common_java",
+ ":cronet_impl_platform_java",
]
}
@@ -1051,7 +1096,9 @@ group("cronet_package") {
":generate_javadoc",
":generate_licenses",
":jar_cronet_api_source",
- ":jar_cronet_other_source",
+ ":jar_cronet_impl_common_java_source",
+ ":jar_cronet_impl_native_java_source",
+ ":jar_cronet_impl_platform_java_source",
":jar_cronet_sample_source",
":repackage_extracted_jars",
]
« no previous file with comments | « components/cronet/README.md ('k') | components/cronet/android/api/src/org/chromium/net/BidirectionalStream.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698