-
Notifications
You must be signed in to change notification settings - Fork 27
/
build.sbt
executable file
·71 lines (59 loc) · 2.79 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
ThisBuild / name := "almaren-framework"
ThisBuild / organization := "com.github.music-of-the-ainur"
lazy val scala212 = "2.12.15"
lazy val scala213 = "2.13.9"
crossScalaVersions := Seq(scala212,scala213)
ThisBuild / scalaVersion := scala213
val sparkVersion = "3.5.0"
val majorVersionReg = "([0-9]+\\.[0-9]+).{0,}".r
val majorVersionReg(majorVersion) = sparkVersion
libraryDependencies ++= Seq(
"com.typesafe.scala-logging" %% "scala-logging" % "3.9.5",
"org.apache.spark" %% "spark-streaming" % sparkVersion % "provided",
"org.apache.spark" %% "spark-core" % sparkVersion % "provided",
"org.apache.spark" %% "spark-sql" % sparkVersion % "provided",
"org.apache.spark" %% "spark-sql-kafka-0-10" % sparkVersion % "provided",
"org.apache.spark" %% "spark-avro" % sparkVersion,
"com.databricks" %% "spark-xml" % "0.17.0",
"com.github.music-of-the-ainur" %% "quenya-dsl" % s"1.2.3-${majorVersion}",
"org.scalatest" %% "scalatest" % "3.2.17" % "test",
"org.postgresql" % "postgresql" % "42.6.0" % "test"
)
enablePlugins(GitVersioning)
resolvers +=
"Sonatype OSS Snapshots" at "https://oss.sonatype.org/service/local/repositories/releases/content"
ThisBuild / scmInfo := Some(
ScmInfo(
url("https://github.com/music-of-the-ainur/almaren-framework"),
"scm:[email protected]:music-of-the-ainur/almaren-framework.git"
)
)
ThisBuild / developers := List(
Developer(
id = "mantovani",
name = "Daniel Mantovani",
email = "[email protected]",
url = url("https://github.com/music-of-the-ainur")
),
Developer(
id = "badrinathpatchikolla",
name = "Badrinath Patchikolla",
email = "[email protected]",
url = url("https://github.com/music-of-the-ainur")
)
)
ThisBuild / description := "The Almaren Framework provides a simplified consistent minimalistic layer over Apache Spark. While still allowing you to take advantage of native Apache Spark features. You can still combine it with standard Spark code"
ThisBuild / licenses := List("Apache 2" -> new URL("http://www.apache.org/licenses/LICENSE-2.0.txt"))
ThisBuild / homepage := Some(url("https://github.com/music-of-the-ainur/almaren-framework"))
ThisBuild / organizationName := "Music of Ainur"
ThisBuild / organizationHomepage := Some(url("https://github.com/music-of-the-ainur"))
// Remove all additional repository other than Maven Central from POM
credentials += Credentials(Path.userHome / ".sbt" / "sonatype_credential")
ThisBuild / pomIncludeRepository := { _ => false }
ThisBuild / 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")
}
ThisBuild / publishMavenStyle := true
updateOptions := updateOptions.value.withGigahorse(false)