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 16package( 17 default_applicable_licenses = ["//:license"], 18 default_visibility = [ 19 "//visibility:public", 20 ], 21 licenses = ["notice"], 22) 23 24# Most clients should depend on this target. It ensures that the "standard" schemes 25# are available. Care will be taken to keep the size small. However, if a client wants 26# even more granular control of dependencies, it can depend on a narrower build targets below. 27android_library( 28 name = "backends", 29 exports = [ 30 ":android", 31 ":file", 32 ":file_descriptor", 33 ], 34) 35 36android_library( 37 name = "android", 38 srcs = [ 39 "AndroidFileBackend.java", 40 "AndroidUri.java", 41 ], 42 deps = [ 43 ":account_manager", 44 ":account_serialization", 45 ":android_adapter", 46 ":android_file_environment", 47 ":file", 48 "//java/com/google/android/libraries/mobiledatadownload/file/common", 49 "//java/com/google/android/libraries/mobiledatadownload/file/common/internal:lite_transform_fragments", 50 "//java/com/google/android/libraries/mobiledatadownload/file/common/internal:preconditions", 51 "//java/com/google/android/libraries/mobiledatadownload/file/spi", 52 "//java/com/google/android/libraries/mobiledatadownload/file/transforms:proto", 53 "//proto:transform_java_proto_lite", 54 "@androidx_annotation_annotation", 55 "@com_google_code_findbugs_jsr305", 56 "@com_google_errorprone_error_prone_annotations", 57 "@com_google_guava_guava", 58 ], 59) 60 61android_library( 62 name = "blob_uri", 63 srcs = [ 64 "BlobUri.java", 65 ], 66 deps = [ 67 "//java/com/google/android/libraries/mobiledatadownload/file/common", 68 "@com_google_errorprone_error_prone_annotations", 69 "@com_google_guava_guava", 70 ], 71) 72 73# It needs to be built against a stable android SDK, e.g. --android_sdk=//third_party/java/android/android_sdk_linux/platforms/stable:android_sdk_tools. 74android_library( 75 name = "blobstore_backend", 76 srcs = [ 77 "BlobStoreBackend.java", 78 ], 79 deps = [ 80 ":blob_uri", 81 ":file_descriptor", 82 "//java/com/google/android/libraries/mobiledatadownload/file/common", 83 "//java/com/google/android/libraries/mobiledatadownload/file/spi", 84 "@com_google_code_findbugs_jsr305", 85 "@com_google_guava_guava", 86 ], 87) 88 89android_library( 90 name = "content_resolver", 91 srcs = [ 92 "ContentResolverBackend.java", 93 ], 94 deps = [ 95 ":file_descriptor", 96 "//java/com/google/android/libraries/mobiledatadownload/file/common", 97 "//java/com/google/android/libraries/mobiledatadownload/file/common/internal:preconditions", 98 "//java/com/google/android/libraries/mobiledatadownload/file/spi", 99 "@com_google_errorprone_error_prone_annotations", 100 ], 101) 102 103android_library( 104 name = "file_descriptor", 105 srcs = [ 106 "FileDescriptorUri.java", 107 ], 108 deps = [ 109 "//java/com/google/android/libraries/mobiledatadownload/file/common", 110 # NOTE: dependency of gmscore client lib <internal> 111 ], 112) 113 114android_library( 115 name = "file", 116 srcs = [ 117 "FileUri.java", 118 "JavaFileBackend.java", 119 ], 120 deps = [ 121 ":file_adapter", 122 ":file_descriptor", 123 "//java/com/google/android/libraries/mobiledatadownload/file/common", 124 "//java/com/google/android/libraries/mobiledatadownload/file/common/internal:backend_stream", 125 "//java/com/google/android/libraries/mobiledatadownload/file/common/internal:lite_transform_fragments", 126 "//java/com/google/android/libraries/mobiledatadownload/file/spi", 127 "//java/com/google/android/libraries/mobiledatadownload/file/transforms:proto", 128 "//proto:transform_java_proto_lite", 129 "@com_google_errorprone_error_prone_annotations", 130 "@com_google_guava_guava", 131 ], 132) 133 134android_library( 135 name = "memory", 136 srcs = [ 137 "MemoryBackend.java", 138 "MemoryUri.java", 139 ], 140 deps = [ 141 "//java/com/google/android/libraries/mobiledatadownload/file/common", 142 "//java/com/google/android/libraries/mobiledatadownload/file/common/internal:lite_transform_fragments", 143 "//java/com/google/android/libraries/mobiledatadownload/file/spi", 144 "//java/com/google/android/libraries/mobiledatadownload/file/transforms:proto", 145 "//proto:transform_java_proto_lite", 146 "@com_google_errorprone_error_prone_annotations", 147 "@com_google_guava_guava", 148 ], 149) 150 151android_library( 152 name = "asset", 153 srcs = [ 154 "AssetFileBackend.java", 155 ], 156 deps = [ 157 "//java/com/google/android/libraries/mobiledatadownload/file/common", 158 "//java/com/google/android/libraries/mobiledatadownload/file/spi", 159 "@com_google_guava_guava", 160 ], 161) 162 163android_library( 164 name = "android_adapter", 165 srcs = [ 166 "AndroidUri.java", 167 "AndroidUriAdapter.java", 168 "UriAdapter.java", 169 ], 170 visibility = ["//:__subpackages__"], 171 deps = [ 172 ":account_manager", 173 ":account_serialization", 174 ":android_file_environment", 175 "//java/com/google/android/libraries/mobiledatadownload/file/common", 176 "//java/com/google/android/libraries/mobiledatadownload/file/common/internal:lite_transform_fragments", 177 "//java/com/google/android/libraries/mobiledatadownload/file/common/internal:preconditions", 178 "//java/com/google/android/libraries/mobiledatadownload/file/transforms:proto", 179 "//proto:transform_java_proto_lite", 180 "@com_google_code_findbugs_jsr305", 181 "@com_google_errorprone_error_prone_annotations", 182 "@com_google_guava_guava", 183 ], 184) 185 186android_library( 187 name = "generic_adapter", 188 srcs = [ 189 "GenericUriAdapter.java", 190 "UriAdapter.java", 191 ], 192 visibility = ["//:__subpackages__"], 193 deps = [ 194 ":android_adapter", 195 ":file", 196 ":file_adapter", 197 "//java/com/google/android/libraries/mobiledatadownload/file/common", 198 ], 199) 200 201android_library( 202 name = "file_adapter", 203 srcs = [ 204 "FileUriAdapter.java", 205 "UriAdapter.java", 206 ], 207 visibility = ["//:__subpackages__"], 208 deps = [ 209 "//java/com/google/android/libraries/mobiledatadownload/file/common", 210 ], 211) 212 213# Shared library code restricted to the internal package group 214android_library( 215 name = "account_serialization", 216 srcs = [ 217 "AccountSerialization.java", 218 ], 219 visibility = ["//:__subpackages__"], 220 deps = [ 221 "//java/com/google/android/libraries/mobiledatadownload/file/common/internal:preconditions", 222 "@com_google_errorprone_error_prone_annotations", 223 # NOTE: dependency of gmscore client lib <internal> 224 ], 225) 226 227android_library( 228 name = "account_manager", 229 srcs = [ 230 "AccountManager.java", 231 ], 232 deps = [ 233 "@com_google_guava_guava", 234 ], 235) 236 237# Shared library code restricted to the internal package group 238android_library( 239 name = "android_file_environment", 240 srcs = ["AndroidFileEnvironment.java"], 241 visibility = ["//:__subpackages__"], 242) 243 244android_library( 245 name = "uri_normalizer", 246 srcs = [ 247 "UriNormalizer.java", 248 ], 249 deps = [ 250 "@com_google_guava_guava", 251 ], 252) 253