-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild.sbt
88 lines (79 loc) · 3.06 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
import sbtorgpolicies.templates.badges._
import sbtorgpolicies.runnable.syntax._
pgpPassphrase := Some(getEnvVar("PGP_PASSPHRASE").getOrElse("").toCharArray)
pgpPublicRing := file(s"$gpgFolder/pubring.gpg")
pgpSecretRing := file(s"$gpgFolder/secring.gpg")
lazy val freesV = "0.5.1"
lazy val commonDependencies: Seq[ModuleID] = Seq(
%%("frees-async",freesV),
%%("frees-async-guava",freesV),
%%("shapeless"),
%%("classy-core"),
%%("classy-config-typesafe"),
%("cassandra-driver-core"),
%("cassandra-driver-mapping"),
%("cassandra-driver-extras"),
"io.github.cassandra-scala" %% "troy-schema" % "0.5.0",
"com.propensive" %% "contextual" % "1.0.1"
)
lazy val testDependencies: Seq[ModuleID] =
Seq(%%("scalatest"), %%("scalamockScalatest"), %%("scalacheck"), %%("scheckShapeless"))
.map(_ % "it,test")
lazy val orgSettings = Seq(
orgBadgeListSetting := List(
TravisBadge.apply,
CodecovBadge.apply,
MavenCentralBadge.apply,
ScalaLangBadge.apply,
LicenseBadge.apply,
{ info => GitterBadge.apply(info.copy(owner = "47deg", repo = "freestyle")) },
GitHubIssuesBadge.apply
),
embeddedCassandraCQLFileSetting := Option(file("macros-tests/src/main/resources/schema.sql"))
)
orgAfterCISuccessTaskListSetting := List(
depUpdateDependencyIssues.asRunnableItem,
orgPublishReleaseTask.asRunnableItem(allModules = true, aggregated = false, crossScalaVersions = true),
orgUpdateDocFiles.asRunnableItem
)
lazy val root = project
.in(file("."))
.settings(name := "freestyle-cassandra")
.settings(noPublishSettings)
.enablePlugins(EmbeddedCassandraPlugin)
.settings(orgSettings)
.dependsOn(core, `macros-tests`, docs)
.aggregate(core, `macros-tests`, docs)
lazy val core = project
.in(file("core"))
.settings(moduleName := "frees-cassandra-core")
.settings(scalaMetaSettings)
.configs(IntegrationTest)
.settings(Defaults.itSettings)
.settings(resolvers += Resolver.bintrayRepo("tabdulradi", "maven"))
.settings(libraryDependencies ++= commonDependencies)
.settings(libraryDependencies ++= testDependencies)
lazy val `macros-tests` = project
.in(file("macros-tests"))
.settings(moduleName := "frees-cassandra-macros-tests")
.settings(scalaMetaSettings)
.configs(IntegrationTest)
.settings(Defaults.itSettings)
.settings(libraryDependencies ++= testDependencies)
.dependsOn(core)
lazy val docs = project
.in(file("docs"))
.dependsOn(core)
.aggregate(core)
.settings(name := "frees-cassandra-docs")
.settings(noPublishSettings: _*)
.settings(
addCompilerPlugin(%%("scalameta-paradise") cross CrossVersion.full),
libraryDependencies += %%("scalameta", "1.8.0"),
scalacOptions += "-Xplugin-require:macroparadise",
scalacOptions in Tut ~= (_ filterNot Set("-Ywarn-unused-import", "-Xlint").contains),
// Pointing to https://github.com/frees-io/freestyle/tree/master/docs/src/main/tut/docs/rpc
tutTargetDirectory := baseDirectory.value.getParentFile.getParentFile / "docs" / "src"
/ "main" / "tut" / "docs" / "cassandra"
)
.enablePlugins(TutPlugin)