BUILD.bazel 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
  2. load("@rules_java//java:defs.bzl", "java_lite_proto_library")
  3. load("@rules_jvm_external//:kt_defs.bzl", "kt_jvm_export")
  4. load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
  5. load("//:protobuf.bzl", "internal_gen_kt_protos")
  6. load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
  7. java_lite_proto_library(
  8. name = "example_extensible_message_java_proto_lite",
  9. deps = ["//java/kotlin:example_extensible_message_proto"],
  10. )
  11. kt_jvm_library(
  12. name = "lite_extensions",
  13. srcs = ["src/main/kotlin/com/google/protobuf/ExtendableMessageLiteExtensions.kt"],
  14. deps = ["//java/lite"],
  15. )
  16. internal_gen_kt_protos(
  17. name = "gen_well_known_protos_kotlinlite",
  18. lite = True,
  19. deps = [
  20. "//:any_proto",
  21. "//:api_proto",
  22. "//:duration_proto",
  23. "//:empty_proto",
  24. "//:field_mask_proto",
  25. "//:source_context_proto",
  26. "//:struct_proto",
  27. "//:timestamp_proto",
  28. "//:type_proto",
  29. "//:wrappers_proto",
  30. ],
  31. )
  32. kt_jvm_library(
  33. name = "well_known_protos_kotlin_lite",
  34. srcs = [
  35. ":gen_well_known_protos_kotlinlite",
  36. ],
  37. deps = [
  38. "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
  39. "//java/kotlin:shared_runtime",
  40. "//java/lite",
  41. ],
  42. )
  43. kt_jvm_export(
  44. name = "kotlin-lite_mvn",
  45. deploy_env = [
  46. "@com_github_jetbrains_kotlin//:kotlin-stdlib",
  47. "//java/lite",
  48. ],
  49. maven_coordinates = "com.google.protobuf:protobuf-kotlin-lite:%s" % PROTOBUF_JAVA_VERSION,
  50. pom_template = "//java/kotlin-lite:pom_template.xml",
  51. resources = ["//:well_known_type_protos"],
  52. tags = ["manual"],
  53. runtime_deps = [
  54. ":lite_extensions",
  55. ":well_known_protos_kotlin_lite",
  56. "//java/kotlin:bytestring_lib",
  57. "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
  58. "//java/kotlin:shared_runtime",
  59. ],
  60. )
  61. filegroup(
  62. name = "release",
  63. srcs = [
  64. ":kotlin-lite_mvn-docs",
  65. ":kotlin-lite_mvn-maven-source",
  66. ":kotlin-lite_mvn-pom",
  67. ":kotlin-lite_mvn-project",
  68. ],
  69. visibility = ["//java:__pkg__"],
  70. )
  71. test_suite(
  72. name = "tests",
  73. tests = [
  74. "proto2_test_lite",
  75. "proto3_test_lite",
  76. "test_lite_extensions",
  77. ],
  78. )
  79. kt_jvm_library(
  80. name = "test_lite_extensions_library",
  81. srcs = ["src/test/kotlin/com/google/protobuf/ExtendableMessageLiteExtensionsTest.kt"],
  82. deps = [
  83. ":example_extensible_message_java_proto_lite",
  84. ":lite_extensions",
  85. "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
  86. "//java/kotlin:shared_runtime",
  87. "//java/lite",
  88. "@com_github_jetbrains_kotlin//:kotlin-test",
  89. "@maven//:com_google_truth_truth",
  90. "@maven//:junit_junit",
  91. ],
  92. )
  93. java_test(
  94. name = "test_lite_extensions",
  95. test_class = "com.google.protobuf.kotlin.ExtendableMessageLiteExtensionsTest",
  96. runtime_deps = [":test_lite_extensions_library"],
  97. )
  98. java_lite_proto_library(
  99. name = "evil_names_proto2_java_proto_lite",
  100. deps = ["//java/kotlin:evil_names_proto2"],
  101. )
  102. internal_gen_kt_protos(
  103. name = "gen_evil_names_proto2_lite",
  104. lite = True,
  105. deps = ["//java/kotlin:evil_names_proto2"],
  106. )
  107. java_lite_proto_library(
  108. name = "evil_names_proto3_java_proto_lite",
  109. deps = ["//java/kotlin:evil_names_proto3"],
  110. )
  111. internal_gen_kt_protos(
  112. name = "gen_evil_names_proto3_lite",
  113. lite = True,
  114. deps = ["//java/kotlin:evil_names_proto3"],
  115. )
  116. java_lite_proto_library(
  117. name = "multiple_files_proto3_java_proto_lite",
  118. deps = ["//java/kotlin:multiple_files_proto3"],
  119. )
  120. internal_gen_kt_protos(
  121. name = "gen_kotlin_proto3_java_multiple_files_lite",
  122. deps = ["//java/kotlin:multiple_files_proto3"],
  123. )
  124. internal_gen_kt_protos(
  125. name = "gen_kotlin_unittest_lite",
  126. lite = True,
  127. deps = ["//:kt_unittest_lite"],
  128. )
  129. kt_jvm_library(
  130. name = "kotlin_unittest_lite",
  131. srcs = [
  132. ":gen_evil_names_proto2_lite",
  133. ":gen_kotlin_unittest_lite",
  134. ],
  135. deps = [
  136. ":evil_names_proto2_java_proto_lite",
  137. "//java/core:generic_test_protos_java_proto_lite",
  138. "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
  139. "//java/kotlin:shared_runtime",
  140. "//java/lite",
  141. ],
  142. )
  143. internal_gen_kt_protos(
  144. name = "gen_kotlin_proto3_unittest_lite",
  145. lite = True,
  146. deps = ["//:kt_proto3_unittest"],
  147. )
  148. kt_jvm_library(
  149. name = "kotlin_proto3_unittest_lite",
  150. srcs = [
  151. ":gen_evil_names_proto3_lite",
  152. ":gen_kotlin_proto3_java_multiple_files_lite",
  153. ":gen_kotlin_proto3_unittest_lite",
  154. ],
  155. deps = [
  156. ":evil_names_proto3_java_proto_lite",
  157. ":multiple_files_proto3_java_proto_lite",
  158. "//java/core:generic_test_protos_java_proto_lite",
  159. "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
  160. "//java/kotlin:shared_runtime",
  161. "//java/lite",
  162. ],
  163. )
  164. kt_jvm_library(
  165. name = "proto2_test_lite_library",
  166. srcs = ["src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt"],
  167. deps = [
  168. ":kotlin_unittest_lite",
  169. "//java/core:test_util_lite",
  170. "@maven//:com_google_truth_truth",
  171. "@maven//:junit_junit",
  172. ],
  173. )
  174. java_test(
  175. name = "proto2_test_lite",
  176. test_class = "com.google.protobuf.kotlin.Proto2LiteTest",
  177. runtime_deps = [":proto2_test_lite_library"],
  178. )
  179. kt_jvm_library(
  180. name = "proto3_test_lite_library",
  181. srcs = ["//java/kotlin:src/test/kotlin/com/google/protobuf/Proto3Test.kt"],
  182. deps = [
  183. ":kotlin_proto3_unittest_lite",
  184. "//java/core:test_util_lite",
  185. "@maven//:com_google_truth_truth",
  186. "@maven//:junit_junit",
  187. ],
  188. )
  189. java_test(
  190. name = "proto3_test_lite",
  191. test_class = "com.google.protobuf.kotlin.Proto3Test",
  192. runtime_deps = [":proto3_test_lite_library"],
  193. )
  194. pkg_files(
  195. name = "dist_files",
  196. srcs = glob([
  197. "src/main/kotlin/com/google/protobuf/*.kt",
  198. "src/test/kotlin/**/*.kt",
  199. ]) + [
  200. "BUILD.bazel",
  201. "generate-sources-build.xml",
  202. "generate-test-sources-build.xml",
  203. "lite.awk",
  204. "pom.xml",
  205. "pom_template.xml",
  206. "process-lite-sources-build.xml",
  207. ],
  208. strip_prefix = strip_prefix.from_root(""),
  209. visibility = ["//java:__pkg__"],
  210. )