java/gust/backend/driver/firestore/BUILD.bazel
##
# Copyright © 2020, The Gust Framework Authors. All rights reserved.
#
# The Gust/Elide framework and tools, and all associated source or object computer code, except where otherwise noted,
# are licensed under the Zero Prosperity license, which is enclosed in this repository, in the file LICENSE.txt. Use of
# this code in object or source form requires and implies consent and agreement to that license in principle and
# practice. Source or object code not listing this header, or unless specified otherwise, remain the property of
# Elide LLC and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to
# Elide LLC and its suppliers and may be covered by U.S. and Foreign Patents, or patents in process, and are protected
# by trade secret and copyright law. Dissemination of this information, or reproduction of this material, in any form,
# is strictly forbidden except in adherence with assigned license requirements.
##
package(
default_visibility = ["//visibility:public"],
)
load(
"//defs/toolchain/java:rules.bzl",
java_library = "jdk_library",
)
load(
"//defs/toolchain:deps.bzl",
"maven",
"javaproto",
)
_COMMON_DEPS = [
"@javax_annotation_api",
"@com_google_code_findbugs_jsr305",
"@com_google_protobuf//:protobuf_java",
"//java/gust/backend/runtime:runtime",
maven("org.slf4j:slf4j-api"),
maven("com.google.cloud:google-cloud-firestore"),
maven("com.google.guava:guava"),
maven("io.grpc:grpc-alts"),
maven("io.micronaut:micronaut-inject"),
maven("io.micronaut:micronaut-runtime"),
maven("io.micronaut:micronaut-context"),
maven("org.reactivestreams:reactive-streams"),
maven("javax.validation:validation-api"),
]
java_library(
name = "package-info",
srcs = ["package-info.java"],
)
java_library(
name = "FirestoreAdapter",
srcs = ["FirestoreAdapter.java"],
deps = [
":FirestoreDriver",
"//java/gust/backend/model:CollapsedMessage",
"//java/gust/backend/model:CollapsedMessageCodec",
"//java/gust/backend/model:CacheDriver",
"//java/gust/backend/model:DatabaseAdapter",
"//java/gust/backend/model:DatabaseDriver",
"//java/gust/backend/model:ModelCodec",
"//java/gust/backend/model:ModelMetadata",
"//java/gust/backend/model:PersistenceDriver",
"//java/gust/backend/transport:GoogleService",
"//java/gust/backend/transport:GoogleTransportConfig",
"//java/gust/backend/transport:GoogleTransportManager",
] + _COMMON_DEPS,
)
java_library(
name = "FirestoreDriver",
srcs = ["FirestoreDriver.java"],
deps = [
"//java/gust/backend/model:CollapsedMessage",
"//java/gust/backend/model:CollapsedMessageCodec",
"//java/gust/backend/model:DatabaseDriver",
"//java/gust/backend/model:DeleteOptions",
"//java/gust/backend/model:FetchOptions",
"//java/gust/backend/model:ModelCodec",
"//java/gust/backend/model:ModelDeserializer",
"//java/gust/backend/model:ModelInflateException",
"//java/gust/backend/model:ModelMetadata",
"//java/gust/backend/model:ObjectModelCodec",
"//java/gust/backend/model:ObjectModelSerializer",
"//java/gust/backend/model:ObjectModelDeserializer",
"//java/gust/backend/model:OperationOptions",
"//java/gust/backend/model:SerializedModel",
"//java/gust/backend/model:UpdateOptions",
"//java/gust/backend/model:WriteOptions",
"//java/gust/backend/model:WriteProxy",
"//java/gust/backend/transport:GoogleService",
"//java/gust/backend/transport:GoogleTransportManager",
javaproto("//gust/core:datamodel"),
maven("io.grpc:grpc-api"),
maven("com.google.api:gax"),
maven("com.google.api:gax-grpc"),
maven("com.google.api:api-common"),
maven("com.google.cloud:google-cloud-core"),
maven("com.google.cloud:google-cloud-core-grpc"),
] + _COMMON_DEPS,
exports = [
maven("io.grpc:grpc-api"),
maven("io.grpc:grpc-core"),
maven("io.grpc:grpc-auth"),
maven("io.grpc:grpc-stub"),
maven("io.grpc:grpc-protobuf"),
maven("com.google.api:gax"),
maven("com.google.api:gax-grpc"),
maven("com.google.cloud:google-cloud-core"),
maven("com.google.cloud:google-cloud-core-grpc"),
],
)
java_library(
name = "FirestoreManager",
srcs = ["FirestoreManager.java"],
deps = [
":FirestoreDriver",
":FirestoreAdapter",
"//java/gust/backend/model:DatabaseManager",
] + _COMMON_DEPS,
)
java_library(
name = "FirestoreTransportConfig",
srcs = ["FirestoreTransportConfig.java"],
deps = [
"//java/gust/backend/transport:GoogleTransportManager",
"//java/gust/backend/transport:GrpcTransportConfig",
] + _COMMON_DEPS,
)
java_library(
name = "firestore",
exports = [
":package-info",
":FirestoreAdapter",
":FirestoreDriver",
":FirestoreManager",
":FirestoreTransportConfig",
],
)
filegroup(
name = "sources",
srcs = glob(["*.java"]),
)