| // |
| // 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 { |
| // See: http://go/android-license-faq |
| default_applicable_licenses: ["Android-Apache-2.0"], |
| } |
| |
| service_remoteauth_pre_jarjar_lib = "service-remoteauth-pre-jarjar" |
| |
| // Include build rules from Sources.bp |
| build = ["Sources.bp"] |
| |
| filegroup { |
| name: "service-connectivity-tiramisu-sources", |
| srcs: [ |
| "src/**/*.java", |
| ], |
| visibility: ["//visibility:private"], |
| } |
| |
| // The above filegroup can be used to specify different sources depending |
| // on the branch, while minimizing merge conflicts in the rest of the |
| // build rules. |
| |
| // This builds T+ services depending on framework-connectivity-t |
| // hidden symbols separately from the S+ services, to ensure that S+ |
| // services cannot accidentally depend on T+ hidden symbols from |
| // framework-connectivity-t. |
| java_library { |
| name: "service-connectivity-tiramisu-pre-jarjar", |
| sdk_version: "system_server_current", |
| // TODO(b/210962470): Bump this to at least S, and then T. |
| min_sdk_version: "30", |
| srcs: [ |
| ":service-connectivity-tiramisu-sources", |
| ], |
| libs: [ |
| "framework-annotations-lib", |
| "framework-configinfrastructure", |
| "framework-connectivity-pre-jarjar", |
| "framework-connectivity-t-pre-jarjar", |
| // TODO: use framework-tethering-pre-jarjar when it is separated from framework-tethering |
| "framework-tethering.impl", |
| "framework-wifi", |
| "service-connectivity-pre-jarjar", |
| "service-nearby-pre-jarjar", |
| "service-thread-pre-jarjar", |
| service_remoteauth_pre_jarjar_lib, |
| "ServiceConnectivityResources", |
| "unsupportedappusage", |
| ], |
| static_libs: [ |
| // Do not add static_libs here if they are already included in framework-connectivity |
| // or in service-connectivity. They are not necessary (included via |
| // service-connectivity-pre-jarjar), and in the case of code that is already in |
| // framework-connectivity, the classes would be included in the apex twice. |
| "modules-utils-statemachine", |
| ], |
| apex_available: [ |
| "com.android.tethering", |
| ], |
| visibility: [ |
| "//frameworks/base/tests/vcn", |
| "//packages/modules/Connectivity/service", |
| "//packages/modules/Connectivity/tests:__subpackages__", |
| "//packages/modules/IPsec/tests/iketests", |
| ], |
| lint: { |
| baseline_filename: "lint-baseline.xml", |
| }, |
| } |
| |
| // Test building mDNS as a standalone, so that it can be imported into other repositories as-is. |
| // The mDNS code is platform code so it should use framework-annotations-lib, contrary to apps that |
| // should use sdk_version: "system_current" and only androidx.annotation_annotation. But this build |
| // rule verifies that the mDNS code can be built into apps, if code transformations are applied to |
| // the annotations. |
| // When using "system_current", framework annotations are not available; they would appear as |
| // package-private as they are marked as such in the system_current stubs. So build against |
| // core_platform and add the stubs manually in "libs". See http://b/147773144#comment7. |
| java_library { |
| name: "service-connectivity-mdns-standalone-build-test", |
| sdk_version: "core_platform", |
| min_sdk_version: "21", |
| lint: { |
| error_checks: ["NewApi"], |
| |
| }, |
| srcs: [ |
| "src/com/android/server/connectivity/mdns/**/*.java", |
| ":framework-connectivity-t-mdns-standalone-build-sources", |
| ":service-mdns-droidstubs", |
| ], |
| exclude_srcs: [ |
| "src/com/android/server/connectivity/mdns/internal/SocketNetlinkMonitor.java", |
| "src/com/android/server/connectivity/mdns/SocketNetLinkMonitorFactory.java", |
| "src/com/android/server/connectivity/mdns/MdnsAdvertiser.java", |
| "src/com/android/server/connectivity/mdns/MdnsAnnouncer.java", |
| "src/com/android/server/connectivity/mdns/MdnsInterfaceAdvertiser.java", |
| "src/com/android/server/connectivity/mdns/MdnsProber.java", |
| "src/com/android/server/connectivity/mdns/MdnsRecordRepository.java", |
| ], |
| static_libs: [ |
| "net-utils-device-common-mdns-standalone-build-test", |
| ], |
| libs: [ |
| "framework-annotations-lib", |
| "android_system_stubs_current", |
| "androidx.annotation_annotation", |
| ], |
| visibility: [ |
| "//visibility:private", |
| ], |
| } |
| |
| droidstubs { |
| name: "service-mdns-droidstubs", |
| srcs: ["src/com/android/server/connectivity/mdns/SocketNetLinkMonitorFactory.java"], |
| libs: [ |
| "net-utils-device-common-mdns-standalone-build-test", |
| "service-connectivity-tiramisu-pre-jarjar", |
| ], |
| visibility: [ |
| "//visibility:private", |
| ], |
| } |