1load("@rules_jvm_external//:kt_defs.bzl", "kt_jvm_export") 2load("@rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library") 3load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix") 4load("//:protobuf.bzl", "internal_gen_kt_protos") 5load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION") 6load("//bazel:java_lite_proto_library.bzl", "java_lite_proto_library") 7load("//build_defs:kotlin_opts.bzl", "protobuf_versioned_kt_jvm_library") 8 9java_lite_proto_library( 10 name = "example_extensible_message_java_proto_lite", 11 deps = ["//java/kotlin:example_extensible_message_proto"], 12) 13 14kt_jvm_library( 15 name = "lite_extensions", 16 srcs = ["src/main/kotlin/com/google/protobuf/ExtendableMessageLiteExtensions.kt"], 17 deps = ["//java/lite"], 18) 19 20internal_gen_kt_protos( 21 name = "gen_well_known_protos_kotlinlite", 22 lite = True, 23 deps = [ 24 "//:any_proto", 25 "//:api_proto", 26 "//:descriptor_proto", 27 "//:duration_proto", 28 "//:empty_proto", 29 "//:field_mask_proto", 30 "//:java_features_proto", 31 "//:source_context_proto", 32 "//:struct_proto", 33 "//:timestamp_proto", 34 "//:type_proto", 35 "//:wrappers_proto", 36 ], 37) 38 39kt_jvm_library( 40 name = "well_known_protos_kotlin_lite", 41 srcs = [ 42 ":gen_well_known_protos_kotlinlite", 43 ], 44 deps = [ 45 "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", 46 "//java/kotlin:shared_runtime", 47 "//java/lite", 48 ], 49) 50 51protobuf_versioned_kt_jvm_library( 52 name = "kotlin-lite_bundle", 53 automatic_module_name = "com.google.protobuf", 54 bundle_description = "Kotlin lite Protocol Buffers library. Protocol " + 55 "Buffers are a way of encoding structured data in " + 56 "an efficient yet extensible format.", 57 bundle_name = "Protocol Buffers [Kotlin-Lite]", 58 bundle_symbolic_name = "com.google.protobuf", 59 visibility = ["//visibility:public"], 60 exports = [ 61 ":lite_extensions", 62 ":well_known_protos_kotlin_lite", 63 "//java/kotlin:bytestring_lib", 64 "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", 65 "//java/kotlin:shared_runtime", 66 ], 67) 68 69kt_jvm_export( 70 name = "kotlin-lite_mvn", 71 deploy_env = [ 72 "@rules_kotlin//kotlin/compiler:kotlin-stdlib", 73 "//java/lite", 74 ], 75 maven_coordinates = "com.google.protobuf:protobuf-kotlin-lite:%s" % PROTOBUF_JAVA_VERSION, 76 pom_template = "//java/kotlin-lite:pom_template.xml", 77 resources = [ 78 "//:java_features_proto", 79 "//:well_known_type_protos", 80 "//src/google/protobuf:descriptor_proto_srcs", 81 ], 82 tags = ["manual"], 83 runtime_deps = [ 84 ":kotlin-lite_bundle", 85 ], 86) 87 88filegroup( 89 name = "release", 90 srcs = [ 91 ":kotlin-lite_mvn-docs", 92 ":kotlin-lite_mvn-maven-source", 93 ":kotlin-lite_mvn-pom", 94 ":kotlin-lite_mvn-project", 95 ], 96 visibility = ["//java:__pkg__"], 97) 98 99test_suite( 100 name = "tests", 101 tests = [ 102 "proto2_test_lite", 103 "proto3_test_lite", 104 "test_lite_extensions", 105 ], 106) 107 108kt_jvm_library( 109 name = "test_lite_extensions_library", 110 srcs = ["src/test/kotlin/com/google/protobuf/ExtendableMessageLiteExtensionsTest.kt"], 111 deps = [ 112 ":example_extensible_message_java_proto_lite", 113 ":lite_extensions", 114 "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", 115 "//java/kotlin:shared_runtime", 116 "//java/lite", 117 "@protobuf_maven//:com_google_truth_truth", 118 "@protobuf_maven//:junit_junit", 119 "@rules_kotlin//kotlin/compiler:kotlin-test", 120 ], 121) 122 123java_test( 124 name = "test_lite_extensions", 125 test_class = "com.google.protobuf.kotlin.ExtendableMessageLiteExtensionsTest", 126 runtime_deps = [":test_lite_extensions_library"], 127) 128 129java_lite_proto_library( 130 name = "evil_names_proto2_java_proto_lite", 131 deps = ["//java/kotlin:evil_names_proto2"], 132) 133 134internal_gen_kt_protos( 135 name = "gen_evil_names_proto2_lite", 136 lite = True, 137 deps = ["//java/kotlin:evil_names_proto2"], 138) 139 140java_lite_proto_library( 141 name = "evil_names_proto3_java_proto_lite", 142 deps = ["//java/kotlin:evil_names_proto3"], 143) 144 145internal_gen_kt_protos( 146 name = "gen_evil_names_proto3_lite", 147 lite = True, 148 deps = ["//java/kotlin:evil_names_proto3"], 149) 150 151java_lite_proto_library( 152 name = "multiple_files_proto3_java_proto_lite", 153 deps = ["//java/kotlin:multiple_files_proto3"], 154) 155 156internal_gen_kt_protos( 157 name = "gen_kotlin_proto3_java_multiple_files_lite", 158 deps = ["//java/kotlin:multiple_files_proto3"], 159) 160 161internal_gen_kt_protos( 162 name = "gen_kotlin_unittest_lite", 163 lite = True, 164 deps = ["//src/google/protobuf:lite_test_protos"], 165) 166 167kt_jvm_library( 168 name = "kotlin_unittest_lite", 169 srcs = [ 170 ":gen_evil_names_proto2_lite", 171 ":gen_kotlin_unittest_lite", 172 ], 173 deps = [ 174 ":evil_names_proto2_java_proto_lite", 175 "//java/core:generic_test_protos_java_proto_lite", 176 "//java/core:lite_test_protos_java_proto_lite", 177 "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", 178 "//java/kotlin:shared_runtime", 179 "//java/lite", 180 ], 181) 182 183internal_gen_kt_protos( 184 name = "gen_kotlin_proto3_unittest_lite", 185 lite = True, 186 deps = ["//src/google/protobuf:kt_proto3_unittest_protos"], 187) 188 189kt_jvm_library( 190 name = "kotlin_proto3_unittest_lite", 191 srcs = [ 192 ":gen_evil_names_proto3_lite", 193 ":gen_kotlin_proto3_java_multiple_files_lite", 194 ":gen_kotlin_proto3_unittest_lite", 195 ], 196 deps = [ 197 ":evil_names_proto3_java_proto_lite", 198 ":multiple_files_proto3_java_proto_lite", 199 "//java/core:generic_test_protos_java_proto_lite", 200 "//java/core:lite_test_protos_java_proto_lite", 201 "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests", 202 "//java/kotlin:shared_runtime", 203 "//java/lite", 204 ], 205) 206 207kt_jvm_library( 208 name = "proto2_test_lite_library", 209 srcs = ["src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt"], 210 deps = [ 211 ":kotlin_unittest_lite", 212 "//java/core:test_util_lite", 213 "@protobuf_maven//:com_google_truth_truth", 214 "@protobuf_maven//:junit_junit", 215 ], 216) 217 218java_test( 219 name = "proto2_test_lite", 220 test_class = "com.google.protobuf.kotlin.Proto2LiteTest", 221 runtime_deps = [":proto2_test_lite_library"], 222) 223 224kt_jvm_library( 225 name = "proto3_test_lite_library", 226 srcs = ["//java/kotlin:src/test/kotlin/com/google/protobuf/Proto3Test.kt"], 227 deps = [ 228 ":kotlin_proto3_unittest_lite", 229 "//java/core:test_util_lite", 230 "@protobuf_maven//:com_google_truth_truth", 231 "@protobuf_maven//:junit_junit", 232 ], 233) 234 235java_test( 236 name = "proto3_test_lite", 237 test_class = "com.google.protobuf.kotlin.Proto3Test", 238 runtime_deps = [":proto3_test_lite_library"], 239) 240 241pkg_files( 242 name = "dist_files", 243 srcs = glob([ 244 "src/main/kotlin/com/google/protobuf/*.kt", 245 "src/test/kotlin/**/*.kt", 246 ]) + [ 247 "BUILD.bazel", 248 "generate-sources-build.xml", 249 "generate-test-sources-build.xml", 250 "lite.awk", 251 "pom_template.xml", 252 "process-lite-sources-build.xml", 253 ], 254 strip_prefix = strip_prefix.from_root(""), 255 visibility = ["//java:__pkg__"], 256) 257