-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.sbt
128 lines (118 loc) · 5.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
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
120
121
122
123
124
125
126
127
128
val bcpgVersion = "1.77"
val circeVersion = "0.14.10"
val cirisVersion = "3.6.0"
val declineVersion = "2.4.1"
val disciplineMunitVersion = "2.0.0"
val flywayVersion = "9.22.3"
val grackleVersion = "0.18.1"
val http4sVersion = "0.23.28"
val http4sBlazeVersion = "0.23.16"
val http4sEmberVersion = "0.23.28"
val http4sXmlVersion = "0.23.13"
val jwtVersion = "10.0.1"
val log4catsVersion = "2.7.0"
val lucumaCoreVersion = "0.105.0"
val lucumaGraphQLRoutesVersion = "0.8.8"
val munitVersion = "1.0.0"
val natcchezHttp4sVersion = "0.6.0"
val natchezVersion = "0.3.6"
val postgresVersion = "42.7.4"
val skunkVersion = "0.6.4"
val slf4jVersion = "2.0.13"
val weaverVersion = "0.8.4"
// If we don't do this we get a spurious warning about an unused key.
Global / excludeLintKeys += scalaJSLinkerConfig
ThisBuild / tlBaseVersion := "0.6"
ThisBuild / scalaVersion := "3.4.2"
ThisBuild / crossScalaVersions := Seq("3.4.2")
ThisBuild / scalacOptions ++= Seq(
"-language:implicitConversions"
)
ThisBuild / tlCiReleaseBranches := Seq("master", "scala3")
ThisBuild / githubWorkflowBuildPreamble ~= { steps =>
Seq(
WorkflowStep.Run(List("chmod 600 test-cert/server.key"), name = Some("Set up cert permissions (1)")),
WorkflowStep.Run(List("sudo chown 999 test-cert/server.key"), name = Some("Set up cert permissions (2)")),
) ++ steps
}
// Temporarily due to Scala-XML 2.0.0
ThisBuild / evictionErrorLevel := Level.Info
ThisBuild / testFrameworks += new TestFramework("weaver.framework.CatsEffect")
lazy val root = tlCrossRootProject.aggregate(
frontendClient,
backendClient,
service,
backendExample,
)
lazy val frontendClient = crossProject(JVMPlatform, JSPlatform)
.crossType(CrossType.Full)
.in(file("modules/frontend-client"))
.settings(
name := "lucuma-sso-frontend-client",
libraryDependencies ++= Seq(
"edu.gemini" %%% "lucuma-core" % lucumaCoreVersion,
"io.circe" %%% "circe-generic" % circeVersion,
"edu.gemini" %%% "lucuma-core-testkit" % lucumaCoreVersion % Test,
"org.scalameta" %%% "munit" % munitVersion % Test,
"org.scalameta" %%% "munit-scalacheck" % munitVersion % Test,
"org.typelevel" %%% "discipline-munit" % disciplineMunitVersion % Test,
)
)
lazy val backendClient = project
.in(file("modules/backend-client"))
.dependsOn(frontendClient.jvm)
.settings(
name := "lucuma-sso-backend-client",
libraryDependencies ++= Seq(
"com.github.jwt-scala" %% "jwt-core" % jwtVersion,
"com.github.jwt-scala" %% "jwt-circe" % jwtVersion,
"org.bouncycastle" % "bcpg-jdk18on" % bcpgVersion,
"org.http4s" %% "http4s-circe" % http4sVersion,
"org.http4s" %% "http4s-dsl" % http4sVersion,
"org.http4s" %% "http4s-client" % http4sVersion,
"org.typelevel" %% "log4cats-slf4j" % log4catsVersion,
"org.tpolecat" %% "natchez-http4s" % natcchezHttp4sVersion,
),
)
lazy val service = project
.in(file("modules/service"))
.dependsOn(backendClient)
.enablePlugins(NoPublishPlugin, JavaAppPackaging)
.settings(
name := "lucuma-sso-service",
libraryDependencies ++= Seq(
"io.circe" %% "circe-parser" % circeVersion,
"is.cir" %% "ciris" % cirisVersion,
"org.http4s" %% "http4s-blaze-server" % http4sBlazeVersion,
"org.http4s" %% "http4s-ember-client" % http4sEmberVersion,
"org.http4s" %% "http4s-scala-xml" % http4sXmlVersion,
"org.slf4j" % "slf4j-simple" % slf4jVersion,
"org.tpolecat" %% "natchez-honeycomb" % natchezVersion,
"org.tpolecat" %% "natchez-log" % natchezVersion,
"org.tpolecat" %% "natchez-http4s" % natcchezHttp4sVersion,
"org.tpolecat" %% "skunk-core" % skunkVersion,
"org.flywaydb" % "flyway-core" % flywayVersion,
"org.postgresql" % "postgresql" % postgresVersion,
"com.monovore" %% "decline-effect" % declineVersion,
"com.monovore" %% "decline" % declineVersion,
"org.typelevel" %% "grackle-skunk" % grackleVersion,
"edu.gemini" %% "lucuma-graphql-routes" % lucumaGraphQLRoutesVersion,
"io.circe" %% "circe-literal" % circeVersion % Test,
"com.disneystreaming" %% "weaver-cats" % weaverVersion % Test,
"com.disneystreaming" %% "weaver-scalacheck" % weaverVersion % Test,
),
)
lazy val backendExample = project
.in(file("modules/backend-example"))
.enablePlugins(NoPublishPlugin)
.dependsOn(backendClient)
.settings(
name := "lucuma-sso-backend-example",
libraryDependencies ++= Seq(
"is.cir" %% "ciris" % cirisVersion,
"org.http4s" %% "http4s-ember-client" % http4sVersion,
"org.http4s" %% "http4s-ember-server" % http4sVersion,
"org.slf4j" % "slf4j-simple" % slf4jVersion,
"org.tpolecat" %% "natchez-honeycomb" % natchezVersion,
)
)