java/gust/backend/model/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("com.google.guava:guava"),
maven("org.slf4j:slf4j-api"),
]
java_library(
name = "package-info",
srcs = ["package-info.java"],
)
java_library(
name = "CacheDriver",
srcs = ["CacheDriver.java"],
deps = [
":FetchOptions",
":ModelCodec",
":PersistenceDriver",
] + _COMMON_DEPS,
)
java_library(
name = "CacheOptions",
srcs = ["CacheOptions.java"],
deps = [
":OperationOptions",
] + _COMMON_DEPS,
)
java_library(
name = "CollapsedMessage",
srcs = ["CollapsedMessage.java"],
deps = [
":ModelSerializer",
":WriteProxy",
":SerializedModel",
javaproto("//gust/core:datamodel"),
] + _COMMON_DEPS,
)
java_library(
name = "CollapsedMessageCodec",
srcs = ["CollapsedMessageCodec.java"],
deps = [
":CollapsedMessage",
":ModelCodec",
":ModelDeserializer",
":ModelDeflateException",
":ModelInflateException",
":ModelSerializer",
":ObjectModelSerializer",
":ObjectModelDeserializer",
maven("io.micronaut:micronaut-inject"),
maven("io.micronaut:micronaut-runtime"),
] + _COMMON_DEPS,
)
java_library(
name = "CollapsedMessageSerializer",
srcs = ["CollapsedMessageSerializer.java"],
deps = [
":CollapsedMessage",
":ModelSerializer",
] + _COMMON_DEPS,
)
java_library(
name = "DatabaseAdapter",
srcs = ["DatabaseAdapter.java"],
deps = [
":ModelAdapter",
":DatabaseDriver",
] + _COMMON_DEPS,
)
java_library(
name = "DatabaseDriver",
srcs = ["DatabaseDriver.java"],
deps = [
":PersistenceDriver",
] + _COMMON_DEPS,
)
java_library(
name = "DatabaseManager",
srcs = ["DatabaseManager.java"],
deps = [
":DatabaseDriver",
":DatabaseAdapter",
":PersistenceManager",
] + _COMMON_DEPS,
)
java_library(
name = "DeleteOptions",
srcs = ["DeleteOptions.java"],
deps = [
":CacheOptions",
":OperationOptions",
] + _COMMON_DEPS,
)
java_library(
name = "EncodedModel",
srcs = ["EncodedModel.java"],
deps = [
":EncodingMode",
"@com_google_protobuf//:protobuf_java_util",
] + _COMMON_DEPS,
)
java_library(
name = "EncodingMode",
srcs = ["EncodingMode.java"],
deps = [
# No deps.
] + _COMMON_DEPS,
)
java_library(
name = "FetchOptions",
srcs = ["FetchOptions.java"],
deps = [
":CacheOptions",
":OperationOptions",
] + _COMMON_DEPS,
)
java_library(
name = "InvalidModelType",
srcs = ["InvalidModelType.java"],
deps = [
":PersistenceException",
javaproto("//gust/core:datamodel"),
] + _COMMON_DEPS,
)
java_library(
name = "MissingAnnotatedField",
srcs = ["MissingAnnotatedField.java"],
deps = [
":PersistenceException",
javaproto("//gust/core:datamodel"),
] + _COMMON_DEPS,
)
java_library(
name = "ModelAdapter",
srcs = ["ModelAdapter.java"],
deps = [
":CacheDriver",
":DeleteOptions",
":FetchOptions",
":ModelCodec",
":ModelMetadata",
":PersistenceDriver",
":WriteOptions",
javaproto("//gust/core:datamodel"),
] + _COMMON_DEPS,
)
java_library(
name = "ModelCodec",
srcs = ["ModelCodec.java"],
deps = [
":ModelDeserializer",
":ModelDeflateException",
":ModelInflateException",
":ModelSerializer",
] + _COMMON_DEPS,
)
java_library(
name = "ModelDeflateException",
srcs = ["ModelDeflateException.java"],
deps = [
":PersistenceException",
] + _COMMON_DEPS,
)
java_library(
name = "ModelDeserializer",
srcs = ["ModelDeserializer.java"],
deps = [
":ModelInflateException",
] + _COMMON_DEPS,
)
java_library(
name = "ModelInflateException",
srcs = ["ModelInflateException.java"],
deps = [
":PersistenceException",
] + _COMMON_DEPS,
)
java_library(
name = "ModelMetadata",
srcs = ["ModelMetadata.java"],
deps = [
":InvalidModelType",
":MissingAnnotatedField",
javaproto("//gust/core:datamodel"),
"@com_google_protobuf//:protobuf_java_util",
] + _COMMON_DEPS,
)
java_library(
name = "ModelSerializer",
srcs = ["ModelSerializer.java"],
deps = [
":ModelDeflateException",
] + _COMMON_DEPS,
)
java_library(
name = "ModelWriteConflict",
srcs = ["ModelWriteConflict.java"],
deps = [
":ModelWriteFailure",
":WriteOptions",
] + _COMMON_DEPS,
)
java_library(
name = "ModelWriteFailure",
srcs = ["ModelWriteFailure.java"],
deps = [
":PersistenceException",
] + _COMMON_DEPS,
)
java_library(
name = "ObjectModelCodec",
srcs = ["ObjectModelCodec.kt"],
deps = [
":ModelCodec",
":ModelSerializer",
":ModelDeserializer",
":ObjectModelDeserializer",
":ObjectModelSerializer",
] + _COMMON_DEPS,
)
java_library(
name = "ObjectModelDeserializer",
srcs = ["ObjectModelDeserializer.kt"],
deps = [
":ModelDeserializer",
":ModelInflateException",
":ObjectModelSerializer",
maven("com.google.cloud:google-cloud-firestore"),
] + _COMMON_DEPS,
)
java_library(
name = "ObjectModelSerializer",
srcs = ["ObjectModelSerializer.kt"],
deps = [
":CollapsedMessage",
":ModelDeflateException",
":ModelSerializer",
":ModelMetadata",
"//java/gust/util:InstantFactory",
maven("com.google.cloud:google-cloud-firestore"),
] + _COMMON_DEPS,
)
java_library(
name = "OperationOptions",
srcs = ["OperationOptions.java"],
deps = [
# None yet.
] + _COMMON_DEPS,
)
java_library(
name = "PersistenceDriver",
srcs = ["PersistenceDriver.java"],
deps = [
":DeleteOptions",
":FetchOptions",
":MissingAnnotatedField",
":ModelCodec",
":ModelMetadata",
":PersistenceException",
":PersistenceFailure",
":PersistenceOperationFailed",
":UpdateOptions",
":WriteOptions",
javaproto("//gust/core:datamodel"),
maven("com.google.guava:guava"),
maven("org.reactivestreams:reactive-streams"),
maven("io.reactivex.rxjava2:rxjava"),
] + _COMMON_DEPS,
)
java_library(
name = "PersistenceException",
srcs = ["PersistenceException.java"],
deps = [
# None yet.
] + _COMMON_DEPS,
)
java_library(
name = "PersistenceFailure",
srcs = ["PersistenceFailure.java"],
deps = [
# None yet.
] + _COMMON_DEPS,
)
java_library(
name = "PersistenceManager",
srcs = ["PersistenceManager.java"],
deps = [
":PersistenceDriver",
] + _COMMON_DEPS,
)
java_library(
name = "PersistenceOperationFailed",
srcs = ["PersistenceOperationFailed.java"],
deps = [
":PersistenceException",
":PersistenceFailure",
] + _COMMON_DEPS,
)
java_library(
name = "ProtoModelCodec",
srcs = ["ProtoModelCodec.java"],
deps = [
":EncodedModel",
":EncodingMode",
":ModelCodec",
":ModelDeserializer",
":ModelDeflateException",
":ModelInflateException",
":ModelSerializer",
"@com_google_protobuf//:protobuf_java_util",
] + _COMMON_DEPS,
)
java_library(
name = "SerializedModel",
srcs = ["SerializedModel.java"],
deps = [
maven("com.google.cloud:google-cloud-firestore"),
maven("com.google.api.grpc:proto-google-cloud-firestore-v1"),
] + _COMMON_DEPS,
)
java_library(
name = "Transaction",
srcs = ["Transaction.java"],
deps = [
# None yet.
] + _COMMON_DEPS,
)
java_library(
name = "UpdateOptions",
srcs = ["UpdateOptions.java"],
deps = [
":WriteOptions",
] + _COMMON_DEPS,
)
java_library(
name = "WriteOptions",
srcs = ["WriteOptions.java"],
deps = [
":OperationOptions",
] + _COMMON_DEPS,
)
java_library(
name = "WriteProxy",
srcs = ["WriteProxy.java"],
deps = [
":SerializedModel",
] + _COMMON_DEPS,
)
java_library(
name = "model",
exports = [
":package-info",
":CacheDriver",
":CacheOptions",
":CollapsedMessage",
":CollapsedMessageCodec",
":CollapsedMessageSerializer",
":DatabaseAdapter",
":DatabaseDriver",
":DatabaseManager",
":DeleteOptions",
":EncodedModel",
":EncodingMode",
":FetchOptions",
":InvalidModelType",
":MissingAnnotatedField",
":ModelAdapter",
":ModelCodec",
":ModelDeflateException",
":ModelDeserializer",
":ModelInflateException",
":ModelSerializer",
":ModelWriteConflict",
":ModelWriteFailure",
":ObjectModelCodec",
":ObjectModelDeserializer",
":ObjectModelSerializer",
":OperationOptions",
":PersistenceDriver",
":PersistenceException",
":PersistenceFailure",
":PersistenceManager",
":PersistenceOperationFailed",
":ProtoModelCodec",
":SerializedModel",
":Transaction",
":UpdateOptions",
":WriteOptions",
":WriteProxy",
]
)
filegroup(
name = "sources",
srcs = glob(["*.java"]),
)