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