blob: 77096811aef0d0c092f6b3ea10bdfa4c5f113118 [file] [log] [blame]
load("@rules_kotlin//kotlin:core.bzl", "kt_compiler_plugin")
load("@rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library", "kt_jvm_test")
kt_compiler_plugin(
name = "open_for_testing_plugin",
compile_phase = True,
id = "org.jetbrains.kotlin.allopen",
options = {
"annotation": "plugin.allopennoarg.OpenForTesting",
},
stubs_phase = True,
deps = [
"@rules_kotlin//kotlin/compiler:allopen-compiler-plugin",
],
)
kt_compiler_plugin(
name = "no_arg_plugin",
compile_phase = True,
id = "org.jetbrains.kotlin.noarg",
options = {
"annotation": "plugin.allopennoarg.NoArgConstructor",
},
stubs_phase = True,
deps = [
"@rules_kotlin//kotlin/compiler:noarg-compiler-plugin",
],
)
kt_jvm_library(
name = "no_arg_constructor",
srcs = ["NoArgConstructor.kt"],
)
kt_jvm_library(
name = "open_for_testing",
srcs = ["OpenForTesting.kt"],
)
kt_jvm_library(
name = "user",
srcs = ["User.kt"],
plugins = [
":open_for_testing_plugin",
":no_arg_plugin",
],
deps = [
":no_arg_constructor",
":open_for_testing",
],
)
kt_jvm_library(
name = "user_is_open_test",
srcs = ["UserIsOpenTest.kt"],
deps = [
":user",
],
)
kt_jvm_test(
name = "user_has_noarg_constructor_test",
srcs = ["UserHasNoargConstructorTest.kt"],
test_class = "plugin.allopennoarg.UserHasNoargConstructorTest",
deps = [
":user",
"@maven_rules_kotlin_example//:junit_junit",
"@rules_kotlin//kotlin/compiler:kotlin-reflect",
],
)