• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2023 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
19// NOTE: currently there's just one library for everything (which in
20// reality is just AtomicFileDataStore), but it might be better to
21// split into multiple libraries in the feature (if it gets bigger
22// and/or if new classes adds external dependencies like proto support)
23java_library {
24    name: "adservices-shared-storage",
25    min_sdk_version: "30",
26    sdk_version: "module_current",
27    srcs: [
28        "java/com/android/adservices/shared/storage/*.java",
29    ],
30    libs: [
31        "framework-annotations-lib",
32    ],
33    static_libs: [
34        "adservices-shared-error-logging",
35        "adservices-statsd",
36        "adservices-shared-util",
37        "modules-utils-build",
38        "modules-utils-preconditions",
39    ],
40    visibility: [
41        "//packages/modules/AdServices:__subpackages__",
42        "//packages/modules/ExtServices:__subpackages__",
43        "//packages/modules/OnDevicePersonalization:__subpackages__",
44    ],
45    apex_available: [
46        "com.android.adservices",
47        "com.android.extservices",
48        "com.android.ondevicepersonalization",
49    ],
50    lint: {
51        extra_check_modules: ["AdServicesProdLintChecker"],
52        baseline_filename: "lint-baseline-adservices-shared-storage.xml", // TODO(b/356688417): Clean up baseline file.
53    },
54}
55
56java_library {
57    name: "adservices-shared-datastore",
58    min_sdk_version: "30",
59    sdk_version: "module_current",
60    srcs: [
61        "java/com/android/adservices/shared/datastore/**/*.java",
62        "java/com/android/adservices/shared/datastore/**/*.kt",
63    ],
64    static_libs: [
65        "libprotobuf-java-lite",
66        "androidx.datastore_datastore",
67        "androidx.datastore_datastore-guava",
68    ],
69    apex_available: [
70        "com.android.adservices",
71        "com.android.extservices",
72        "com.android.ondevicepersonalization",
73    ],
74}
75
76java_library {
77    name: "adservices-shared-flags-backend",
78    min_sdk_version: "30",
79    sdk_version: "module_current",
80    srcs: [
81        ":adservices-shared-sideless-flags-sources",
82        "java/com/android/adservices/shared/flags/**/*.java",
83    ],
84    libs: [
85        "framework-configinfrastructure.stubs.module_lib",
86    ],
87    apex_available: [
88        "com.android.adservices",
89        "com.android.extservices",
90        "com.android.ondevicepersonalization",
91    ],
92}
93
94java_library {
95    name: "adservices-statsd",
96    sdk_version: "module_current",
97    min_sdk_version: "30",
98    srcs: [
99        ":statslog-adservices-java-gen",
100    ],
101    libs: [
102        "androidx.annotation_annotation",
103        "framework-statsd.stubs.module_lib",
104    ],
105    visibility: [
106        "//packages/modules/AdServices:__subpackages__",
107        "//packages/modules/ExtServices:__subpackages__",
108        "//packages/modules/OnDevicePersonalization:__subpackages__",
109    ],
110    apex_available: [
111        "com.android.adservices",
112        "com.android.extservices",
113        "com.android.ondevicepersonalization",
114    ],
115}
116
117java_library {
118    name: "adservices-shared-error-logging",
119    min_sdk_version: "30",
120    sdk_version: "module_current",
121    srcs: [
122        "java/com/android/adservices/shared/errorlogging/*.java",
123        ":statslog-adservices-java-gen",
124    ],
125    static_libs: [
126        "adservices-shared-util",
127        "adservices-shared-proto-lite",
128        "adservices-shared-proto-utils",
129        "adservices-shared-common",
130    ],
131    libs: [
132        "androidx.annotation_annotation",
133        "framework-annotations-lib",
134        "framework-statsd.stubs.module_lib",
135        "auto_value_annotations",
136        "jsr305",
137    ],
138    plugins: [
139        "auto_value_plugin",
140        "auto_annotation_plugin",
141    ],
142    visibility: [
143        "//packages/modules/AdServices:__subpackages__",
144        "//packages/modules/ExtServices:__subpackages__",
145        "//packages/modules/OnDevicePersonalization:__subpackages__",
146    ],
147    apex_available: [
148        "com.android.adservices",
149        "com.android.extservices",
150        "com.android.ondevicepersonalization",
151    ],
152    lint: {
153        extra_check_modules: ["AdServicesProdLintChecker"],
154    },
155}
156
157java_library {
158    name: "adservices-shared-spe",
159    min_sdk_version: "30",
160    sdk_version: "module_current",
161    srcs: [
162        "java/com/android/adservices/shared/spe/**/*.java",
163        ":statslog-adservices-java-gen",
164    ],
165    static_libs: [
166        "adservices-shared-common",
167        "adservices-shared-error-logging",
168        "adservices-shared-proto-utils",
169        "guava", // MoreExecutors, Executors...
170    ],
171    libs: [
172        "androidx.annotation_annotation",
173        "framework-annotations-lib",
174        "framework-statsd.stubs.module_lib",
175        "auto_value_annotations",
176    ],
177    plugins: [
178        "auto_value_plugin",
179        "auto_annotation_plugin",
180    ],
181    visibility: [
182        "//packages/modules/AdServices:__subpackages__",
183        "//packages/modules/ExtServices:__subpackages__",
184        "//packages/modules/OnDevicePersonalization:__subpackages__",
185    ],
186    apex_available: [
187        "com.android.adservices",
188        "com.android.extservices",
189        "com.android.ondevicepersonalization",
190    ],
191    lint: {
192        extra_check_modules: ["AdServicesProdLintChecker"],
193        baseline_filename: "lint-baseline-adservices-shared-spe.xml", // TODO(b/356688417): Clean up baseline file.
194    },
195}
196
197// NOTE: currently there's just one library for everything (which for
198// now is just ApplicationContext), but it might be better to split
199// into multiple libraries in the future (if it gets bigger and/or
200// if new classes adds external dependencies)
201java_library {
202    name: "adservices-shared-common",
203    min_sdk_version: "30",
204    sdk_version: "module_current",
205    srcs: [
206        "java/com/android/adservices/shared/common/**/*.java",
207    ],
208    exclude_srcs: [
209        "java/com/android/adservices/shared/common/exception/*.java",
210        "java/com/android/adservices/shared/common/system/*.java",
211    ],
212    static_libs: [
213        "adservices-shared-util",
214        "modules-utils-preconditions",
215    ],
216    libs: [
217        "framework-annotations-lib",
218        "jsr305", // for @ThreadSafe",
219    ],
220    apex_available: [
221        "com.android.adservices",
222        "com.android.extservices",
223        "com.android.ondevicepersonalization",
224    ],
225    lint: {
226        extra_check_modules: ["AdServicesProdLintChecker"],
227    },
228}
229
230java_library {
231    name: "adservices-shared-exceptions",
232    min_sdk_version: "30",
233    sdk_version: "module_current",
234    srcs: [
235        "java/com/android/adservices/shared/common/exception/*.java",
236    ],
237    apex_available: [
238        "com.android.adservices",
239        "com.android.extservices",
240        "com.android.ondevicepersonalization",
241    ],
242    lint: {
243        extra_check_modules: ["AdServicesProdLintChecker"],
244    },
245}
246
247// Provides helper to be used only by system-server classes
248java_library {
249    name: "adservices-shared-system-common",
250    min_sdk_version: "33",
251    sdk_version: "module_current",
252    srcs: [
253        "java/com/android/adservices/shared/system/**/*.java",
254    ],
255    libs: [
256        "error_prone_annotations", // for @FormatMethod
257        "framework-annotations-lib", // for @VisibleForTesting
258    ],
259    apex_available: [
260        "com.android.adservices",
261        // extservices doesn't have system-server classes
262        "com.android.ondevicepersonalization",
263    ],
264    visibility: [
265        // Available for its own tests...
266        "//packages/modules/AdServices/shared/tests/device-side:__subpackages__",
267
268        // ... and system-server projects
269        "//packages/modules/AdServices/adservices/service:__subpackages__",
270        "//packages/modules/AdServices/sdksandbox/service:__subpackages__",
271        "//packages/modules/OnDevicePersonalization/systemservice:__subpackages__",
272    ],
273    lint: {
274        extra_check_modules: ["AdServicesProdLintChecker"],
275    },
276}
277
278filegroup {
279    name: "adservices-shared-flag-annotation-sources",
280    srcs: [
281        "java/com/android/adservices/shared/common/flags/ConfigFlag.java",
282        "java/com/android/adservices/shared/common/flags/FeatureFlag.java",
283    ],
284    visibility: [
285        "//packages/modules/AdServices/adservices:__subpackages__",
286        "//packages/modules/OnDevicePersonalization:__subpackages__",
287    ],
288    path: "java",
289}
290
291java_library {
292    name: "adservices-shared-proto-utils",
293    min_sdk_version: "30",
294    sdk_version: "module_current",
295    srcs: [
296        "java/com/android/adservices/shared/util/ProtoParser.java",
297        "java/com/android/adservices/shared/errorlogging/AdServicesErrorLogger.java",
298    ],
299    static_libs: [
300        "adservices-shared-proto-lite",
301        "adservices-shared-util",
302        "adservices-statsd",
303    ],
304    libs: [
305        "framework-annotations-lib",
306    ],
307    apex_available: [
308        "com.android.adservices",
309        "com.android.extservices",
310        "com.android.ondevicepersonalization",
311    ],
312    lint: {
313        extra_check_modules: ["AdServicesProdLintChecker"],
314    },
315}
316
317// NOTE: this util library only have one Preconditions class now. If we add more classes, we should
318// consider splitting this into a specific preconditions library. (if it gets bigger and/or if new
319// classes adds external dependencies)
320java_library {
321    name: "adservices-shared-util",
322    min_sdk_version: "30",
323    sdk_version: "module_current",
324    srcs: [
325        "java/com/android/adservices/shared/util/*.java",
326    ],
327    exclude_srcs: [
328        "java/com/android/adservices/shared/util/ProtoParser.java",
329    ],
330    libs: [
331        "framework-annotations-lib",
332    ],
333    static_libs: [
334        "modules-utils-build",
335        "error_prone_annotations", // For @FormatMethod
336    ],
337    apex_available: [
338        "com.android.adservices",
339        "com.android.extservices",
340        "com.android.ondevicepersonalization",
341    ],
342    lint: {
343        extra_check_modules: ["AdServicesProdLintChecker"],
344    },
345}
346
347java_library {
348    name: "adservices-shared-metriclogger",
349    min_sdk_version: "30",
350    sdk_version: "module_current",
351    srcs: [
352        "java/com/android/adservices/shared/metriclogger/**/*.java",
353    ],
354    plugins: [
355        "auto_value_plugin",
356        "auto_annotation_plugin",
357    ],
358    libs: [
359        "framework-annotations-lib",
360        "auto_value_annotations",
361        "guava",
362    ],
363    static_libs: [
364        "adservices-shared-datastore",
365        "adservices-shared-error-logging",
366        "adservices-shared-util",
367        "modules-utils-build",
368        "modules-utils-preconditions",
369        "adservices-shared-proto-lite",
370        "androidx.annotation_annotation",
371    ],
372    visibility: [
373        "//packages/modules/AdServices:__subpackages__",
374        "//packages/modules/ExtServices:__subpackages__",
375        "//packages/modules/OnDevicePersonalization:__subpackages__",
376    ],
377    apex_available: [
378        "com.android.adservices",
379        "com.android.extservices",
380        "com.android.ondevicepersonalization",
381    ],
382    lint: {
383        extra_check_modules: ["AdServicesProdLintChecker"],
384        baseline_filename: "lint-baseline-adservices-shared-storage.xml", // TODO(b/356688417): Clean up baseline file.
385    },
386}
387