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