xref: /aosp_15_r20/external/mobile-data-download/java/com/google/android/libraries/mobiledatadownload/BUILD (revision 6fa6b5e213d87a73421ed761ee7d492115d5f98c)
1# Copyright 2022 Google LLC
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.
14load("@build_bazel_rules_android//android:rules.bzl", "android_library")
15
16# MDI download (MDD) visibility is restricted to the following set of packages. Any
17# new clients must be added to this list in order to grant build visibility.
18package(
19    default_applicable_licenses = ["//:license"],
20    default_visibility = [
21        "//visibility:public",
22    ],
23    licenses = ["notice"],
24)
25
26android_library(
27    name = "mobiledatadownload",
28    srcs = [
29        "AddFileGroupRequest.java",
30        "CustomFileGroupValidator.java",
31        "DownloadFileGroupRequest.java",
32        "FileGroupPopulator.java",
33        "GetFileGroupRequest.java",
34        "GetFileGroupsByFilterRequest.java",
35        "ImportFilesRequest.java",
36        "MobileDataDownload.java",
37        "MobileDataDownloadImpl.java",
38        "ReadDataFileGroupRequest.java",
39        "ReadDataFileGroupsByFilterRequest.java",
40        "RemoveFileGroupRequest.java",
41        "RemoveFileGroupsByFilterRequest.java",
42        "RemoveFileGroupsByFilterResponse.java",
43        "TaskScheduler.java",
44    ],
45    exports = [
46        ":single_file_interfaces",
47    ],
48    deps = [
49        ":DownloadException",
50        ":DownloadListener",
51        ":FileSource",
52        ":Flags",
53        ":TimeSource",
54        ":UsageEvent",
55        ":single_file_interfaces",
56        "//java/com/google/android/libraries/mobiledatadownload/account:AccountUtil",
57        "//java/com/google/android/libraries/mobiledatadownload/file",
58        "//java/com/google/android/libraries/mobiledatadownload/foreground:ForegroundDownloadKey",
59        "//java/com/google/android/libraries/mobiledatadownload/foreground:NotificationUtil",
60        "//java/com/google/android/libraries/mobiledatadownload/internal:DownloadGroupState",
61        "//java/com/google/android/libraries/mobiledatadownload/internal:ExceptionToMddResultMapper",
62        "//java/com/google/android/libraries/mobiledatadownload/internal:MddConstants",
63        "//java/com/google/android/libraries/mobiledatadownload/internal:MobileDataDownloadManager",
64        "//java/com/google/android/libraries/mobiledatadownload/internal/collect",
65        "//java/com/google/android/libraries/mobiledatadownload/internal/logging:EventLogger",
66        "//java/com/google/android/libraries/mobiledatadownload/internal/logging:LogUtil",
67        "//java/com/google/android/libraries/mobiledatadownload/internal/proto:metadata_java_proto_lite",
68        "//java/com/google/android/libraries/mobiledatadownload/internal/util:DownloadFutureMap",
69        "//java/com/google/android/libraries/mobiledatadownload/internal/util:MddLiteConversionUtil",
70        "//java/com/google/android/libraries/mobiledatadownload/internal/util:ProtoConversionUtil",
71        "//java/com/google/android/libraries/mobiledatadownload/lite",
72        "//java/com/google/android/libraries/mobiledatadownload/monitor:DownloadProgressMonitor",
73        "//java/com/google/android/libraries/mobiledatadownload/tracing",
74        "//java/com/google/android/libraries/mobiledatadownload/tracing:concurrent",
75        "//proto:client_config_java_proto_lite",
76        "//proto:download_config_java_proto_lite",
77        "//proto:log_enums_java_proto_lite",
78        "//proto:logs_java_proto_lite",
79        "@androidx_annotation_annotation",
80        "@androidx_core_core",
81        "@com_google_auto_value",
82        "@com_google_code_findbugs_jsr305",
83        "@com_google_guava_guava",
84        "@com_google_protobuf//:any_proto",
85        "@com_google_protobuf//:protobuf_lite",
86    ],
87)
88
89android_library(
90    name = "MobileDataDownloadBuilder",
91    srcs = [
92        "MobileDataDownloadBuilder.java",
93    ],
94    deps = [
95        ":AccountSource",
96        ":Configurator",
97        ":Constants",
98        ":ExperimentationConfig",
99        ":Flags",
100        ":Logger",
101        ":SilentFeedback",
102        ":mobiledatadownload",
103        "//java/com/google/android/libraries/mobiledatadownload/account:AccountManagerAccountSource",
104        "//java/com/google/android/libraries/mobiledatadownload/delta:DeltaDecoder",
105        "//java/com/google/android/libraries/mobiledatadownload/downloader:FileDownloader",
106        "//java/com/google/android/libraries/mobiledatadownload/file",
107        "//java/com/google/android/libraries/mobiledatadownload/foreground:NotificationUtil",
108        "//java/com/google/android/libraries/mobiledatadownload/internal/dagger:ApplicationContextModule",
109        "//java/com/google/android/libraries/mobiledatadownload/internal/dagger:DownloaderModule",
110        "//java/com/google/android/libraries/mobiledatadownload/internal/dagger:ExecutorsModule",
111        "//java/com/google/android/libraries/mobiledatadownload/internal/dagger:MainMddLibModule",
112        "//java/com/google/android/libraries/mobiledatadownload/internal/dagger:StandaloneComponent",
113        "//java/com/google/android/libraries/mobiledatadownload/internal/logging:EventLogger",
114        "//java/com/google/android/libraries/mobiledatadownload/internal/logging:LogSampler",
115        "//java/com/google/android/libraries/mobiledatadownload/internal/logging:LogUtil",
116        "//java/com/google/android/libraries/mobiledatadownload/internal/logging:MddEventLogger",
117        "//java/com/google/android/libraries/mobiledatadownload/internal/logging:NoOpEventLogger",
118        "//java/com/google/android/libraries/mobiledatadownload/internal/proto:metadata_java_proto_lite",
119        "//java/com/google/android/libraries/mobiledatadownload/lite",
120        "//java/com/google/android/libraries/mobiledatadownload/monitor:DownloadProgressMonitor",
121        "//java/com/google/android/libraries/mobiledatadownload/monitor:NetworkUsageMonitor",
122        "//java/com/google/android/libraries/mobiledatadownload/tracing:concurrent",
123        "//proto:client_config_java_proto_lite",
124        "//proto:download_config_java_proto_lite",
125        "//proto:logs_java_proto_lite",
126        "@androidx_core_core",
127        "@com_google_auto_value",
128        "@com_google_dagger",
129        "@com_google_guava_guava",
130    ],
131)
132
133android_library(
134    name = "AccountSource",
135    srcs = ["AccountSource.java"],
136    deps = [
137        "@com_google_guava_guava",
138    ],
139)
140
141android_library(
142    name = "TimeSource",
143    srcs = ["TimeSource.java"],
144)
145
146android_library(
147    name = "Configurator",
148    srcs = ["Configurator.java"],
149    deps = [
150        "@com_google_guava_guava",
151    ],
152)
153
154android_library(
155    name = "Flags",
156    srcs = ["Flags.java"],
157)
158
159android_library(
160    name = "Logger",
161    srcs = ["Logger.java"],
162    deps = [
163        "@com_google_protobuf//:protobuf_lite",
164    ],
165)
166
167android_library(
168    name = "SilentFeedback",
169    srcs = ["SilentFeedback.java"],
170    deps = [
171        "@com_google_errorprone_error_prone_annotations",
172    ],
173)
174
175android_library(
176    name = "TaskScheduler",
177    srcs = ["TaskScheduler.java"],
178    deps = [
179        "@com_google_auto_value",
180        "@com_google_guava_guava",
181    ],
182)
183
184android_library(
185    name = "DownloadListener",
186    srcs = ["DownloadListener.java"],
187    deps = [
188        "//java/com/google/android/libraries/mobiledatadownload/internal/logging:LogUtil",
189        "//proto:client_config_java_proto_lite",
190    ],
191)
192
193android_library(
194    name = "Constants",
195    srcs = ["Constants.java"],
196    deps = [
197        "//proto:download_config_java_proto_lite",
198        "@com_google_guava_guava",
199    ],
200)
201
202android_library(
203    name = "DownloadException",
204    srcs = ["DownloadException.java"],
205    deps = [
206        "//java/com/google/android/libraries/mobiledatadownload/tracing:concurrent",
207        "@com_google_guava_guava",
208    ],
209)
210
211android_library(
212    name = "FileSource",
213    srcs = ["FileSource.java"],
214    deps = [
215        "@com_google_code_findbugs_jsr305",
216        "@com_google_protobuf//:protobuf_lite",
217    ],
218)
219
220android_library(
221    name = "AggregateException",
222    srcs = ["AggregateException.java"],
223    deps = [
224        "@androidx_annotation_annotation",
225        "@com_google_code_findbugs_jsr305",
226        "@com_google_guava_guava",
227    ],
228)
229
230android_library(
231    name = "single_file_interfaces",
232    srcs = [
233        "SingleFileDownloadListener.java",
234        "SingleFileDownloadRequest.java",
235    ],
236    deps = [
237        "//java/com/google/android/libraries/mobiledatadownload/downloader:FileDownloader",
238        "@com_google_auto_value",
239        "@com_google_guava_guava",
240    ],
241)
242
243android_library(
244    name = "UsageEvent",
245    srcs = [
246        "UsageEvent.java",
247    ],
248    deps = [
249        "//proto:client_config_java_proto_lite",
250        "//proto:log_enums_java_proto_lite",
251        "@com_google_auto_value",
252    ],
253)
254
255android_library(
256    name = "ExperimentationConfig",
257    srcs = ["ExperimentationConfig.java"],
258    deps = [
259        "@com_google_auto_value",
260        "@com_google_guava_guava",
261    ],
262)
263