-
Notifications
You must be signed in to change notification settings - Fork 10
/
build.sbt
76 lines (59 loc) · 3.36 KB
/
build.sbt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*** Common Settings ***/
val scalaV211 = "2.11.11"
val scalaV212 = "2.12.3"
organization in ThisBuild := "com.paytmlabs.akka"
scalaVersion in ThisBuild := scalaV211
crossScalaVersions in ThisBuild := Seq(scalaV211, scalaV212)
version in ThisBuild := "0.1.0-SNAPSHOT"
publishTo in ThisBuild := {
val nexus = "https://nexus.paytmlabs.com/content/repositories"
if(isSnapshot.value) {
Some("Paytmlabs Snapshots" at s"$nexus/snapshots/")
}
else {
Some("Paytmlabs Releases" at s"$nexus/releases/")
}
}
lazy val namePrefix = "akka"
/*** Projects ***/
lazy val root = (project in file("."))
.settings(publishArtifact := false)
.aggregate(commons,router,sbr,discoveryCore,discoveryElb)
lazy val commons = (project in file("commons"))
.settings(name := s"$namePrefix-commons")
.settings(libraryDependencies ++= sharedDependencies)
lazy val router = (project in file("router"))
.dependsOn(commons)
.settings(name := s"$namePrefix-affinity-router")
.settings(libraryDependencies ++= sharedDependencies)
lazy val sbr = (project in file("split-brain-resolver"))
.dependsOn(commons)
.settings(name := s"$namePrefix-split-brain-resolver")
.settings(libraryDependencies ++= sharedDependencies)
lazy val discoveryCore = (project in file("discovery/core"))
.dependsOn(commons)
.settings(name := s"$namePrefix-cluster-discovery-core")
.settings(libraryDependencies ++= sharedDependencies)
lazy val discoveryElb = (project in file("discovery/elb"))
.dependsOn(commons, discoveryCore)
.settings(name := s"$namePrefix-cluster-discovery-elb")
.settings(libraryDependencies ++= discoverElbDependencies)
/*** Dependencies ***/
val AKKA_VERSION = "2.5.6"
val AWS_SDK_VERSION = "1.11.206"
val SCALA_MOCK_VERSION = "3.6.0"
val SCALATEST_VERSION = "3.0.1"
val akkaActor = "com.typesafe.akka" %% "akka-actor" % AKKA_VERSION
val akkaRemote = "com.typesafe.akka" %% "akka-remote" % AKKA_VERSION
val akkaCluster = "com.typesafe.akka" %% "akka-cluster" % AKKA_VERSION
val akkaClusterTools = "com.typesafe.akka" %% "akka-cluster-tools" % AKKA_VERSION
val akkaSlf4j = "com.typesafe.akka" %% "akka-slf4j" % AKKA_VERSION
val awsEC2 = "com.amazonaws" % "aws-java-sdk-ec2" % AWS_SDK_VERSION
val awsELB = "com.amazonaws" % "aws-java-sdk-elasticloadbalancing" % AWS_SDK_VERSION
// Test
val akkaTestKit = "com.typesafe.akka" %% "akka-testkit" % AKKA_VERSION % "test"
val akkaMultinodeTest = "com.typesafe.akka" %% "akka-multi-node-testkit" % AKKA_VERSION
val scalaTest = "org.scalatest" %% "scalatest" % SCALATEST_VERSION % "test"
val scalaMock = "org.scalamock" %% "scalamock-scalatest-support" % SCALA_MOCK_VERSION % "test"
val sharedDependencies = Seq(akkaActor, akkaSlf4j, akkaRemote, akkaCluster, akkaClusterTools, akkaTestKit, scalaTest, scalaMock)
val discoverElbDependencies = sharedDependencies ++ Seq(awsEC2, awsELB)