| // Copyright (C) 2023 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // This is manually maintained and automatically included into the Android.bp by the gn2bp script. |
| |
| license { |
| name: "external_cronet_license", |
| license_kinds: [ |
| "SPDX-license-identifier-Apache-2.0", |
| "SPDX-license-identifier-BSD", |
| "SPDX-license-identifier-BSD-3-Clause", |
| "SPDX-license-identifier-BSD-Source-Code", |
| "SPDX-license-identifier-BSD-2-Clause", |
| "SPDX-license-identifier-BSD-4-Clause", |
| "SPDX-license-identifier-BSL-1.0", |
| "SPDX-license-identifier-ICU", |
| "SPDX-license-identifier-ISC", |
| "SPDX-license-identifier-MIT", |
| "SPDX-license-identifier-MPL", |
| "SPDX-license-identifier-MPL-1.1", |
| "SPDX-license-identifier-MPL-2.0", |
| "SPDX-license-identifier-NCSA", |
| // "SPDX-license-identifier-GPL-2.0-with-autoconf-exception", // ICU TODO(aymanm): Reapply those once aosp/2470343 is merged |
| // "SPDX-license-identifier-GPL-3.0-with-autoconf-exception", // ICU TODO(aymanm): Reapply those once aosp/2470343 is merged |
| "SPDX-license-identifier-OpenSSL", |
| "SPDX-license-identifier-Unicode-DFS-2016", |
| "legacy_unencumbered", |
| ], |
| license_text: [ |
| "LICENSE", |
| ], |
| } |
| |
| java_library { |
| // Don't change the name of the module. |
| name: "cronet_aml_api_java", |
| srcs: [ |
| ":cronet_aml_api_sources", |
| ], |
| libs: [ |
| "androidx.annotation_annotation", |
| "framework-annotations-lib", |
| "framework-connectivity.stubs.module_lib", |
| ], |
| sdk_version: "module_current", |
| visibility: [ |
| "//packages/modules/Connectivity:__subpackages__", |
| ], |
| } |
| |
| // ------------------------------ NATIVE TEST TARGETS -------------------------------------------- |
| |
| // jni_proxy_natives_defaults should only be applied to the "top-level" target (with respect to JNI |
| // dependencies). Intermediate targets require an intermediate GEN_JNI to compile (so they need the |
| // plugin without the flags). The intermediate GEN_JNI will eventually be overwritten by the GEN_JNI |
| // produced by the jni_registration_generator genrule target. |
| java_defaults { |
| name: "jni_proxy_natives_defaults", |
| plugins: [ |
| "cronet_aml_java_jni_annotation_preprocessor", |
| ], |
| javacflags: [ |
| "-Aorg.chromium.chrome.skipGenJni", |
| ], |
| } |
| |
| // Similar to jni_proxy_natives_default, only a single jni_registration_generator target can be used |
| // per dependency tree. It must include all dependent sources that contain JNI annotations |
| // (non-exclusive). |
| genrule_defaults { |
| name: "jni_registration_generator_defaults", |
| cmd: "current_dir=`basename \\`pwd\\``; " + |
| "for f in $(in); " + |
| "do " + |
| "echo \"../$$current_dir/$$f\" >> $(genDir)/java.sources; " + |
| "done; " + |
| "python3 $(location base/android/jni_generator/jni_registration_generator.py) --srcjar-path " + |
| "$(genDir)/components/cronet/android/cronet_tests_jni_registration.srcjar " + |
| "--sources-files " + |
| "$(genDir)/java.sources " + |
| "--include-test-only " + |
| "--use-proxy-hash " + |
| "--enable-proxy-mocks", |
| out: [ |
| "components/cronet/android/cronet_tests_jni_registration.srcjar", |
| ], |
| tool_files: [ |
| "base/android/jni_generator/jni_generator.py", |
| "base/android/jni_generator/jni_registration_generator.py", |
| "build/action_helpers.py", |
| "build/android/gyp/util/__init__.py", |
| "build/android/gyp/util/build_utils.py", |
| "build/gn_helpers.py", |
| "build/zip_helpers.py", |
| ], |
| } |
| |
| filegroup { |
| name: "cronet_native_unittests_defaults_srcs", |
| srcs: [ |
| "base/test/android/javatests/src/org/chromium/base/test/util/UrlUtils.java", |
| "build/android/gtest_apk/java/src/org/chromium/build/gtest_apk/NativeTestInstrumentationTestRunner.java", |
| "build/android/gtest_apk/java/src/org/chromium/build/gtest_apk/NativeTestIntent.java", |
| "build/android/gtest_apk/java/src/org/chromium/build/gtest_apk/TestStatusIntent.java", |
| "build/android/gtest_apk/java/src/org/chromium/build/gtest_apk/TestStatusReceiver.java", |
| "testing/android/native_test/java/src/org/chromium/native_test/NativeTest.java", |
| "testing/android/native_test/java/src/org/chromium/native_test/SignalMaskInfo.java", |
| "testing/android/native_test/java/src/org/chromium/native_test/NativeTestApplication.java", |
| "testing/android/native_test/java/src/org/chromium/native_test/NativeUnitTest.java", |
| "testing/android/native_test/java/src/org/chromium/native_test/NativeUnitTestActivity.java", |
| "testing/android/native_test/java/src/org/chromium/native_test/NativeUnitTestNativeActivity.java", |
| "testing/android/reporter/java/src/org/chromium/test/reporter/TestStatusReporter.java", |
| ], |
| } |
| |
| java_defaults { |
| name: "cronet_native_unittests_defaults", |
| defaults: [ |
| "mts-target-sdk-version-current", |
| ], |
| compile_multilib: "both", |
| min_sdk_version: "31", // b/270049141 |
| srcs: [ |
| ":cronet_native_unittests_defaults_srcs", |
| ], |
| static_libs: [ |
| "androidx.annotation_annotation", |
| "junit", |
| ], |
| test_suites: [ |
| "general-tests", |
| "mts-tethering", |
| ], |
| } |
| |
| filegroup { |
| name: "cronet_for_testing_net_java_srcs", |
| srcs: [ |
| "net/test/android/javatests/src/org/chromium/net/AndroidNetworkLibraryTestUtil.java", |
| "net/test/android/javatests/src/org/chromium/net/test/util/CertTestUtil.java", |
| "net/test/android/javatests/src/org/chromium/net/test/util/NetworkChangeNotifierTestUtil.java", |
| "net/test/android/javatests/src/org/chromium/net/test/util/TestWebServer.java", |
| "net/test/android/javatests/src/org/chromium/net/test/util/WebServer.java", |
| "net/test/android/javatests/src/org/chromium/net/test/DummySpnegoAuthenticator.java", |
| "net/test/android/javatests/src/org/chromium/net/test/DummySpnegoAuthenticatorService.java", |
| "net/test/android/javatests/src/org/chromium/net/test/EmbeddedTestServerImpl.java", |
| "net/test/android/javatests/src/org/chromium/net/test/EmbeddedTestServerService.java", |
| "base/test/android/javatests/src/org/chromium/base/test/util/UrlUtils.java", |
| "net/android/javatests/src/org/chromium/net/AndroidKeyStoreTestUtil.java", |
| "net/android/javatests/src/org/chromium/net/AndroidProxyConfigServiceTestUtil.java", |
| "net/test/android/javatests/src/org/chromium/net/test/IConnectionListener.aidl", |
| "net/test/android/javatests/src/org/chromium/net/test/IEmbeddedTestServerImpl.aidl", |
| ], |
| } |
| |
| java_library { |
| name: "cronet_for_testing_net_java", |
| srcs: [ |
| ":cronet_for_testing_net_java_srcs", |
| ], |
| aidl: { |
| include_dirs: [ |
| "frameworks/base/core/java/", |
| ], |
| local_include_dirs: [ |
| "net/test/android/javatests/src", |
| ], |
| }, |
| static_libs: [ |
| "cronet_aml_java__testing", |
| "junit", |
| "androidx.annotation_annotation", |
| "androidx.annotation_annotation-experimental-nodeps", |
| ], |
| plugins: [ |
| "cronet_aml_java_jni_annotation_preprocessor", |
| ], |
| } |
| |
| filegroup { |
| name: "net_unittests_data", |
| srcs: [ |
| "net/data/**/*", |
| "net/third_party/nist-pkits/**/*", |
| "net/third_party/quiche/src/quiche/common/platform/api/testdir/**/*" |
| ], |
| } |
| |
| genrule { |
| name: "cronet_tester_app_jni", |
| defaults: [ |
| "cronet_aml_components_cronet_android_cronet_jni_registration__java__testing_defaults", |
| ], |
| srcs: [ |
| ":cronet_native_unittests_defaults_srcs", |
| ], |
| } |
| |
| android_test_helper_app { |
| name: "cronet_tester_app", |
| defaults: [ |
| "cronet_native_unittests_defaults", |
| "jni_proxy_natives_defaults", |
| ], |
| srcs: [":cronet_tester_app_jni"], |
| manifest: "test_runner/AndroidManifest.xml", |
| jni_libs: [ |
| "cronet_aml_components_cronet_android_cronet_unittests_android__library__testing", |
| ], |
| static_libs: ["cronet_aml_java__testing"], |
| } |
| |
| genrule { |
| name: "cronet_net_tester_app_jni", |
| defaults: [ |
| "cronet_aml_components_cronet_android_cronet_jni_registration__java__testing_defaults", |
| ], |
| srcs: [ |
| ":cronet_for_testing_net_java_srcs", |
| ":cronet_native_unittests_defaults_srcs", |
| ], |
| } |
| |
| android_test_helper_app { |
| name: "cronet_net_tester_app", |
| defaults: [ |
| "cronet_native_unittests_defaults", |
| "jni_proxy_natives_defaults", |
| ], |
| manifest: "test_runner/AndroidNetManifest.xml", |
| srcs: [":cronet_net_tester_app_jni"], |
| jni_libs: [ |
| "cronet_aml_net_net_unittests__library__testing", |
| ], |
| static_libs: ["cronet_for_testing_net_java"], |
| resource_dirs : [ |
| "net/android/unittest_support/res", |
| ] |
| } |
| |
| // ------------------------------ JAVA TEST TARGETS -------------------------------------------- |
| |
| filegroup { |
| name: "cronet_aml_javatests_sources", |
| srcs: [ |
| ":cronet_aml_java_apihelpers", |
| ":cronet_base_net_javatest_utils", |
| "components/cronet/android/test/javatests/**/UrlResponseInfoTest.java", |
| "components/cronet/android/test/javatests/**/BidirectionalStreamQuicTest.java", |
| "components/cronet/android/test/javatests/**/BrotliTest.java", |
| "components/cronet/android/test/javatests/**/CronetLoggerTestRule.java", |
| "components/cronet/android/test/javatests/**/CronetLoggerTest.java", |
| "components/cronet/android/test/javatests/**/CronetManifestTest.java", |
| "components/cronet/android/test/javatests/**/CronetStressTest.java", |
| "components/cronet/android/test/javatests/**/CronetTestRule.java", |
| "components/cronet/android/test/javatests/**/CronetTestRuleTest.java", |
| "components/cronet/android/test/javatests/**/CronetUploadTest.java", |
| "components/cronet/android/test/javatests/**/CronetUrlRequestTest.java", |
| "components/cronet/android/test/javatests/**/CronetUrlRequestContextTest.java", |
| "components/cronet/android/test/javatests/**/DiskStorageTest.java", |
| "components/cronet/android/test/javatests/**/ExperimentalOptionsTest.java", |
| "components/cronet/android/test/javatests/**/GetStatusTest.java", |
| "components/cronet/android/test/javatests/**/Http2TestServer.java", |
| "components/cronet/android/test/javatests/**/Test*.java", |
| "components/cronet/android/test/javatests/**/MetricsTestUtil.java", |
| "components/cronet/android/test/javatests/**/NetworkChangeNotifierTest.java", |
| "components/cronet/android/test/javatests/**/NQETest.java", |
| "components/cronet/android/test/javatests/**/RequestFinishedInfoTest.java", |
| "components/cronet/android/test/javatests/**/QuicTest.java", |
| "components/cronet/android/test/javatests/**/urlconnection/*.java", |
| ], |
| visibility: [ |
| "//packages/modules/Connectivity:__subpackages__", |
| ], |
| } |
| |
| filegroup { |
| name: "cronet_base_net_javatest_utils", |
| srcs: [ |
| "base/test/android/javatests/**/CriteriaNotSatisfiedException.java", |
| "base/test/android/javatests/**/Criteria.java", |
| "base/test/android/javatests/**/CriteriaHelper.java", |
| "base/test/android/javatests/**/DisabledTest.java", |
| "base/test/android/javatests/**/HistogramWatcher.java", |
| "base/test/android/javatests/**/LooperUtils.java", |
| "base/test/android/javatests/**/MetricsUtils.java", |
| "base/test/android/javatests/**/PackageManagerWrapper.java", |
| "base/test/android/javatests/**/ScalableTimeout.java", |
| "base/test/android/javatests/**/TestFileUtil.java", |
| "base/test/android/javatests/**/TimeoutTimer.java", |
| "base/test/android/javatests/**/UrlUtils.java", |
| "net/url_request/FailurePhase.java", |
| ] |
| } |
| |
| filegroup { |
| name: "cronet_aml_java_apihelpers", |
| srcs: [ |
| "components/cronet/android/**/http/apihelpers/UploadDataProviders.java" |
| ] |
| } |
| |
| // TODO: merge cronet_testserver_utils_srcs with cronet_aml_javatests_sources. |
| filegroup { |
| name: "cronet_testserver_utils_srcs", |
| srcs: [ |
| ":cronet_base_net_javatest_utils", |
| "components/cronet/android/test/**/CronetTestUtil.java", |
| "components/cronet/android/test/**/NativeTestServer.java", |
| "components/cronet/android/test/**/TestFilesInstaller.java", |
| "components/cronet/android/test/**/TestUploadDataStreamHandler.java", |
| "components/cronet/android/test/**/QuicTestServer.java", |
| "components/cronet/android/test/**/MockCertVerifier.java", |
| "components/cronet/android/test/**/MockUrlRequestJobFactory.java", |
| ], |
| } |
| |
| genrule { |
| name: "cronet_java_tests_jni", |
| defaults: ["jni_registration_generator_defaults"], |
| srcs: [ |
| ":cronet_aml_javatests_sources", |
| ":cronet_testserver_utils_srcs", |
| ], |
| } |
| |
| android_library { |
| name: "cronet_java_tests", |
| defaults: ["jni_proxy_natives_defaults"], |
| asset_dirs: [ |
| "components/cronet/testing/test_server/data/", |
| "net/data/ssl/certificates/", |
| ], |
| manifest: "components/cronet/android/test/src/org/chromium/net/AndroidManifest.xml", |
| srcs: [ |
| ":cronet_aml_javatests_sources", |
| ":cronet_java_tests_jni", |
| ":cronet_testserver_utils_srcs", |
| ], |
| sdk_version: "module_current", |
| min_sdk_version: "30", |
| static_libs: [ |
| "androidx.test.ext.junit", |
| "androidx.test.rules", |
| "cronet_aml_java__testing", |
| "guava", |
| "hamcrest-library", |
| "junit", |
| "truth", |
| ], |
| libs: [ |
| "android.test.base", |
| "cronet_aml_api_java", |
| "framework-connectivity", |
| "framework-connectivity-pre-jarjar", |
| // android.net.TrafficStats apis |
| "framework-connectivity-t", |
| "guava", |
| ], |
| lint: { test: true }, |
| visibility: [ |
| "//packages/modules/Connectivity:__subpackages__", |
| ], |
| } |
| |