-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.sbt
119 lines (112 loc) · 4.32 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
111
112
113
114
115
116
117
118
119
import Dependencies.*
import sbt.*
ThisBuild / organization := "org.constellation"
ThisBuild / organizationName := "elpaca"
ThisBuild / scalaVersion := "2.13.14"
ThisBuild / evictionErrorLevel := Level.Warn
ThisBuild / assemblyMergeStrategy := {
case "logback.xml" => MergeStrategy.first
case x if x.contains("io.netty.versions.properties") => MergeStrategy.discard
case PathList(xs@_*) if xs.last == "module-info.class" => MergeStrategy.first
case x =>
val oldStrategy = (assembly / assemblyMergeStrategy).value
oldStrategy(x)
}
lazy val commonTestSettings = Seq(
testFrameworks += new TestFramework("weaver.framework.CatsEffect"),
libraryDependencies ++= Seq(
Libraries.catsEffectTestkit,
Libraries.scalaTest
).map(_ % Test)
)
lazy val root = (project in file(".")).
settings(
name := "elpaca_metagraph"
).aggregate(sharedData, currencyL0, currencyL1, dataL1)
lazy val sharedData = (project in file("modules/shared_data"))
.enablePlugins(AshScriptPlugin)
.enablePlugins(BuildInfoPlugin)
.enablePlugins(JavaAppPackaging)
.settings(
name := "elpaca_metagraph-shared_data",
scalacOptions ++= List("-Ymacro-annotations", "-Yrangepos", "-Wconf:cat=unused:info", "-language:reflectiveCalls"),
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
buildInfoPackage := "org.elpaca_metagraph.shared_data",
resolvers += Resolver.mavenLocal,
resolvers += Resolver.githubPackages("abankowski", "http-request-signer"),
Defaults.itSettings,
commonTestSettings,
libraryDependencies ++= Seq(
CompilerPlugin.kindProjector,
CompilerPlugin.betterMonadicFor,
CompilerPlugin.semanticDB,
Libraries.tessellationNodeShared,
Libraries.scribeJavaCore,
Libraries.scribeJavaApis
)
)
lazy val currencyL1 = (project in file("modules/l1"))
.enablePlugins(AshScriptPlugin)
.enablePlugins(BuildInfoPlugin)
.enablePlugins(JavaAppPackaging)
.settings(
name := "elpaca_metagraph-currency-l1",
scalacOptions ++= List("-Ymacro-annotations", "-Yrangepos", "-Wconf:cat=unused:info", "-language:reflectiveCalls"),
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
buildInfoPackage := "org.elpaca_metagraph.l1",
resolvers += Resolver.mavenLocal,
resolvers += Resolver.githubPackages("abankowski", "http-request-signer"),
Defaults.itSettings,
commonTestSettings,
libraryDependencies ++= Seq(
CompilerPlugin.kindProjector,
CompilerPlugin.betterMonadicFor,
CompilerPlugin.semanticDB,
Libraries.tessellationCurrencyL1
)
)
lazy val currencyL0 = (project in file("modules/l0"))
.enablePlugins(AshScriptPlugin)
.enablePlugins(BuildInfoPlugin)
.enablePlugins(JavaAppPackaging)
.dependsOn(sharedData)
.settings(
name := "elpaca_metagraph-currency-l0",
scalacOptions ++= List("-Ymacro-annotations", "-Yrangepos", "-Wconf:cat=unused:info", "-language:reflectiveCalls"),
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
buildInfoPackage := "org.elpaca_metagraph.l0",
resolvers += Resolver.mavenLocal,
resolvers += Resolver.githubPackages("abankowski", "http-request-signer"),
Defaults.itSettings,
commonTestSettings,
libraryDependencies ++= Seq(
CompilerPlugin.kindProjector,
CompilerPlugin.betterMonadicFor,
CompilerPlugin.semanticDB,
Libraries.declineRefined,
Libraries.declineCore,
Libraries.declineEffect,
Libraries.tessellationCurrencyL0
)
)
lazy val dataL1 = (project in file("modules/data_l1"))
.enablePlugins(AshScriptPlugin)
.enablePlugins(BuildInfoPlugin)
.enablePlugins(JavaAppPackaging)
.dependsOn(sharedData)
.settings(
name := "elpaca_metagraph-data_l1",
scalacOptions ++= List("-Ymacro-annotations", "-Yrangepos", "-Wconf:cat=unused:info", "-language:reflectiveCalls"),
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
buildInfoPackage := "org.elpaca_metagraph.data_l1",
resolvers += Resolver.mavenLocal,
resolvers += Resolver.githubPackages("abankowski", "http-request-signer"),
Defaults.itSettings,
commonTestSettings,
libraryDependencies ++= Seq(
CompilerPlugin.kindProjector,
CompilerPlugin.betterMonadicFor,
CompilerPlugin.semanticDB,
Libraries.tessellationCurrencyL1
)
)