/
build.sbt
76 lines (67 loc) · 2.24 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
import com.malliina.sbtutils.MavenCentralKeys
import sbtcrossproject.CrossPlugin.autoImport.{CrossType, crossProject}
val malliinaGroup = "com.malliina"
val primitiveVersion = "3.6.0"
val munitVersion = "0.7.29"
val scalatagsVersion = "0.12.0"
inThisBuild(
Seq(
organization := "com.malliina",
scalaVersion := "3.3.1",
gitUserName := "malliina",
developerName := "Michael Skogberg",
Test / publishArtifact := true,
libraryDependencies += "org.scalameta" %% "munit" % munitVersion % Test,
testFrameworks += new TestFramework("munit.Framework")
)
)
val commonsCodec = "commons-codec" % "commons-codec" % "1.16.1"
val webAuth = Project("web-auth", file("web-auth"))
.enablePlugins(MavenCentralPlugin)
.settings(
libraryDependencies ++= Seq(
malliinaGroup %% "okclient-io" % primitiveVersion,
"com.nimbusds" % "nimbus-jose-jwt" % "9.37.3",
commonsCodec
),
releaseProcess := MavenCentralKeys.tagReleaseProcess.value
)
val html = crossProject(JSPlatform, JVMPlatform)
.crossType(CrossType.Full)
.in(file("util-html"))
.enablePlugins(MavenCentralPlugin)
.settings(
name := "util-html",
libraryDependencies ++= Seq(
"com.lihaoyi" %%% "scalatags" % scalatagsVersion,
malliinaGroup %%% "primitives" % primitiveVersion
),
releaseProcess := MavenCentralKeys.tagReleaseProcess.value
)
val htmlJvm = html.jvm
val htmlJs = html.js
val database = project
.in(file("database"))
.enablePlugins(MavenCentralPlugin)
.settings(
libraryDependencies ++= Seq("config", "okclient-io").map { m =>
malliinaGroup %%% m % primitiveVersion
} ++ Seq("core", "hikari").map { m =>
"org.tpolecat" %% s"doobie-$m" % "1.0.0-RC5"
} ++ Seq(
"org.flywaydb" % "flyway-mysql" % "10.11.0"
),
releaseProcess := MavenCentralKeys.tagReleaseProcess.value
)
val webAuthRoot = project
.in(file("."))
.aggregate(webAuth, htmlJvm, htmlJs, database)
.settings(
releaseProcess := (webAuth / releaseProcess).value,
organization := malliinaGroup,
publish := {},
publishLocal := {},
publishArtifact := false,
publishTo := Some(Resolver.file("Unused transient repository", file("target/unusedrepo")))
)
Global / onChangedBuildSource := ReloadOnSourceChanges