finatra-kafka-streams: Open-source Finatra Kafka Streams · twitter/finatra@47cce54 (original) (raw)
`@@ -51,6 +51,8 @@ lazy val versions = new {
`
51
51
`// All Twitter library releases are date versioned as YY.MM.patch
`
52
52
`val twLibVersion = releaseVersion
`
53
53
``
``
54
`+
val agrona = "0.9.22"
`
``
55
`+
val bijectionCore = "0.9.5"
`
54
56
`val commonsCodec = "1.9"
`
55
57
`val commonsFileupload = "1.3.1"
`
56
58
`val commonsIo = "2.4"
`
`@@ -61,11 +63,13 @@ lazy val versions = new {
`
61
63
`val jodaConvert = "1.2"
`
62
64
`val jodaTime = "2.5"
`
63
65
`val junit = "4.12"
`
``
66
`+
val kafka = "2.0.1"
`
64
67
`val libThrift = "0.10.0"
`
65
68
`val logback = "1.1.7"
`
66
69
`val mockito = "1.9.5"
`
67
70
`val mustache = "0.8.18"
`
68
71
`val nscalaTime = "2.14.0"
`
``
72
`+
val rocksdbjni = "5.14.2"
`
69
73
`val scalaCheck = "1.13.4"
`
70
74
`val scalaGuice = "4.1.0"
`
71
75
`val scalaTest = "3.0.0"
`
`@@ -213,7 +217,7 @@ lazy val finatraModules = Seq[sbt.ProjectReference](
`
213
217
` httpclient,
`
214
218
` injectApp,
`
215
219
` injectCore,
`
216
``
`-
injectLogback,
`
``
220
`+
injectLogback,
`
217
221
` injectModules,
`
218
222
` injectRequestScope,
`
219
223
` injectServer,
`
`@@ -223,6 +227,12 @@ lazy val finatraModules = Seq[sbt.ProjectReference](
`
223
227
` injectThriftClientHttpMapper,
`
224
228
` injectUtils,
`
225
229
` jackson,
`
``
230
`+
kafka,
`
``
231
`+
kafkaStreams,
`
``
232
`+
kafkaStreamsPrerestore,
`
``
233
`+
kafkaStreamsStaticPartitioning,
`
``
234
`+
kafkaStreamsQueryableThriftClient,
`
``
235
`+
kafkaStreamsQueryableThrift,
`
226
236
` thrift,
`
227
237
` utils)
`
228
238
``
`@@ -754,12 +764,176 @@ lazy val injectThriftClientHttpMapper = (project in file("inject-thrift-client-h
`
754
764
` injectThriftClient % "test->test;compile->compile",
`
755
765
` thrift % "test->test;test->compile")
`
756
766
``
``
767
`+
lazy val kafkaStreamsExclusionRules = Seq(
`
``
768
`+
ExclusionRule("javax.ws.rs", "javax.ws.rs-api"),
`
``
769
`+
ExclusionRule("log4j", "log4j"),
`
``
770
`+
ExclusionRule("org.slf4j", "slf4j-log4j12"))
`
``
771
+
``
772
`+
lazy val kafkaTestJarSources =
`
``
773
`+
Seq("com/twitter/finatra/kafka/test/EmbeddedKafka",
`
``
774
`+
"com/twitter/finatra/kafka/test/KafkaTopic",
`
``
775
`+
"com/twitter/finatra/kafka/test/utils/ThreadUtils",
`
``
776
`+
"com/twitter/finatra/kafka/test/utils/PollUtils",
`
``
777
`+
"com/twitter/finatra/kafka/test/utils/InMemoryStatsUtil",
`
``
778
`+
"com/twitter/finatra/kafka/test/KafkaFeatureTest",
`
``
779
`+
"com/twitter/finatra/kafka/test/KafkaStateStore")
`
``
780
`+
lazy val kafka = (project in file("kafka"))
`
``
781
`+
.settings(projectSettings)
`
``
782
`+
.settings(
`
``
783
`+
name := "finatra-kafka",
`
``
784
`+
moduleName := "finatra-kafka",
`
``
785
`+
ScoverageKeys.coverageExcludedPackages := ";.*",
`
``
786
`+
libraryDependencies ++= Seq(
`
``
787
`+
"com.twitter" %% "finagle-core" % versions.twLibVersion,
`
``
788
`+
"com.twitter" %% "finagle-exp" % versions.twLibVersion,
`
``
789
`+
"com.twitter" %% "finagle-thrift" % versions.twLibVersion,
`
``
790
`+
"com.twitter" %% "scrooge-serializer" % versions.twLibVersion,
`
``
791
`+
"com.twitter" %% "util-core" % versions.twLibVersion,
`
``
792
`+
"org.apache.kafka" %% "kafka" % versions.kafka % "compile->compile;test->test",
`
``
793
`+
"org.apache.kafka" %% "kafka" % versions.kafka % "test" classifier "test",
`
``
794
`+
"org.apache.kafka" % "kafka-clients" % versions.kafka % "test->test",
`
``
795
`+
"org.apache.kafka" % "kafka-clients" % versions.kafka % "test" classifier "test",
`
``
796
`+
"org.apache.kafka" % "kafka-streams" % versions.kafka % "compile->compile;test->test",
`
``
797
`+
"org.apache.kafka" % "kafka-streams" % versions.kafka % "test" classifier "test",
`
``
798
`+
"org.apache.kafka" % "kafka-streams-test-utils" % versions.kafka % "compile->compile;test->test",
`
``
799
`+
"org.apache.kafka" % "kafka-streams-test-utils" % versions.kafka % "test" classifier "test",
`
``
800
`+
"org.slf4j" % "slf4j-api" % versions.slf4j % "compile->compile;test->test"
`
``
801
`+
),
`
``
802
`+
excludeDependencies in Test ++= kafkaStreamsExclusionRules,
`
``
803
`+
excludeDependencies ++= kafkaStreamsExclusionRules,
`
``
804
`+
scroogeThriftIncludeFolders in Test := Seq(file("src/test/thrift")),
`
``
805
`+
scroogeLanguages in Test := Seq("scala"),
`
``
806
`+
excludeFilter in unmanagedResources := "BUILD",
`
``
807
`+
publishArtifact in Test := true,
`
``
808
`+
mappings in (Test, packageBin) := {
`
``
809
`+
val previous = (mappings in (Test, packageBin)).value
`
``
810
`+
previous.filter(mappingContainsAnyPath(_, kafkaTestJarSources))
`
``
811
`+
},
`
``
812
`+
mappings in (Test, packageDoc) := {
`
``
813
`+
val previous = (mappings in (Test, packageDoc)).value
`
``
814
`+
previous.filter(mappingContainsAnyPath(_, kafkaTestJarSources))
`
``
815
`+
},
`
``
816
`+
mappings in (Test, packageSrc) := {
`
``
817
`+
val previous = (mappings in (Test, packageSrc)).value
`
``
818
`+
previous.filter(mappingContainsAnyPath(_, kafkaTestJarSources))
`
``
819
`+
}
`
``
820
`+
).dependsOn(
`
``
821
`+
injectCore % "test->test;compile->compile",
`
``
822
`+
injectSlf4j % "test->test;compile->compile",
`
``
823
`+
injectUtils % "test->test;compile->compile",
`
``
824
`+
jackson % "test->test",
`
``
825
`+
utils % "test->test;compile->compile")
`
``
826
+
``
827
`+
lazy val kafkaStreamsQueryableThriftClient = (project in file("kafka-streams/kafka-streams-queryable-thrift-client"))
`
``
828
`+
.settings(projectSettings)
`
``
829
`+
.settings(
`
``
830
`+
name := "finatra-kafka-streams-queryable-thrift-client",
`
``
831
`+
moduleName := "finatra-kafka-streams-queryable-thrift-client",
`
``
832
`+
libraryDependencies ++= Seq(
`
``
833
`+
"com.twitter" %% "finagle-serversets" % versions.twLibVersion
`
``
834
`+
),
`
``
835
`+
excludeDependencies in Test ++= kafkaStreamsExclusionRules,
`
``
836
`+
excludeDependencies ++= kafkaStreamsExclusionRules,
`
``
837
`+
excludeFilter in unmanagedResources := "BUILD"
`
``
838
`+
).dependsOn(
`
``
839
`+
injectCore % "test->test;compile->compile",
`
``
840
`+
injectSlf4j % "test->test;compile->compile",
`
``
841
`+
injectUtils % "test->test;compile->compile",
`
``
842
`+
thrift % "test->test;compile->compile",
`
``
843
`+
utils % "test->test;compile->compile")
`
``
844
+
``
845
`+
lazy val kafkaStreamsStaticPartitioning = (project in file("kafka-streams/kafka-streams-static-partitioning"))
`
``
846
`+
.settings(projectSettings)
`
``
847
`+
.settings(
`
``
848
`+
name := "finatra-kafka-streams-static-partitioning",
`
``
849
`+
moduleName := "finatra-kafka-streams-static-partitioning",
`
``
850
`+
excludeDependencies in Test ++= kafkaStreamsExclusionRules,
`
``
851
`+
excludeDependencies ++= kafkaStreamsExclusionRules,
`
``
852
`+
excludeFilter in unmanagedResources := "BUILD"
`
``
853
`+
).dependsOn(
`
``
854
`+
injectCore % "test->test;compile->compile",
`
``
855
`+
injectSlf4j % "test->test;compile->compile",
`
``
856
`+
injectUtils % "test->test;compile->compile",
`
``
857
`+
kafkaStreams % "test->test;compile->compile",
`
``
858
`+
kafkaStreamsQueryableThriftClient % "test->test;compile->compile",
`
``
859
`+
thrift % "test->test;compile->compile",
`
``
860
`+
utils % "test->test;compile->compile")
`
``
861
+
``
862
`+
lazy val kafkaStreamsPrerestore = (project in file("kafka-streams/kafka-streams-prerestore"))
`
``
863
`+
.settings(projectSettings)
`
``
864
`+
.settings(
`
``
865
`+
name := "finatra-kafka-streams-prerestore",
`
``
866
`+
moduleName := "finatra-kafka-streams-prerestore",
`
``
867
`+
excludeDependencies in Test ++= kafkaStreamsExclusionRules,
`
``
868
`+
excludeDependencies ++= kafkaStreamsExclusionRules,
`
``
869
`+
excludeFilter in unmanagedResources := "BUILD"
`
``
870
`+
).dependsOn(
`
``
871
`+
injectCore % "test->test;compile->compile",
`
``
872
`+
injectSlf4j % "test->test;compile->compile",
`
``
873
`+
injectUtils % "test->test;compile->compile",
`
``
874
`+
kafkaStreams % "test->test;compile->compile",
`
``
875
`+
kafkaStreamsStaticPartitioning % "test->test;compile->compile",
`
``
876
`+
thrift % "test->test;compile->compile",
`
``
877
`+
utils % "test->test;compile->compile")
`
``
878
+
``
879
`+
lazy val kafkaStreamsQueryableThrift = (project in file("kafka-streams/kafka-streams-queryable-thrift"))
`
``
880
`+
.settings(projectSettings)
`
``
881
`+
.settings(
`
``
882
`+
name := "finatra-kafka-streams-queryable-thrift",
`
``
883
`+
moduleName := "finatra-kafka-streams-queryable-thrift",
`
``
884
`+
ScoverageKeys.coverageExcludedPackages := ";.*",
`
``
885
`+
excludeDependencies in Test ++= kafkaStreamsExclusionRules,
`
``
886
`+
excludeDependencies ++= kafkaStreamsExclusionRules,
`
``
887
`+
scroogeThriftIncludeFolders in Compile := Seq(file("src/test/thrift")),
`
``
888
`+
scroogeLanguages in Compile := Seq("java", "scala"),
`
``
889
`+
scroogeLanguages in Test := Seq("java", "scala"),
`
``
890
`+
excludeFilter in unmanagedResources := "BUILD"
`
``
891
`+
).dependsOn(
`
``
892
`+
injectCore % "test->test;compile->compile",
`
``
893
`+
injectSlf4j % "test->test;compile->compile",
`
``
894
`+
injectUtils % "test->test;compile->compile",
`
``
895
`+
kafkaStreams % "test->test;compile->compile",
`
``
896
`+
kafkaStreamsQueryableThriftClient % "test->test;compile->compile",
`
``
897
`+
kafkaStreamsStaticPartitioning % "test->test;compile->compile",
`
``
898
`+
thrift % "test->test;compile->compile",
`
``
899
`+
utils % "test->test;compile->compile")
`
``
900
+
``
901
`+
lazy val kafkaStreams = (project in file("kafka-streams/kafka-streams"))
`
``
902
`+
.settings(projectSettings)
`
``
903
`+
.settings(
`
``
904
`+
name := "finatra-kafka-streams",
`
``
905
`+
moduleName := "finatra-kafka-streams",
`
``
906
`+
ScoverageKeys.coverageExcludedPackages := ";.*",
`
``
907
`+
libraryDependencies ++= Seq(
`
``
908
`+
"jakarta.ws.rs" % "jakarta.ws.rs-api" % "2.1.3",
`
``
909
`+
"org.agrona" % "agrona" % versions.agrona,
`
``
910
`+
"org.apache.kafka" %% "kafka-streams-scala" % versions.kafka % "compile->compile;test->test",
`
``
911
`+
"org.rocksdb" % "rocksdbjni" % versions.rocksdbjni % "provided;compile->compile;test->test",
`
``
912
`+
"org.apache.kafka" % "kafka-streams" % versions.kafka % "compile->compile;test->test",
`
``
913
`+
"org.apache.kafka" % "kafka-streams" % versions.kafka % "test" classifier "test",
`
``
914
`+
),
`
``
915
`+
excludeDependencies in Test ++= kafkaStreamsExclusionRules,
`
``
916
`+
excludeDependencies ++= kafkaStreamsExclusionRules,
`
``
917
`+
excludeFilter in unmanagedResources := "BUILD",
`
``
918
`+
publishArtifact in Test := true
`
``
919
`+
).dependsOn(
`
``
920
`+
injectCore % "test->test;compile->compile",
`
``
921
`+
injectLogback % "test->test",
`
``
922
`+
injectSlf4j % "test->test;compile->compile",
`
``
923
`+
injectUtils % "test->test;compile->compile",
`
``
924
`+
jackson % "test->test;compile->compile",
`
``
925
`+
kafka % "test->test;compile->compile",
`
``
926
`+
kafkaStreamsQueryableThriftClient % "test->test;compile->compile",
`
``
927
`+
thrift % "test->test",
`
``
928
`+
utils % "test->test;compile->compile")
`
``
929
+
``
930
+
757
931
`lazy val site = (project in file("doc"))
`
758
932
` .enablePlugins(SphinxPlugin)
`
759
933
` .settings(
`
760
``
`-
baseSettings ++ buildSettings ++ Seq(
`
761
``
`-
scalacOptions in doc ++= Seq("-doc-title", "Finatra", "-doc-version", version.value),
`
762
``
`-
includeFilter in Sphinx := (".html" | ".png" | ".svg" | ".js" | ".css" | ".gif" | "*.txt")))
`
``
934
`+
baseSettings ++ buildSettings ++ Seq(
`
``
935
`+
scalacOptions in doc ++= Seq("-doc-title", "Finatra", "-doc-version", version.value),
`
``
936
`+
includeFilter in Sphinx := (".html" | ".png" | ".svg" | ".js" | ".css" | ".gif" | "*.txt")))
`
763
937
``
764
938
`// START EXAMPLES
`
765
939
``