blob: cc49e25400b56ba1f15129ba89e29ff80cf022f2 [file]
load("@rules_scala//scala:scala.bzl", "scala_binary", "scala_library", "scala_test_suite")
lib_dependencies = [
"@maven//:com_chuusai_shapeless_2_12",
"@maven//:com_github_pureconfig_pureconfig_2_12",
"@maven//:com_github_pureconfig_pureconfig_core_2_12",
"@maven//:com_github_pureconfig_pureconfig_generic_2_12",
"@maven//:com_github_pureconfig_pureconfig_macros_2_12",
"@maven//:com_typesafe_akka_akka_actor_2_12",
"@maven//:com_typesafe_akka_akka_http_2_12",
"@maven//:com_typesafe_akka_akka_http_core_2_12",
"@maven//:com_typesafe_akka_akka_stream_2_12",
"@maven//:com_typesafe_config",
"@maven//:com_typesafe_scala_logging_scala_logging_2_12",
"@maven//:org_scalaz_scalaz_core_2_12",
"@maven//:org_scalaz_scalaz_concurrent_2_12",
"@maven//:org_slf4j_slf4j_api",
"@maven//:org_slf4j_slf4j_simple",
]
test_dependencies = [
"@maven//:com_typesafe_akka_akka_testkit_2_12",
"@maven//:com_typesafe_akka_akka_http_testkit_2_12",
"@maven//:com_typesafe_akka_akka_stream_testkit_2_12",
"@maven//:org_mockito_mockito_core",
"@maven//:org_scalatest_scalatest_wordspec_2_12",
] + lib_dependencies
scala_library(
name = "lib",
srcs = glob([
"src/main/scala/**/*.scala",
]),
resources = glob([
"src/main/resources/**/*",
]),
scalacopts = [
"-target:jvm-1.8",
"-encoding",
"UTF-8",
"-Xfuture",
"-Xlint",
"-Xlint:unsound-match",
"-Xmacro-settings:materialize-derivations",
"-Yno-adapted-args",
"-Ypartial-unification",
"-Ywarn-unused-import",
"-Ywarn-value-discard",
"-Ywarn-dead-code",
"-Ywarn-numeric-widen",
"-language:existentials",
"-language:experimental.macros",
"-language:higherKinds",
"-deprecation",
"-feature",
"-unchecked",
],
deps = lib_dependencies,
)
scala_binary(
name = "app",
main_class = "hello.Application",
runtime_deps = [
":lib",
],
)
scala_test_suite(
name = "test",
size = "small",
srcs = glob([
"src/test/**/*Spec.scala",
]),
resources = glob([
"src/test/resources/**/*",
]),
deps = [
":lib",
] + test_dependencies,
)