Skip to content

Commit ddd29b6

Browse files
authored
Bazel migration for Flink module (#237)
## Summary Migrated `Flink` module to Bazel from sbt. ## Checklist - [ ] 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 - **New Features** - Added Scala library definitions for the main application and testing. - Introduced new Apache Flink dependencies for streaming, metrics, and client interactions. - **Chores** - Updated build configuration to support a modular Scala project structure. - Enhanced Maven repository with additional Flink-related libraries. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent ab97dc4 commit ddd29b6

File tree

2 files changed

+88
-0
lines changed

2 files changed

+88
-0
lines changed

flink/BUILD.bazel

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
flink_deps = [
2+
scala_artifact("org.apache.flink:flink-streaming-scala"),
3+
scala_artifact("org.apache.flink:flink-scala"),
4+
maven_artifact("org.apache.flink:flink-streaming-java"),
5+
maven_artifact("org.apache.flink:flink-core"),
6+
maven_artifact("org.apache.flink:flink-metrics-dropwizard"),
7+
maven_artifact("org.apache.flink:flink-metrics-core"),
8+
maven_artifact("org.apache.flink:flink-clients"),
9+
maven_artifact("org.apache.flink:flink-yarn"),
10+
]
11+
12+
flink_test_deps = [
13+
# Libraries
14+
scala_artifact("org.apache.flink:flink-streaming-scala"),
15+
scala_artifact("org.apache.flink:flink-scala"),
16+
maven_artifact("org.apache.flink:flink-streaming-java"),
17+
maven_artifact("org.apache.flink:flink-core"),
18+
maven_artifact("org.apache.flink:flink-runtime"),
19+
# Testing
20+
maven_artifact("org.apache.flink:flink-test-utils"),
21+
maven_artifact("org.apache.flink:flink-runtime-tests"),
22+
]
23+
24+
scala_library(
25+
name = "lib",
26+
srcs = glob(["src/main/**/*.scala"]),
27+
visibility = ["//visibility:public"],
28+
deps = flink_deps + [
29+
"//api:lib",
30+
"//api:thrift",
31+
"//aggregator:lib",
32+
"//online:lib",
33+
"//tools/build_rules/spark:spark-exec",
34+
scala_artifact("org.scala-lang.modules:scala-java8-compat"),
35+
scala_artifact("org.scala-lang.modules:scala-collection-compat"),
36+
scala_artifact("org.rogach:scallop"),
37+
maven_artifact("io.dropwizard.metrics:metrics-core"),
38+
],
39+
)
40+
41+
test_deps = flink_test_deps + [
42+
":lib",
43+
"//online:lib",
44+
"//api:thrift",
45+
"//api:lib",
46+
"//aggregator:lib",
47+
"//tools/build_rules/spark:spark-exec",
48+
# Libraries
49+
scala_artifact("org.scala-lang.modules:scala-java8-compat"),
50+
scala_artifact("org.scala-lang.modules:scala-collection-compat"),
51+
# Testing
52+
scala_artifact("org.scalatest:scalatest-matchers-core"),
53+
scala_artifact("org.scalatest:scalatest-core"),
54+
scala_artifact("org.scalatest:scalatest"),
55+
scala_artifact("org.scalatest:scalatest-flatspec"),
56+
scala_artifact("org.scalatest:scalatest-funsuite"),
57+
scala_artifact("org.scalatest:scalatest-shouldmatchers"),
58+
scala_artifact("org.scalactic:scalactic"),
59+
scala_artifact("org.scalatestplus:mockito-3-4"),
60+
scala_artifact("org.mockito:mockito-scala"),
61+
maven_artifact("org.mockito:mockito-core"),
62+
maven_artifact("org.scalatest:scalatest-compatible"),
63+
maven_artifact("junit:junit"),
64+
maven_artifact("com.novocode:junit-interface"),
65+
]
66+
67+
scala_library(
68+
name = "test-lib",
69+
srcs = glob(["src/test/**/*.scala"]),
70+
visibility = ["//visibility:public"],
71+
deps = test_deps,
72+
)
73+
74+
scala_test_suite(
75+
name = "test",
76+
srcs = glob(["src/test/**/*.scala"]),
77+
visibility = ["//visibility:public"],
78+
deps = test_deps + [":test-lib",],
79+
)

tools/build_rules/dependencies/maven_repository.bzl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,15 @@ maven_repository = repository(
5757
# Kafka
5858
"org.apache.kafka:kafka-clients:3.9.0",
5959

60+
# Flink
61+
"org.apache.flink:flink-streaming-scala_2.12:1.17.0",
62+
"org.apache.flink:flink-metrics-dropwizard:1.17.0",
63+
"org.apache.flink:flink-clients:1.17.0",
64+
"org.apache.flink:flink-yarn:1.17.0",
65+
"org.apache.flink:flink-runtime:1.17.0",
66+
"org.apache.flink:flink-runtime:1.17.0:tests",
67+
"org.apache.flink:flink-test-utils:1.17.0",
68+
6069
# Vertx
6170
"io.vertx:vertx-core:4.5.10",
6271
"io.vertx:vertx-web:4.5.10",

0 commit comments

Comments
 (0)