load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library") load("@rules_java//java:defs.bzl", "java_lite_proto_library") load("@rules_jvm_external//:kt_defs.bzl", "kt_jvm_export") load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix") load("//:protobuf.bzl", "internal_gen_kt_protos") load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION") java_lite_proto_library( name = "example_extensible_message_java_proto_lite", deps = ["//java/kotlin:example_extensible_message_proto"], ) kt_jvm_library( name = "lite_extensions", srcs = ["src/main/kotlin/com/google/protobuf/ExtendableMessageLiteExtensions.kt"], deps = ["//java/lite"], ) internal_gen_kt_protos( name = "gen_well_known_protos_kotlinlite", lite = True, deps = [ "//:any_proto", "//:api_proto", "//:duration_proto", "//:empty_proto", "//:field_mask_proto", "//:source_context_proto", "//:struct_proto", "//:timestamp_proto", "//:type_proto", "//:wrappers_proto", ], ) kt_jvm_library( name = "well_known_protos_kotlin_lite", srcs = [ ":gen_well_known_protos_kotlinlite", ], deps = [ "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", "//java/kotlin:shared_runtime", "//java/lite", ], ) kt_jvm_export( name = "kotlin-lite_mvn", deploy_env = [ "@com_github_jetbrains_kotlin//:kotlin-stdlib", "//java/lite", ], maven_coordinates = "com.google.protobuf:protobuf-kotlin-lite:%s" % PROTOBUF_JAVA_VERSION, pom_template = "//java/kotlin-lite:pom_template.xml", resources = ["//:well_known_type_protos"], tags = ["manual"], runtime_deps = [ ":lite_extensions", ":well_known_protos_kotlin_lite", "//java/kotlin:bytestring_lib", "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", "//java/kotlin:shared_runtime", ], ) filegroup( name = "release", srcs = [ ":kotlin-lite_mvn-docs", ":kotlin-lite_mvn-maven-source", ":kotlin-lite_mvn-pom", ":kotlin-lite_mvn-project", ], visibility = ["//java:__pkg__"], ) test_suite( name = "tests", tests = [ "proto2_test_lite", "proto3_test_lite", "test_lite_extensions", ], ) kt_jvm_library( name = "test_lite_extensions_library", srcs = ["src/test/kotlin/com/google/protobuf/ExtendableMessageLiteExtensionsTest.kt"], deps = [ ":example_extensible_message_java_proto_lite", ":lite_extensions", "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", "//java/kotlin:shared_runtime", "//java/lite", "@com_github_jetbrains_kotlin//:kotlin-test", "@maven//:com_google_truth_truth", "@maven//:junit_junit", ], ) java_test( name = "test_lite_extensions", test_class = "com.google.protobuf.kotlin.ExtendableMessageLiteExtensionsTest", runtime_deps = [":test_lite_extensions_library"], ) java_lite_proto_library( name = "evil_names_proto2_java_proto_lite", deps = ["//java/kotlin:evil_names_proto2"], ) internal_gen_kt_protos( name = "gen_evil_names_proto2_lite", lite = True, deps = ["//java/kotlin:evil_names_proto2"], ) java_lite_proto_library( name = "evil_names_proto3_java_proto_lite", deps = ["//java/kotlin:evil_names_proto3"], ) internal_gen_kt_protos( name = "gen_evil_names_proto3_lite", lite = True, deps = ["//java/kotlin:evil_names_proto3"], ) java_lite_proto_library( name = "multiple_files_proto3_java_proto_lite", deps = ["//java/kotlin:multiple_files_proto3"], ) internal_gen_kt_protos( name = "gen_kotlin_proto3_java_multiple_files_lite", deps = ["//java/kotlin:multiple_files_proto3"], ) internal_gen_kt_protos( name = "gen_kotlin_unittest_lite", lite = True, deps = ["//src/google/protobuf:lite_test_protos"], ) kt_jvm_library( name = "kotlin_unittest_lite", srcs = [ ":gen_evil_names_proto2_lite", ":gen_kotlin_unittest_lite", ], deps = [ ":evil_names_proto2_java_proto_lite", "//java/core:generic_test_protos_java_proto_lite", "//java/core:lite_test_protos_java_proto_lite", "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", "//java/kotlin:shared_runtime", "//java/lite", ], ) internal_gen_kt_protos( name = "gen_kotlin_proto3_unittest_lite", lite = True, deps = ["//src/google/protobuf:kt_proto3_unittest_protos"], ) kt_jvm_library( name = "kotlin_proto3_unittest_lite", srcs = [ ":gen_evil_names_proto3_lite", ":gen_kotlin_proto3_java_multiple_files_lite", ":gen_kotlin_proto3_unittest_lite", ], deps = [ ":evil_names_proto3_java_proto_lite", ":multiple_files_proto3_java_proto_lite", "//java/core:generic_test_protos_java_proto_lite", "//java/core:lite_test_protos_java_proto_lite", "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", "//java/kotlin:shared_runtime", "//java/lite", ], ) kt_jvm_library( name = "proto2_test_lite_library", srcs = ["src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt"], deps = [ ":kotlin_unittest_lite", "//java/core:test_util_lite", "@maven//:com_google_truth_truth", "@maven//:junit_junit", ], ) java_test( name = "proto2_test_lite", test_class = "com.google.protobuf.kotlin.Proto2LiteTest", runtime_deps = [":proto2_test_lite_library"], ) kt_jvm_library( name = "proto3_test_lite_library", srcs = ["//java/kotlin:src/test/kotlin/com/google/protobuf/Proto3Test.kt"], deps = [ ":kotlin_proto3_unittest_lite", "//java/core:test_util_lite", "@maven//:com_google_truth_truth", "@maven//:junit_junit", ], ) java_test( name = "proto3_test_lite", test_class = "com.google.protobuf.kotlin.Proto3Test", runtime_deps = [":proto3_test_lite_library"], ) pkg_files( name = "dist_files", srcs = glob([ "src/main/kotlin/com/google/protobuf/*.kt", "src/test/kotlin/**/*.kt", ]) + [ "BUILD.bazel", "generate-sources-build.xml", "generate-test-sources-build.xml", "lite.awk", "pom.xml", "pom_template.xml", "process-lite-sources-build.xml", ], strip_prefix = strip_prefix.from_root(""), visibility = ["//java:__pkg__"], )