-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathbuild.sbt
110 lines (94 loc) · 4.23 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import scala.collection.Seq
ThisBuild / scalaVersion := "2.12.10"
ThisBuild / githubRepository := "quasar-destination-avalanche"
homepage in ThisBuild := Some(url("https://github.com/precog/quasar-destination-avalanche"))
scmInfo in ThisBuild := Some(ScmInfo(
url("https://github.com/precog/quasar-destination-avalanche"),
"scm:[email protected]:precog/quasar-destination-avalanche.git"))
lazy val quasarVersion =
Def.setting[String](managedVersions.value("precog-quasar"))
lazy val asyncBlobstoreVersion =
Def.setting[String](managedVersions.value("precog-async-blobstore"))
lazy val quasarPluginJdbcVersion =
Def.setting[String](managedVersions.value("precog-quasar-lib-jdbc"))
lazy val specs2Version = "4.9.4"
lazy val http4sVersion = "0.21.24"
lazy val buildSettings = Seq(
logBuffered in Test := githubIsWorkflowBuild.value)
// Include to also publish a project's tests
lazy val publishTestsSettings = Seq(
Test / packageBin / publishArtifact := true)
lazy val commonSettings = buildSettings ++ publishTestsSettings
lazy val root = project
.in(file("."))
.settings(noPublishSettings)
.settings(commonSettings)
.aggregate(core, azure, s3, http)
lazy val core = project
.in(file("core"))
.settings(commonSettings)
.settings(name := "quasar-destination-avalanche-core")
.settings(
performMavenCentralSync := false,
publishAsOSSProject := true,
libraryDependencies ++= Seq(
"com.precog" %% "async-blobstore-core" % asyncBlobstoreVersion.value,
"com.precog" %% "quasar-lib-jdbc" % quasarPluginJdbcVersion.value,
"com.precog" %% "quasar-api" % quasarVersion.value,
"io.chrisdavenport" %% "log4cats-slf4j" % "1.0.1",
"org.http4s" %% "http4s-argonaut" % http4sVersion,
"org.http4s" %% "http4s-ember-client" % http4sVersion,
"org.specs2" %% "specs2-core" % specs2Version % Test),
assemblyExcludedJars in assembly := {
val cp = (fullClasspath in assembly).value
cp.filter(_.data.getName != "iijdbc.jar") // exclude everything but iijdbc.jar
},
packageBin in Compile := (assembly in Compile).value,
addCompilerPlugin("com.github.ghik" % "silencer-plugin" % "1.6.0" cross CrossVersion.full),
scalacOptions += "-P:silencer:globalFilters=http4s-argonaut")
.evictToLocal("QUASAR_PATH", "api", true)
.evictToLocal("QUASAR_PATH", "connector", true)
lazy val azure = project
.in(file("azure"))
.dependsOn(core)
.settings(commonSettings)
.settings(name := "quasar-destination-avalanche-azure")
.settings(
quasarPluginName := "avalanche-azure",
quasarPluginQuasarVersion := quasarVersion.value,
quasarPluginDestinationFqcn := Some("quasar.destination.avalanche.azure.AvalancheAzureDestinationModule$"),
quasarPluginDependencies ++= Seq(
"com.precog" %% "quasar-lib-jdbc" % quasarPluginJdbcVersion.value,
"com.precog" %% "async-blobstore-azure" % asyncBlobstoreVersion.value),
libraryDependencies ++= Seq(
"org.specs2" %% "specs2-core" % specs2Version % Test))
.enablePlugins(QuasarPlugin)
lazy val s3 = project
.in(file("s3"))
.dependsOn(core)
.settings(commonSettings)
.settings(name := "quasar-destination-avalanche-s3")
.settings(
quasarPluginName := "avalanche-s3",
quasarPluginQuasarVersion := quasarVersion.value,
quasarPluginDestinationFqcn := Some("quasar.destination.avalanche.s3.AvalancheS3DestinationModule$"),
quasarPluginDependencies ++= Seq(
"com.precog" %% "quasar-lib-jdbc" % quasarPluginJdbcVersion.value,
"com.precog" %% "async-blobstore-s3" % asyncBlobstoreVersion.value),
libraryDependencies ++= Seq(
"org.specs2" %% "specs2-core" % specs2Version % Test))
.enablePlugins(QuasarPlugin)
lazy val http = project
.in(file("http"))
.dependsOn(core)
.settings(commonSettings)
.settings(name := "quasar-destination-avalanche-http")
.settings(
quasarPluginName := "avalanche-http",
quasarPluginQuasarVersion := quasarVersion.value,
quasarPluginDestinationFqcn := Some("quasar.destination.avalanche.http.AvalancheHttpDestinationModule$"),
quasarPluginDependencies ++= Seq(
"com.precog" %% "quasar-lib-jdbc" % quasarPluginJdbcVersion.value),
libraryDependencies ++= Seq(
"org.specs2" %% "specs2-core" % specs2Version % Test))
.enablePlugins(QuasarPlugin)