-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.sbt
56 lines (44 loc) · 1.33 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
import Dependencies.*
name := "spark_fp"
version := "0.1"
ThisBuild / organization := "com.example"
ThisBuild / version := "0.1.0-SNAPSHOT"
ThisBuild / scalaVersion := "2.13.12"
//addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full)
lazy val commonSettings = Seq(
addCompilerPlugin("org.typelevel" % "kind-projector" % "0.13.2" cross CrossVersion.full),
addCompilerPlugin ("com.olegpy" %% "better-monadic-for" % "0.3.1"),
scalacOptions ++= Seq(
"-language:implicitConversions",
"-language:higherKinds",
"-language:existentials",
"-language:postfixOps",
"-Ymacro-annotations"
)
)
lazy val framework = (project in file("framework"))
.settings(
commonSettings
)
.settings (
libraryDependencies ++= (catsEffect ++ spark ++ tagless ++ configFramework ++ dataProcess ++ scalaTest)
)
lazy val core = (project in file("core"))
.settings(
libraryDependencies ++= dataProcess ++ scalaTest
)
.settings(
commonSettings
)
lazy val demo = (project in file("demo"))
.settings(
commonSettings
)
.settings(
libraryDependencies ++= configFramework ++ spark ++ dataProcess ++ scalaTest
)
.dependsOn(framework, core)
lazy val root = (project in file("."))
.dependsOn(demo)
.aggregate(framework, core, demo)
assembly / assemblyJarName := "demo-1.0.jar"