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

``