diff options
Diffstat (limited to 'chromium/components/cronet')
-rw-r--r-- | chromium/components/cronet/BUILD.gn | 57 | ||||
-rw-r--r-- | chromium/components/cronet/android/BUILD.gn | 289 |
2 files changed, 75 insertions, 271 deletions
diff --git a/chromium/components/cronet/BUILD.gn b/chromium/components/cronet/BUILD.gn index 62f209ddb11..1c2feff78b8 100644 --- a/chromium/components/cronet/BUILD.gn +++ b/chromium/components/cronet/BUILD.gn @@ -116,7 +116,13 @@ if (!is_ios && !is_android) { } } + _cronet_shared_lib_name = "cronet.$chrome_version_full" + _cronet_shared_lib_file_name = + "$shlib_prefix$_cronet_shared_lib_name$shlib_extension" + shared_library("cronet") { + output_name = _cronet_shared_lib_name + deps = [ "//base", "//components/cronet:cronet_common", @@ -131,7 +137,7 @@ if (!is_ios && !is_android) { if (is_mac && !is_component_build) { ldflags = [ "-install_name", - "@rpath/lib${target_name}.dylib", + "@executable_path/$_cronet_shared_lib_file_name", ] public_configs = [ ":shared_library_public_config" ] } @@ -201,28 +207,16 @@ if (!is_ios && !is_android) { # Copy boiler-plate files into the package. copy("cronet_package_copy") { sources = [ + "$root_out_dir/$_cronet_shared_lib_file_name", "//AUTHORS", "//chrome/VERSION", ] - - outputs = [ - "$_package_dir/{{source_file_part}}", - ] - } - - # Copy shared library adding the version to the file name. - copy("cronet_package_shlib") { - sources = [ - "$root_out_dir/${shlib_prefix}cronet${shlib_extension}", - ] - - outputs = [ - "$_package_dir/${shlib_prefix}cronet.${chrome_version_full}${shlib_extension}", - ] - deps = [ ":cronet", ] + outputs = [ + "$_package_dir/{{source_file_part}}", + ] } # Copy headers. @@ -238,7 +232,6 @@ if (!is_ios && !is_android) { deps = [ ":cronet_package_copy", ":cronet_package_headers", - ":cronet_package_shlib", ":generate_license", ] } @@ -258,4 +251,32 @@ if (!is_ios && !is_android) { "//net:test_support", ] } + + executable("cronet_sample") { + testonly = true + sources = [ + "native/sample/main.cc", + "native/sample/sample_executor.cc", + "native/sample/sample_executor.h", + "native/sample/sample_url_request_callback.cc", + "native/sample/sample_url_request_callback.h", + ] + deps = [ + "//components/cronet", + "//components/cronet/native:cronet_native_headers", + ] + if (is_linux && !is_component_build) { + public_configs = [ "//build/config/gcc:rpath_for_built_shared_libraries" ] + } + } + + test("cronet_sample_test") { + sources = [ + "native/sample/test/sample_test.cc", + ] + deps = [ + ":cronet_sample", + "//testing/gtest:gtest", + ] + } } diff --git a/chromium/components/cronet/android/BUILD.gn b/chromium/components/cronet/android/BUILD.gn index 604ffdf692e..6c55a59550f 100644 --- a/chromium/components/cronet/android/BUILD.gn +++ b/chromium/components/cronet/android/BUILD.gn @@ -2,7 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -import("//base/android/jni_generator/jni_exception_list.gni") import("//build/buildflag_header.gni") import("//build/config/android/config.gni") import("//build/config/android/rules.gni") @@ -14,6 +13,9 @@ import("//third_party/netty4/netty4.gni") import("//third_party/protobuf/proto_library.gni") import("//url/features.gni") +_jni_registration_header = "$target_gen_dir/cronet_jni_registration.h" +_templates_dir = "$target_gen_dir/templates" + declare_args() { # In integrated mode, CronetEngine will use the shared network task runner by # other Chromium-based clients like webview without self-initialization. @@ -39,17 +41,19 @@ generate_jni("cronet_jni_headers") { } generate_jni_registration("cronet_jni_registration") { - target = ":cronet_jni_apk" - output = "$root_gen_dir/components/cronet/android/${target_name}.h" - exception_files = jni_exception_files - - exception_files += [ + target = ":cronet_impl_all_java" + header_output = _jni_registration_header + sources_blacklist = [ "//base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java", "//base/android/java/src/org/chromium/base/process_launcher/ChildProcessService.java", "//base/android/java/src/org/chromium/base/SysUtils.java", ] } +java_library("cronet_jni_registration_java") { + srcjar_deps = [ ":cronet_jni_registration" ] +} + java_cpp_enum("effective_connection_type_java") { sources = [ "//net/nqe/effective_connection_type.h", @@ -106,13 +110,10 @@ java_cpp_template("integrated_mode_state") { } } -_generated_api_version_java_dir = - "$target_gen_dir/templates/cronet_api_version_java" -_generated_api_version_java = - "$_generated_api_version_java_dir/org/chromium/net/ApiVersion.java" +_generated_api_version_java = "$_templates_dir/org/chromium/net/ApiVersion.java" +_api_level = read_file("api_version.txt", "value") -process_version("cronet_api_version_java") { - _api_level = read_file("api_version.txt", "value") +process_version("api_version") { template_file = "api/src/org/chromium/net/ApiVersion.template" sources = [ "//chrome/VERSION", @@ -125,24 +126,10 @@ process_version("cronet_api_version_java") { output = _generated_api_version_java } -zip("cronet_api_version_srcjar") { - inputs = [ - _generated_api_version_java, - ] - output = "$target_gen_dir/$target_name.srcjar" - base_dir = _generated_api_version_java_dir - deps = [ - ":cronet_api_version_java", - ] -} - -_generated_impl_version_java_dir = - "$target_gen_dir/templates/cronet_impl_version_java" _generated_impl_version_java = - "$_generated_impl_version_java_dir/org/chromium/net/impl/ImplVersion.java" + "$_templates_dir/org/chromium/net/impl/ImplVersion.java" -process_version("cronet_impl_version_java") { - _api_level = read_file("api_version.txt", "value") +process_version("impl_version") { template_file = "java/src/org/chromium/net/impl/ImplVersion.template" sources = [ "//chrome/VERSION", @@ -155,17 +142,6 @@ process_version("cronet_impl_version_java") { output = _generated_impl_version_java } -zip("cronet_impl_version_srcjar") { - inputs = [ - _generated_impl_version_java, - ] - output = "$target_gen_dir/$target_name.srcjar" - base_dir = _generated_impl_version_java_dir - deps = [ - ":cronet_impl_version_java", - ] -} - _cronet_version_header_include_dir = "$target_gen_dir/cronet_version_header" source_set("cronet_static") { @@ -201,6 +177,7 @@ source_set("cronet_static") { "//components/cronet/android/metrics_util.h", "//components/cronet/android/url_request_error.cc", "//components/cronet/android/url_request_error.h", + _jni_registration_header, ] if (integrated_mode) { @@ -250,8 +227,6 @@ shared_library("cronet") { configs += [ ":hide_all_but_jni_onload_and_cronet" ] } -cronet_api_srcjar_deps = [ ":cronet_api_version_srcjar" ] - # cronet_api_java.jar defines Cronet API. android_library("cronet_api_java") { java_files = [ @@ -275,17 +250,16 @@ android_library("cronet_api_java") { "api/src/org/chromium/net/UploadDataSink.java", "api/src/org/chromium/net/UrlRequest.java", "api/src/org/chromium/net/UrlResponseInfo.java", + _generated_api_version_java, ] deps = [ + ":api_version", "//third_party/android_deps:android_support_annotations_java", ] - - srcjar_deps = cronet_api_srcjar_deps } cronet_impl_common_java_srcjar_deps = [ - ":cronet_impl_version_srcjar", ":effective_connection_type_java", ":http_cache_type_java", ":integrated_mode_state", @@ -313,12 +287,14 @@ android_library("cronet_impl_common_base_java") { "java/src/org/chromium/net/impl/UrlResponseInfoImpl.java", "java/src/org/chromium/net/impl/UserAgent.java", "java/src/org/chromium/net/impl/VersionSafeCallbacks.java", + _generated_impl_version_java, ] # Adding deps here won't include those deps in the cronet_impl_common_java.jar. # Please add to cronet_impl_common_java_deps_to_package instead. deps = [ ":cronet_api_java", + ":impl_version", "//third_party/android_deps:android_support_annotations_java", ] deps += cronet_impl_common_java_deps_to_package @@ -339,6 +315,7 @@ android_library("cronet_impl_platform_base_java") { deps = [ ":cronet_api_java", ":cronet_impl_common_base_java", + "//net/android:net_thread_stats_uid_java", "//third_party/android_deps:android_support_annotations_java", "//third_party/jsr-305:jsr_305_javalib", ] @@ -412,17 +389,6 @@ java_group("cronet_impl_all_java") { ] } -# This target exists only to provide input to the generate_jni_registration -# target previously declared. It contains all Java with JNI declarations. -android_apk("cronet_jni_apk") { - apk_name = "CronetJni" - android_manifest = "sample/AndroidManifest.xml" - deps = [ - ":cronet_impl_all_java", - "//third_party/android_deps:android_support_v7_appcompat_java", - ] -} - android_resources("cronet_sample_apk_resources") { resource_dirs = [ "sample/res" ] android_manifest = "sample/AndroidManifest.xml" @@ -507,6 +473,7 @@ android_java_prebuilt("package_impl_native_java") { ":package_api_java", ":package_impl_common_java", ":repackage_extracted_native_jars", + "//third_party/android_deps:android_support_v4_java", "//third_party/jsr-305:jsr_305_javalib", ] } @@ -593,14 +560,19 @@ template("jar_src") { } jar_src("jar_cronet_api_source") { - src_search_dirs = [ "api/src" ] + src_search_dirs = [ + "api/src", + _templates_dir, + ] source_deps = [ ":cronet_api_java" ] - 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" ] + src_search_dirs = [ + "java/src", + _templates_dir, + ] source_deps = [ ":cronet_impl_common_base_java" ] srcjar_deps = cronet_impl_common_java_srcjar_deps jar_path = "$_package_dir/cronet_impl_common_java-src.jar" @@ -686,6 +658,7 @@ action("extract_cronet_native_jars") { deps = [ ":cronet_impl_native_base_java", + ":cronet_jni_registration_java", ] deps += cronet_impl_native_java_deps_to_package @@ -1030,7 +1003,9 @@ if (!is_component_build) { deps = [ ":cronet_api_java", ":cronet_impl_all_java", + ":cronet_urlconnection_impl_java", "//third_party/android_support_test_runner:runner_java", + "//third_party/hamcrest:hamcrest_core_java", "//third_party/junit", ] deps += cronet_javatests_deps_to_package @@ -1373,6 +1348,7 @@ if (!is_component_build) { "//url:url_java", ] srcjar_deps = cronet_impl_native_java_srcjar_deps + [ + ":cronet_jni_registration", "//base:base_android_java_enums_srcjar", "//net/android:net_android_java_enums_srcjar", "//net/android:net_errors_java", @@ -1534,9 +1510,11 @@ if (!is_component_build) { copy("cronet_package_copy_test_files") { testonly = true sources = [ + "//net/data/ssl/certificates/expired_cert.pem", "//net/data/ssl/certificates/quic-chain.pem", "//net/data/ssl/certificates/quic-leaf-cert.key", "//net/data/ssl/certificates/quic-leaf-cert.key.pkcs8.pem", + "//net/data/ssl/certificates/root_ca_cert.pem", ] outputs = [ "$_test_package_dir/assets/test_files/net/data/ssl/certificates/{{source_file_part}}", @@ -1670,199 +1648,4 @@ if (!is_component_build) { ] } } - - _maven_dir = "$_package_dir/maven-$current_cpu" - _maven_modules_dir = "$_maven_dir/org/chromium/net" - _maven_test_dir = "$_maven_dir/test" - _maven_version = - "$chrome_version_major.$chrome_version_build.$chrome_version_patch" - - copy("cronet_maven_test_copy") { - sources = [ - "maven/build.gradle", - "maven/local.properties", - "maven/settings.gradle", - ] - outputs = [ - "$_maven_test_dir/{{source_file_part}}", - ] - } - - process_version("cronet_maven_build_embedded_copy") { - template_file = "maven/test/build_embedded.gradle.template" - sources = [ - "//chrome/VERSION", - lastchange_file, - ] - output = "$_maven_test_dir/test_embedded/build.gradle" - } - - process_version("cronet_maven_build_fallback_copy") { - template_file = "maven/test/build_fallback.gradle.template" - sources = [ - "//chrome/VERSION", - lastchange_file, - ] - output = "$_maven_test_dir/test_fallback/build.gradle" - } - - if (use_platform_icu_alternatives) { - action("cronet_maven_test_build") { - script = "maven/test/build_with_gradle.py" - depfile = "$target_gen_dir/$target_name.d" - deps = [ - ":cronet_maven_build_embedded_copy", - ":cronet_maven_build_fallback_copy", - ":cronet_maven_modules", - ":cronet_maven_test_copy", - - # These deps ensure all source files of the sample app are deps. - ":cronet_sample_apk", - ":cronet_sample_test_apk", - ] - _stamp_file = "$target_gen_dir/$target_name.stamp" - outputs = [ - _stamp_file, - "$_maven_test_dir/build/outputs/apk/debug/test-debug.apk", - "$_maven_test_dir/build/outputs/apk/androidTest/debug/test-debug-androidTest.apk", - ] - args = [ - "--project-dir", - rebase_path("$_maven_test_dir"), - "--depfile", - rebase_path(depfile, root_build_dir), - "--stamp", - rebase_path(_stamp_file, root_build_dir), - ] - testonly = true - } - } - - # Builds a maven module. - template("cronet_maven_module") { - _module_name = invoker.module_name - - # Build POM file. - _pom_target_name = "pom_$target_name" - _deps = [ ":$_pom_target_name" ] - process_version(_pom_target_name) { - template_file = "maven/$_module_name.pom.template" - sources = [ - "//chrome/VERSION", - lastchange_file, - ] - output = "$_maven_modules_dir/$_module_name/$_maven_version/$_module_name-$_maven_version.pom" - } - - if (defined(invoker.resource_dir)) { - android_resources(invoker.module_name + "_resources") { - resource_dirs = [ invoker.resource_dir ] - android_manifest = "../../../build/android/AndroidManifest.xml" - } - } - - # Build AAR file. - _aar_target_name = "aar_$target_name" - dist_aar(_aar_target_name) { - deps = [ - ":cronet_package_copy", - invoker.aar_jar_dep, - ] - direct_deps_only = true - if (defined(invoker.aar_proguard_config)) { - proguard_configs = [ invoker.aar_proguard_config ] - } - if (defined(invoker.aar_native_lib_dep)) { - native_libraries = get_target_outputs(invoker.aar_native_lib_dep) - deps += [ invoker.aar_native_lib_dep ] - } - if (defined(invoker.resource_dir)) { - deps += [ ":" + invoker.module_name + "_resources" ] - } - output = "$root_build_dir/$_aar_target_name.aar" - } - - _aar_copy_target_name = "$target_name.aar" - _deps += [ ":$_aar_copy_target_name" ] - copy(_aar_copy_target_name) { - sources = get_target_outputs(":$_aar_target_name") - outputs = [ - "$_maven_modules_dir/$_module_name/$_maven_version/$_module_name-$_maven_version.aar", - ] - deps = [ - ":$_aar_target_name", - ] - } - - if (defined(invoker.src_jar_dep)) { - _copy_target_name = "$target_name-sources.jar" - _deps += [ ":$_copy_target_name" ] - copy(_copy_target_name) { - sources = get_target_outputs(invoker.src_jar_dep) - outputs = [ - "$_maven_modules_dir/$_module_name/$_maven_version/$_module_name-$_maven_version-sources.jar", - ] - deps = [ - invoker.src_jar_dep, - ] - } - } - - if (defined(invoker.javadoc_jar_dep)) { - _copy_target_name = "$target_name-javadoc.jar" - _deps += [ ":$_copy_target_name" ] - copy(_copy_target_name) { - sources = get_target_outputs(invoker.javadoc_jar_dep) - outputs = [ - "$_maven_modules_dir/$_module_name/$_maven_version/$_module_name-$_maven_version-javadoc.jar", - ] - deps = [ - invoker.javadoc_jar_dep, - ] - } - } - - group(target_name) { - deps = _deps - } - } - - cronet_maven_module("cronet_maven_api_module") { - module_name = "cronet-api" - aar_jar_dep = ":package_api_java" - src_jar_dep = ":jar_cronet_api_source" - javadoc_jar_dep = ":generate_javadoc" - resource_dir = "api/res" - } - - cronet_maven_module("cronet_maven_impl_common_module") { - module_name = "cronet-common" - aar_jar_dep = ":package_impl_common_java" - aar_proguard_config = "$_package_dir/cronet_impl_common_proguard.cfg" - src_jar_dep = ":jar_cronet_impl_common_java_source" - } - - cronet_maven_module("cronet_maven_impl_native_module") { - module_name = "cronet-embedded" - aar_jar_dep = ":package_impl_native_java" - aar_proguard_config = "$_package_dir/cronet_impl_native_proguard.cfg" - aar_native_lib_dep = ":cronet_package_copy_native_lib" - src_jar_dep = ":jar_cronet_impl_native_java_source" - } - - cronet_maven_module("cronet_maven_impl_platform_module") { - module_name = "cronet-fallback" - aar_jar_dep = ":package_impl_platform_java" - aar_proguard_config = "$_package_dir/cronet_impl_platform_proguard.cfg" - src_jar_dep = ":jar_cronet_impl_platform_java_source" - } - - group("cronet_maven_modules") { - deps = [ - ":cronet_maven_api_module", - ":cronet_maven_impl_common_module", - ":cronet_maven_impl_native_module", - ":cronet_maven_impl_platform_module", - ] - } } |