Skip to content

Commit 4f8ae6e

Browse files
kumar-zlainikhil-zlaiKumar Teja Chippala
authored
Bazel migration for service_commons module (#227)
## Summary Migrated `service_commons` module to Bazel from sbt. ## Cheour clientslist - [ ] Added Unit Tests - [X] Covered by existing CI - [ ] Integration tested - [ ] Documentation update <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes - **New Features** - Enhanced build configuration to support Java 17 - Added new JVM rulesets for improved testing and development - **Dependencies** - Updated Netty to version 4.1.111.Final - Added JUnit 5 testing components - Integrated Vert.x 4.5.10 libraries - Added logbaour clients and configuration libraries - **Build Improvements** - Refined Bazel build rules for Java libraries and test suites - Streamlined dependency management <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: nikhil-zlai <[email protected]> Co-authored-by: Kumar Teja Chippala <[email protected]>
1 parent 796c5f5 commit 4f8ae6e

File tree

6 files changed

+105
-7
lines changed

6 files changed

+105
-7
lines changed

.bazelrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
build --java_language_version=17
2+
build --java_runtime_version=17

WORKSPACE

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,18 @@ rules_jvm_external_deps()
4141
load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
4242
rules_jvm_external_setup()
4343

44+
# For additional rulesets like java_test_suite
45+
http_archive(
46+
name = "contrib_rules_jvm",
47+
sha256 = "2412e22bc1eb9d3a5eae15180f304140f1aad3f8184dbd99c845fafde0964559",
48+
strip_prefix = "rules_jvm-0.24.0",
49+
urls = ["https://github.com/bazel-contrib/rules_jvm/releases/download/v0.24.0/rules_jvm-v0.24.0.tar.gz"],
50+
)
51+
load("@contrib_rules_jvm//:repositories.bzl", "contrib_rules_jvm_deps")
52+
contrib_rules_jvm_deps()
53+
load("@contrib_rules_jvm//:setup.bzl", "contrib_rules_jvm_setup")
54+
contrib_rules_jvm_setup()
55+
4456
# For Scala support
4557
http_archive(
4658
name = "io_bazel_rules_scala",

service_commons/BUILD.bazel

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
java_library(
2+
name = "lib",
3+
srcs = glob(["src/main/**/*.java"]),
4+
visibility = ["//visibility:public"],
5+
deps = SCALA_DEPS + [
6+
"//api:lib",
7+
"//online:lib",
8+
maven_artifact("io.vertx:vertx-core"),
9+
maven_artifact("io.vertx:vertx-web"),
10+
maven_artifact("io.vertx:vertx-web-client"),
11+
maven_artifact("io.vertx:vertx-config"),
12+
maven_artifact("io.vertx:vertx-micrometer-metrics"),
13+
maven_artifact("ch.qos.logbaour clients:logbaour clients-classic"),
14+
maven_artifact("com.typesafe:config"),
15+
maven_artifact("io.netty:netty-all"),
16+
maven_artifact("io.micrometer:micrometer-registry-statsd"),
17+
maven_artifact("io.micrometer:micrometer-core"),
18+
maven_artifact("com.fasterxml.jaour clientsson.core:jaour clientsson-databind"),
19+
maven_artifact("org.slf4j:slf4j-api"),
20+
],
21+
)
22+
23+
java_library(
24+
name = "test-lib",
25+
srcs = glob(["src/test/**/*.java"]),
26+
visibility = ["//visibility:public"],
27+
deps = [
28+
":lib",
29+
"//api:lib",
30+
"//api:thrift",
31+
"//online:lib",
32+
# Libraries
33+
maven_artifact("io.vertx:vertx-core"),
34+
maven_artifact("io.vertx:vertx-web"),
35+
maven_artifact("io.vertx:vertx-web-client"),
36+
# Testing
37+
maven_artifact("io.vertx:vertx-junit5"),
38+
maven_artifact("org.junit.jupiter:junit-jupiter-api"),
39+
],
40+
)
41+
42+
java_test_suite(
43+
name = "test",
44+
srcs = glob(["src/test/**/*.java"]),
45+
visibility = ["//visibility:public"],
46+
runner = "junit5",
47+
deps = [
48+
":lib",
49+
":test-lib",
50+
"//api:lib",
51+
"//api:thrift",
52+
"//online:lib",
53+
# Libraries
54+
maven_artifact("io.vertx:vertx-core"),
55+
maven_artifact("io.vertx:vertx-web"),
56+
maven_artifact("io.vertx:vertx-web-client"),
57+
# Testing
58+
maven_artifact("io.vertx:vertx-junit5"),
59+
maven_artifact("org.junit.jupiter:junit-jupiter-api"),
60+
maven_artifact("org.junit.platform:junit-platform-launcher"),
61+
maven_artifact("org.junit.platform:junit-platform-reporting"),
62+
],
63+
)

service_commons/src/main/java/ai/chronon/service/ChrononServiceLauncher.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ public void beforeStartingVertx(VertxOptions options) {
3030
private final String statsdHost = Metrics.Context$.MODULE$.statsHost();
3131
private final String statsdPort = String.valueOf(Metrics.Context$.MODULE$.statsPort());
3232

33-
final Map<String, String> statsProps = new HashMap<String, String>() {{
34-
put(prefix() + "." + "port", statsdPort);
35-
put(prefix() + "." + "host", statsdHost);
36-
put(prefix() + "." + "protocol", Integer.parseInt(statsdPort) == 0 ? "UDS_DATAGRAM" : "UDP");
37-
}};
33+
final Map<String, String> statsProps = new HashMap<>(Map.of(
34+
prefix() + "." + "port", statsdPort,
35+
prefix() + "." + "host", statsdHost,
36+
prefix() + "." + "protocol", Integer.parseInt(statsdPort) == 0 ? "UDS_DATAGRAM" : "UDP"
37+
));
3838

3939
@Override
4040
public String get(String key) {

tools/build_rules/dependencies/maven_repository.bzl

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ maven_repository = repository(
1313

1414
# JUnit
1515
"junit:junit:4.13.2",
16+
"org.junit.jupiter:junit-jupiter-api:5.10.5",
17+
"org.junit.platform:junit-platform-launcher:1.10.5",
18+
"org.junit.platform:junit-platform-reporting:1.10.5",
1619
"com.novocode:junit-interface:0.11",
1720
"org.scalatestplus:moour clientsito-3-4_2.12:3.2.10.0",
1821
"org.moour clientsito:moour clientsito-core:4.6.1",
@@ -45,11 +48,22 @@ maven_repository = repository(
4548
"org.yaml:snakeyaml:2.3",
4649
"commons-io:commons-io:2.9.0",
4750
"commons-lang:commons-lang:2.6",
48-
"io.netty:netty-all:4.1.99.Final",
51+
"io.netty:netty-all:4.1.111.Final",
4952
"io.delta:delta-spark_2.12:3.2.0",
53+
"ch.qos.logbaour clients:logbaour clients-classic:1.5.6",
54+
"com.typesafe:config:1.4.3",
55+
"io.micrometer:micrometer-registry-statsd:1.13.6",
5056

5157
# Kafka
5258
"org.apache.kafka:kafka-clients:3.9.0",
59+
60+
# Vertx
61+
"io.vertx:vertx-core:4.5.10",
62+
"io.vertx:vertx-web:4.5.10",
63+
"io.vertx:vertx-web-client:4.5.10",
64+
"io.vertx:vertx-config:4.5.10",
65+
"io.vertx:vertx-micrometer-metrics:4.5.10",
66+
"io.vertx:vertx-junit5:4.5.10",
5367
],
5468
overrides = {
5569
},

tools/build_rules/prelude_bazel

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,12 @@
33
load("//tools/build_rules:common.bzl", "jar", "scala_jar")
44
load("//tools/build_rules:jvm_binary.bzl", "jvm_binary")
55

6+
load("@rules_java//java:defs.bzl", "java_library")
7+
load("@contrib_rules_jvm//docs:stardoc-input.bzl", "java_test_suite")
68
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_library", "scala_test_suite")
7-
load("//tools/build_rules:maven_artifact.bzl", "maven_artifact", "scala_artifact")
9+
load("//tools/build_rules:maven_artifact.bzl", "maven_artifact", "scala_artifact")
10+
11+
SCALA_DEPS = [
12+
"@io_bazel_rules_scala_scala_library_2_12_18//:io_bazel_rules_scala_scala_library_2_12_18",
13+
# other scala related deps...
14+
]

0 commit comments

Comments
 (0)