1// Copyright (C) 2022 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16    default_applicable_licenses: ["Android-Apache-2.0"],
17}
18
19filegroup {
20    name: "framework-ondevicepersonalization-aidl",
21    srcs: [
22        "java/**/*.aidl",
23    ],
24    visibility: [
25        "//frameworks/base",
26        "//packages/modules/OnDevicePersonalization:__subpackages__"
27    ],
28    path: "java",
29}
30
31filegroup {
32    name: "framework-ondevicepersonalization-sources",
33    defaults: ["framework-sources-module-defaults"],
34    srcs: [
35        "java/**/*.java",
36    ],
37    visibility: ["//packages/modules/OnDevicePersonalization:__subpackages__"],
38    path: "java",
39}
40
41filegroup {
42    name: "framework-ondevicepersonalization-jarjar",
43    srcs: ["jarjar_rules.txt"]
44}
45
46java_sdk_library {
47    name: "framework-ondevicepersonalization",
48    srcs: [
49        ":framework-ondevicepersonalization-aidl",
50        ":framework-ondevicepersonalization-sources",
51    ],
52    libs: [
53        "app-compat-annotations",
54        "modules-utils-preconditions",
55        "framework-connectivity.stubs.module_lib",
56        "ondevicepersonalization_flags_lib",
57    ],
58    stub_only_libs: [
59        "framework-connectivity.stubs.module_lib",
60    ],
61    sdk_version: "module_current",
62    defaults: [
63        "framework-module-defaults",
64        "ondevicepersonalization-java-defaults",
65    ],
66    permitted_packages: [
67        "android.adservices.ondevicepersonalization",
68        "android.ondevicepersonalization",
69        "com.android.adservices.ondevicepersonalization",
70        "com.android.ondevicepersonalization.internal",
71        "android.federatedcompute",
72        "com.android.federatedcompute.internal",
73    ],
74    jarjar_rules: ":framework-ondevicepersonalization-jarjar",
75    static_libs: [
76            "modules-utils-build",
77            "modules-utils-list-slice",
78    ],
79    impl_library_visibility: ["//visibility:public"],
80    min_sdk_version: "Tiramisu",
81    apex_available: ["com.android.ondevicepersonalization"],
82    aconfig_declarations: [
83            "ondevicepersonalization_flags",
84    ],
85    lint: {
86        baseline_filename: "lint-baseline.xml",
87    },
88}
89
90java_defaults {
91    name: "framework-ondevicepersonalization-cts-defaults",
92    sdk_version: "core_current",
93    libs: [
94        "framework-ondevicepersonalization.impl",
95        "framework",
96        "framework-res",
97    ],
98    defaults_visibility: ["//visibility:public"],
99}
100
101// defaults for tests that need to build against framework-odp's @hide APIs
102java_defaults {
103    name: "framework-ondevicepersonalization-test-defaults",
104    sdk_version: "module_Tiramisu",
105    libs: [
106        "framework-ondevicepersonalization.impl",
107    ],
108}
109