-
Notifications
You must be signed in to change notification settings - Fork 4
/
build.sbt
80 lines (74 loc) · 2.64 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
lazy val zioVersion = "2.0.22"
lazy val scribeVersion = "3.15.0"
lazy val gitCommitString = SettingKey[String]("gitCommit")
lazy val commonSettings = Seq(
organization := "org.geneontology",
version := "2.3.2",
licenses := Seq("MIT license" -> url("https://opensource.org/licenses/MIT")),
homepage := Some(url("https://github.com/balhoff/relation-graph")),
scalaVersion := "2.13.15",
scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8"),
javaOptions += "-Xmx8G"
)
lazy val publishSettings = Seq(
Test / publishArtifact := false,
publishMavenStyle := true,
publishTo := {
val nexus = "https://oss.sonatype.org/"
if (isSnapshot.value) Some("snapshots" at nexus + "content/repositories/snapshots")
else Some("releases" at nexus + "service/local/staging/deploy/maven2")
},
pomExtra :=
<developers>
<developer>
<id>balhoff</id>
<name>Jim Balhoff</name>
<email>[email protected]</email>
</developer>
</developers>
)
lazy val parentProject = project
.in(file("."))
.settings(commonSettings)
.settings(name := "relation-graph-project", publish / skip := true)
.aggregate(core, cli)
lazy val core = project
.in(file("core"))
.settings(commonSettings)
.settings(
name := "relation-graph",
description := "relation-graph core",
testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework"),
libraryDependencies ++= Seq(
"dev.zio" %% "zio" % zioVersion,
"dev.zio" %% "zio-streams" % zioVersion,
"org.geneontology" %% "whelk-owlapi" % "1.1.3",
"org.apache.jena" % "apache-jena-libs" % "4.10.0" exclude("org.slf4j", "slf4j-log4j12"),
"com.typesafe.scala-logging" %% "scala-logging" % "3.9.5",
"dev.zio" %% "zio-test" % zioVersion % Test,
"dev.zio" %% "zio-test-sbt" % zioVersion % Test,
"com.outr" %% "scribe-slf4j" % scribeVersion % Test
)
)
.settings(publishSettings)
lazy val cli = project
.in(file("cli"))
.enablePlugins(JavaAppPackaging)
.enablePlugins(BuildInfoPlugin)
.enablePlugins(GitVersioning)
.settings(commonSettings)
.dependsOn(core)
.settings(
name := "relation-graph-cli",
executableScriptName := "relation-graph",
publish / skip := true,
libraryDependencies ++= Seq(
"com.outr" %% "scribe-slf4j" % scribeVersion,
"com.github.alexarchambault" %% "case-app" % "2.0.6",
"io.circe" %% "circe-yaml" % "0.14.2",
),
gitCommitString := git.gitHeadCommit.value.getOrElse("Not Set"),
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion, gitCommitString),
buildInfoPackage := "org.renci.relationgraph"
)
Global / useGpg := false