blob: 0e919e5bbc479bf31470a2fb7a740bf0d545b93f [file] [log] [blame]
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("@build_bazel_rules_android//android:rules.bzl", "android_library")
package(
default_visibility = [
"//visibility:public",
],
licenses = ["notice"],
)
# Most clients should depend on this target. It ensures that the "standard" schemes
# are available. Care will be taken to keep the size small. However, if a client wants
# even more granular control of dependencies, it can depend on a narrower build targets below.
android_library(
name = "backends",
exports = [
":android",
":file",
":file_descriptor",
],
)
android_library(
name = "android",
srcs = [
"AndroidFileBackend.java",
"AndroidUri.java",
],
deps = [
":account_manager",
":account_serialization",
":android_adapter",
":android_file_environment",
":file",
"//java/com/google/android/libraries/mobiledatadownload/file/common",
"//java/com/google/android/libraries/mobiledatadownload/file/common/internal:lite_transform_fragments",
"//java/com/google/android/libraries/mobiledatadownload/file/common/internal:preconditions",
"//java/com/google/android/libraries/mobiledatadownload/file/spi",
"//java/com/google/android/libraries/mobiledatadownload/file/transforms:proto",
"//proto:transform_java_proto_lite",
"@androidx_annotation_annotation",
"@com_google_code_findbugs_jsr305",
"@com_google_guava_guava",
],
)
android_library(
name = "blob_uri",
srcs = [
"BlobUri.java",
],
deps = [
"//java/com/google/android/libraries/mobiledatadownload/file/common",
"@com_google_guava_guava",
],
)
# 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.
android_library(
name = "blobstore_backend",
srcs = [
"BlobStoreBackend.java",
],
deps = [
":blob_uri",
":file_descriptor",
"//java/com/google/android/libraries/mobiledatadownload/file/common",
"//java/com/google/android/libraries/mobiledatadownload/file/spi",
"@com_google_guava_guava",
],
)
android_library(
name = "content_resolver",
srcs = [
"ContentResolverBackend.java",
],
deps = [
":file_descriptor",
"//java/com/google/android/libraries/mobiledatadownload/file/common",
"//java/com/google/android/libraries/mobiledatadownload/file/common/internal:preconditions",
"//java/com/google/android/libraries/mobiledatadownload/file/spi",
],
)
android_library(
name = "file_descriptor",
srcs = [
"FileDescriptorUri.java",
],
deps = [
"//java/com/google/android/libraries/mobiledatadownload/file/common",
# NOTE: dependency of gmscore client lib <internal>
],
)
android_library(
name = "file",
srcs = [
"FileUri.java",
"JavaFileBackend.java",
],
deps = [
":file_adapter",
":file_descriptor",
"//java/com/google/android/libraries/mobiledatadownload/file/common",
"//java/com/google/android/libraries/mobiledatadownload/file/common/internal:backend_stream",
"//java/com/google/android/libraries/mobiledatadownload/file/common/internal:lite_transform_fragments",
"//java/com/google/android/libraries/mobiledatadownload/file/spi",
"//java/com/google/android/libraries/mobiledatadownload/file/transforms:proto",
"//proto:transform_java_proto_lite",
"@com_google_guava_guava",
],
)
android_library(
name = "memory",
srcs = [
"MemoryBackend.java",
"MemoryUri.java",
],
deps = [
"//java/com/google/android/libraries/mobiledatadownload/file/common",
"//java/com/google/android/libraries/mobiledatadownload/file/common/internal:lite_transform_fragments",
"//java/com/google/android/libraries/mobiledatadownload/file/spi",
"//java/com/google/android/libraries/mobiledatadownload/file/transforms:proto",
"//proto:transform_java_proto_lite",
"@com_google_guava_guava",
],
)
android_library(
name = "asset",
srcs = [
"AssetFileBackend.java",
],
deps = [
"//java/com/google/android/libraries/mobiledatadownload/file/common",
"//java/com/google/android/libraries/mobiledatadownload/file/spi",
"@com_google_guava_guava",
],
)
android_library(
name = "android_adapter",
srcs = [
"AndroidUri.java",
"AndroidUriAdapter.java",
"UriAdapter.java",
],
visibility = ["//:__subpackages__"],
deps = [
":account_manager",
":account_serialization",
":android_file_environment",
"//java/com/google/android/libraries/mobiledatadownload/file/common",
"//java/com/google/android/libraries/mobiledatadownload/file/common/internal:lite_transform_fragments",
"//java/com/google/android/libraries/mobiledatadownload/file/common/internal:preconditions",
"//java/com/google/android/libraries/mobiledatadownload/file/transforms:proto",
"//proto:transform_java_proto_lite",
"@com_google_code_findbugs_jsr305",
"@com_google_guava_guava",
],
)
android_library(
name = "generic_adapter",
srcs = [
"GenericUriAdapter.java",
"UriAdapter.java",
],
visibility = ["//:__subpackages__"],
deps = [
":android_adapter",
":file",
":file_adapter",
"//java/com/google/android/libraries/mobiledatadownload/file/common",
],
)
android_library(
name = "file_adapter",
srcs = [
"FileUriAdapter.java",
"UriAdapter.java",
],
visibility = ["//:__subpackages__"],
deps = [
"//java/com/google/android/libraries/mobiledatadownload/file/common",
],
)
# Shared library code restricted to the internal package group
android_library(
name = "account_serialization",
srcs = [
"AccountSerialization.java",
],
visibility = ["//:__subpackages__"],
deps = [
"//java/com/google/android/libraries/mobiledatadownload/file/common/internal:preconditions",
# NOTE: dependency of gmscore client lib <internal>
],
)
android_library(
name = "account_manager",
srcs = [
"AccountManager.java",
],
deps = [
"@com_google_guava_guava",
],
)
# Shared library code restricted to the internal package group
android_library(
name = "android_file_environment",
srcs = ["AndroidFileEnvironment.java"],
visibility = ["//:__subpackages__"],
)
android_library(
name = "uri_normalizer",
srcs = [
"UriNormalizer.java",
],
deps = [
"@com_google_guava_guava",
],
)