mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 20:55:44 +00:00
107 lines
3.8 KiB
Python
107 lines
3.8 KiB
Python
load("@rules_scala//scala:providers.bzl", "declare_deps_provider")
|
|
load("@rules_scala//scala:scala_toolchain.bzl", "scala_toolchain")
|
|
load("@rules_scala//scala_proto:scala_proto_toolchain.bzl", "scalapb_toolchain")
|
|
|
|
scalapb_toolchain(
|
|
name = "custom_scalapb_toolchain_impl",
|
|
opts = [
|
|
"grpc",
|
|
"flat_package",
|
|
"java_conversions",
|
|
"single_line_to_proto_string",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
toolchain(
|
|
name = "custom_scalapb_toolchain",
|
|
toolchain = ":custom_scalapb_toolchain_impl",
|
|
toolchain_type = "@rules_scala//scala_proto:toolchain_type",
|
|
)
|
|
|
|
scala_toolchain(
|
|
name = "unused_dependency_checker_error_and_opts_toolchain_impl",
|
|
scalacopts = [
|
|
"-deprecation",
|
|
"-feature",
|
|
# Scala 3 equivalent flags
|
|
"-Wvalue-discard",
|
|
"-Wunused:all",
|
|
# Treat all warnings as errors inside src, silence warnings elsewhere (ie third party deps and rules_scala)
|
|
# Also suppress duplicate flag warnings caused by rules_scala test_reporter
|
|
# Suppress warnings from external deps, generated code, and some stylistic warnings
|
|
# Suppress "unused value" warnings in test code since ScalaTest assertions work via side effects
|
|
"-Wconf:src=external/rules_scala.*/.*:silent,src=external/protobuf.*/.*:silent,msg=Flag.*set repeatedly:silent,msg=Compiler synthesis of Manifest:silent,src=.*_scalac/.*:silent,msg=interpolation uses toString:silent,msg=unused value of type org.scalatest:silent,msg=Could not verify that the method argument is transitively initialized:silent,msg=Problematic object instantiation:silent,msg=may cause initialization errors:silent",
|
|
# Enable all warnings including exhaustive pattern matching checks
|
|
"-Wall",
|
|
"-Werror",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
toolchain(
|
|
name = "unused_dependency_checker_error_and_opts_toolchain",
|
|
toolchain = ":unused_dependency_checker_error_and_opts_toolchain_impl",
|
|
toolchain_type = "@rules_scala//scala:toolchain_type",
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
declare_deps_provider(
|
|
name = "custom_grpc_deps",
|
|
deps_id = "scalapb_grpc_deps",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"@grpc-java//api",
|
|
"@grpc-java//context",
|
|
"@grpc-java//core",
|
|
"@grpc-java//netty",
|
|
"@grpc-java//protobuf",
|
|
"@grpc-java//stub",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_grpc_3",
|
|
"@maven//:io_netty_netty_buffer",
|
|
"@maven//:io_netty_netty_codec",
|
|
"@maven//:io_netty_netty_codec_http",
|
|
"@maven//:io_netty_netty_codec_http2",
|
|
"@maven//:io_netty_netty_codec_socks",
|
|
"@maven//:io_netty_netty_common",
|
|
"@maven//:io_netty_netty_handler",
|
|
"@maven//:io_netty_netty_handler_proxy",
|
|
"@maven//:io_netty_netty_resolver",
|
|
"@maven//:io_netty_netty_transport",
|
|
],
|
|
)
|
|
|
|
java_binary(
|
|
name = "scalafmt",
|
|
main_class = "org.scalafmt.cli.Cli",
|
|
visibility = ["//visibility:public"],
|
|
runtime_deps = [
|
|
"@maven//:org_scalameta_scalafmt_cli_2_13",
|
|
],
|
|
)
|
|
|
|
declare_deps_provider(
|
|
name = "custom_compile_deps",
|
|
deps_id = "scalapb_compile_deps",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_thesamet_scalapb_lenses_3",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_3",
|
|
"@maven//:io_grpc_grpc_protobuf",
|
|
"@maven//:org_scala_lang_scala_library",
|
|
],
|
|
)
|
|
|
|
declare_deps_provider(
|
|
name = "custom_worker_deps",
|
|
deps_id = "scalapb_worker_deps",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_thesamet_scalapb_compilerplugin_3",
|
|
"@maven//:com_thesamet_scalapb_protoc_bridge_3",
|
|
],
|
|
)
|