sgammon/GUST

View on GitHub
samples/soy_ssr/src/BUILD.bazel

Summary

Maintainability
Test Coverage
##
# 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(
    "@gust//defs/toolchain:schema.bzl",
    "model",
)

load(
    "@gust//defs/toolchain:templates.bzl",
    "template_library",
)

load(
    "@gust//defs/toolchain:backend.bzl",
    "micronaut_controller",
    "micronaut_application",
)


model(
    name = "salutation",
    srcs = ["salutation.proto"],
)

model(
    name = "context",
    srcs = ["context.proto"],
    deps = [":salutation"],
)

filegroup(
    name = "reflection-config",
    srcs = ["reflection.json"],
)

template_library(
    name = "ssr",
    srcs = ["ssr.soy"],
    proto_deps = [":context"],
)

micronaut_controller(
    name = "SSRKotlinController",
    srcs = ["SSRKotlinController.kt"],
    proto_deps = [":context"],
    templates = [":ssr"],
)

micronaut_application(
    name = "MicronautSSRSample",
    native = True,
    controllers = [":SSRKotlinController"],
    repository = "elide-ai/sample/ssr/jvm",
    native_repository = "elide-ai/sample/ssr/native",
    reflection_configuration = ":reflection-config",
)