• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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