|  | // Copyright (C) 2021 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. | 
|  |  | 
|  | package { | 
|  | default_applicable_licenses: ["Android-Apache-2.0"], | 
|  | } | 
|  |  | 
|  | java_library { | 
|  | name: "net-tests-utils", | 
|  | srcs: [ | 
|  | "devicetests/**/*.java", | 
|  | "devicetests/**/*.kt", | 
|  | ], | 
|  | defaults: [ | 
|  | "framework-connectivity-test-defaults", | 
|  | "lib_mockito_extended" | 
|  | ], | 
|  | libs: [ | 
|  | "androidx.annotation_annotation", | 
|  | "net-utils-device-common-bpf",  // TestBpfMap extends IBpfMap. | 
|  | ], | 
|  | static_libs: [ | 
|  | "androidx.test.ext.junit", | 
|  | "kotlin-reflect", | 
|  | "libnanohttpd", | 
|  | "net-tests-utils-host-device-common", | 
|  | "net-utils-device-common", | 
|  | "net-utils-device-common-async", | 
|  | "net-utils-device-common-netlink", | 
|  | "net-utils-device-common-struct", | 
|  | "net-utils-device-common-wear", | 
|  | "modules-utils-build_system", | 
|  | ], | 
|  | lint: { strict_updatability_linting: true }, | 
|  | } | 
|  |  | 
|  | java_library { | 
|  | // Consider using net-tests-utils instead if writing device code. | 
|  | // That library has a lot more useful tools into it for users that | 
|  | // work on Android and includes this lib. | 
|  | name: "net-tests-utils-host-device-common", | 
|  | srcs: [ | 
|  | "hostdevice/**/*.java", | 
|  | "hostdevice/**/*.kt", | 
|  | ], | 
|  | host_supported: true, | 
|  | visibility: [ | 
|  | "//packages/modules/Connectivity/staticlibs/tests:__subpackages__", | 
|  | "//packages/modules/Connectivity/staticlibs/client-libs/tests:__subpackages__", | 
|  | "//packages/modules/Connectivity/tests/cts/hostside", | 
|  | ], | 
|  | // There are downstream branches using an old version of Kotlin | 
|  | // that used to reserve the right to make breaking changes to the | 
|  | // Result type and disallowed returning an instance of it. | 
|  | // Later versions allowed this and there was never a change, | 
|  | // so no matter the version returning Result is always fine, | 
|  | // but on sc-mainline-prod the compiler rejects it without | 
|  | // the following flag. | 
|  | kotlincflags: ["-Xallow-result-return-type"], | 
|  | libs: [ | 
|  | "jsr305", | 
|  | ], | 
|  | static_libs: [ | 
|  | "kotlin-test" | 
|  | ], | 
|  | lint: { strict_updatability_linting: true }, | 
|  | } | 
|  |  | 
|  | java_test_host { | 
|  | name: "net-tests-utils-host-common", | 
|  | srcs: [ | 
|  | "host/**/*.java", | 
|  | "host/**/*.kt", | 
|  | ], | 
|  | libs: ["tradefed"], | 
|  | test_suites: [ | 
|  | "ats", | 
|  | "device-tests", | 
|  | "general-tests", | 
|  | "cts", | 
|  | "mts-networking", | 
|  | "mcts-networking", | 
|  | ], | 
|  | data: [":ConnectivityTestPreparer"], | 
|  | } |