Skip to content

Bazel migration for service_commons module #227

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 42 commits into from
Jan 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
ca818de
router for vertx that maps pojo's and thrift objects
nikhil-zlai Dec 6, 2024
b5a4fdb
ci for router
nikhil-zlai Dec 6, 2024
b3230f6
enum support
nikhil-zlai Dec 6, 2024
286d0fa
enum, map and list support
nikhil-zlai Dec 7, 2024
61e26bb
test fixes, better error handling
nikhil-zlai Dec 7, 2024
8bba81e
cleaned up redundant comments
nikhil-zlai Dec 7, 2024
6a3e713
a few todos
nikhil-zlai Dec 7, 2024
b62d877
readme
nikhil-zlai Dec 7, 2024
e28ec33
lint
nikhil-zlai Dec 7, 2024
2e7c6ed
support for binary serialization
nikhil-zlai Dec 7, 2024
5b5c145
docs for binary serialization
nikhil-zlai Dec 8, 2024
e27b9c8
docs for javascript usage
nikhil-zlai Dec 8, 2024
39b9259
map validation + formatting
nikhil-zlai Dec 8, 2024
12683c9
caching setters
nikhil-zlai Dec 8, 2024
65846d7
coderabbit nits
nikhil-zlai Dec 9, 2024
cc9ab7f
Build config for aggregator module
kumar-zlai Jan 9, 2025
c22461a
Minor fix to change naming convention for api module targets
kumar-zlai Jan 9, 2025
0d8c084
Initial partial commit with CatalystHelper renaming
kumar-zlai Jan 9, 2025
6d6dd6a
Initial partial commit with CatalystHelper renaming
kumar-zlai Jan 9, 2025
7160500
Minor fix to update the naming convention for thrift targets
kumar-zlai Jan 9, 2025
b8d54e8
Partial commit with build config to merge changes from main
kumar-zlai Jan 9, 2025
fd4163a
Merge branch 'kumarteja/bazel-build' into kumarteja/online-bazel-migr…
kumar-zlai Jan 9, 2025
6f3def4
working bazel build config for online module
kumar-zlai Jan 9, 2025
d4e34ee
Merge branch 'main' into kumarteja/online-bazel-migration
kumar-zlai Jan 9, 2025
e13ac8a
Minor changes to cleanup unused imports
kumar-zlai Jan 9, 2025
cb2b3fd
minor scalafixAll changes
kumar-zlai Jan 9, 2025
add315d
All spark targets working
kumar-zlai Jan 10, 2025
5fea6d9
Initial working version with all spark targets
kumar-zlai Jan 10, 2025
76c6f62
Merged with main branch
kumar-zlai Jan 10, 2025
cae2d80
Minor clean up of unused dependencies
kumar-zlai Jan 10, 2025
0c8a955
Modified logging implementation dependency to match out sbt config
kumar-zlai Jan 10, 2025
feed133
merging with latest head
kumar-zlai Jan 14, 2025
e2acf6d
renamed to service_common package to avoid conflict with src root dir…
kumar-zlai Jan 14, 2025
c593729
Rename the service_common package back to service
Jan 15, 2025
91d6d9e
Addressed PR comments around handling response types
Jan 15, 2025
28d638e
Minor change to remove todo which is no longer needed
Jan 15, 2025
da2ff7f
Merge branch 'main' into kumarteja/spark-bazel-migration
kumar-zlai Jan 15, 2025
9983609
Merge branch 'mead' into kumarteja/service-commons-bazel-migration
kumar-zlai Jan 15, 2025
1b2ed5b
Merge branch 'mead' into kumarteja/service-commons-bazel-migration
kumar-zlai Jan 15, 2025
c545cc5
Initial working version along with unit tests
kumar-zlai Jan 15, 2025
6630965
Merge branch 'main' into kumarteja/service-commons-bazel-migration
kumar-zlai Jan 15, 2025
678a67c
merged with latest main branch
kumar-zlai Jan 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
build --java_language_version=17
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

btw @kumar-zlai once we get to building out the cloud_gcp target we'll need to use jdk 11 for GCP compatibility.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think for the service we should be fine on a newer jdk. It is preferable as we can leverage shenandoah gc etc which has better perf etc on 17..

build --java_runtime_version=17
12 changes: 12 additions & 0 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,18 @@ rules_jvm_external_deps()
load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
rules_jvm_external_setup()

# For additional rulesets like java_test_suite
http_archive(
name = "contrib_rules_jvm",
sha256 = "2412e22bc1eb9d3a5eae15180f304140f1aad3f8184dbd99c845fafde0964559",
strip_prefix = "rules_jvm-0.24.0",
urls = ["https://github.com/bazel-contrib/rules_jvm/releases/download/v0.24.0/rules_jvm-v0.24.0.tar.gz"],
)
load("@contrib_rules_jvm//:repositories.bzl", "contrib_rules_jvm_deps")
contrib_rules_jvm_deps()
load("@contrib_rules_jvm//:setup.bzl", "contrib_rules_jvm_setup")
contrib_rules_jvm_setup()

# For Scala support
http_archive(
name = "io_bazel_rules_scala",
Expand Down
63 changes: 63 additions & 0 deletions service_commons/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
java_library(
name = "lib",
srcs = glob(["src/main/**/*.java"]),
visibility = ["//visibility:public"],
deps = SCALA_DEPS + [
"//api:lib",
"//online:lib",
maven_artifact("io.vertx:vertx-core"),
maven_artifact("io.vertx:vertx-web"),
maven_artifact("io.vertx:vertx-web-client"),
maven_artifact("io.vertx:vertx-config"),
maven_artifact("io.vertx:vertx-micrometer-metrics"),
maven_artifact("ch.qos.logback:logback-classic"),
maven_artifact("com.typesafe:config"),
maven_artifact("io.netty:netty-all"),
maven_artifact("io.micrometer:micrometer-registry-statsd"),
maven_artifact("io.micrometer:micrometer-core"),
maven_artifact("com.fasterxml.jackson.core:jackson-databind"),
maven_artifact("org.slf4j:slf4j-api"),
],
)

java_library(
name = "test-lib",
srcs = glob(["src/test/**/*.java"]),
visibility = ["//visibility:public"],
deps = [
":lib",
"//api:lib",
"//api:thrift",
"//online:lib",
# Libraries
maven_artifact("io.vertx:vertx-core"),
maven_artifact("io.vertx:vertx-web"),
maven_artifact("io.vertx:vertx-web-client"),
# Testing
maven_artifact("io.vertx:vertx-junit5"),
maven_artifact("org.junit.jupiter:junit-jupiter-api"),
],
)

java_test_suite(
name = "test",
srcs = glob(["src/test/**/*.java"]),
visibility = ["//visibility:public"],
runner = "junit5",
deps = [
":lib",
":test-lib",
"//api:lib",
"//api:thrift",
"//online:lib",
# Libraries
maven_artifact("io.vertx:vertx-core"),
maven_artifact("io.vertx:vertx-web"),
maven_artifact("io.vertx:vertx-web-client"),
# Testing
maven_artifact("io.vertx:vertx-junit5"),
maven_artifact("org.junit.jupiter:junit-jupiter-api"),
maven_artifact("org.junit.platform:junit-platform-launcher"),
maven_artifact("org.junit.platform:junit-platform-reporting"),
],
)
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ public void beforeStartingVertx(VertxOptions options) {
private final String statsdHost = Metrics.Context$.MODULE$.statsHost();
private final String statsdPort = String.valueOf(Metrics.Context$.MODULE$.statsPort());

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

@Override
public String get(String key) {
Expand Down
16 changes: 15 additions & 1 deletion tools/build_rules/dependencies/maven_repository.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ maven_repository = repository(

# JUnit
"junit:junit:4.13.2",
"org.junit.jupiter:junit-jupiter-api:5.10.5",
"org.junit.platform:junit-platform-launcher:1.10.5",
"org.junit.platform:junit-platform-reporting:1.10.5",
"com.novocode:junit-interface:0.11",
"org.scalatestplus:mockito-3-4_2.12:3.2.10.0",
"org.mockito:mockito-core:4.6.1",
Expand Down Expand Up @@ -45,11 +48,22 @@ maven_repository = repository(
"org.yaml:snakeyaml:2.3",
"commons-io:commons-io:2.9.0",
"commons-lang:commons-lang:2.6",
"io.netty:netty-all:4.1.99.Final",
"io.netty:netty-all:4.1.111.Final",
"io.delta:delta-spark_2.12:3.2.0",
"ch.qos.logback:logback-classic:1.5.6",
"com.typesafe:config:1.4.3",
"io.micrometer:micrometer-registry-statsd:1.13.6",

# Kafka
"org.apache.kafka:kafka-clients:3.9.0",

# Vertx
"io.vertx:vertx-core:4.5.10",
"io.vertx:vertx-web:4.5.10",
"io.vertx:vertx-web-client:4.5.10",
"io.vertx:vertx-config:4.5.10",
"io.vertx:vertx-micrometer-metrics:4.5.10",
"io.vertx:vertx-junit5:4.5.10",
],
overrides = {
},
Expand Down
9 changes: 8 additions & 1 deletion tools/build_rules/prelude_bazel
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,12 @@
load("//tools/build_rules:common.bzl", "jar", "scala_jar")
load("//tools/build_rules:jvm_binary.bzl", "jvm_binary")

load("@rules_java//java:defs.bzl", "java_library")
load("@contrib_rules_jvm//docs:stardoc-input.bzl", "java_test_suite")
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_library", "scala_test_suite")
load("//tools/build_rules:maven_artifact.bzl", "maven_artifact", "scala_artifact")
load("//tools/build_rules:maven_artifact.bzl", "maven_artifact", "scala_artifact")

SCALA_DEPS = [
"@io_bazel_rules_scala_scala_library_2_12_18//:io_bazel_rules_scala_scala_library_2_12_18",
# other scala related deps...
]