-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.sbt
83 lines (75 loc) · 2.63 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
import org.typelevel.sbt.gha.Permissions
Global / onChangedBuildSource := ReloadOnSourceChanges
ThisBuild / scalaVersion := "3.3.3"
ThisBuild / organization := "io.github.scala-jwt"
ThisBuild / organizationName := "oath"
ThisBuild / organizationHomepage := Some(url("https://github.com/scala-jwt/oath"))
ThisBuild / scalafixDependencies += "com.github.liancheng" %% "organize-imports" % "0.6.0"
ThisBuild / tlBaseVersion := "2.0"
ThisBuild / tlMimaPreviousVersions := Set.empty
ThisBuild / licenses := Seq(License.Apache2)
ThisBuild / developers := List(
tlGitHubDev("andrewrigas", "Andreas Rigas")
)
ThisBuild / tlSonatypeUseLegacyHost := false
ThisBuild / startYear := Some(2022)
ThisBuild / githubWorkflowPermissions := Some(Permissions.WriteAll)
ThisBuild / githubWorkflowJavaVersions := Seq("11", "17", "21").map(JavaSpec.temurin)
ThisBuild / githubWorkflowAddedJobs ++= Seq(
WorkflowJob(
id = "checklint",
name = "Check code style",
scalas = List(scalaVersion.value),
steps = List(WorkflowStep.Checkout) ++ WorkflowStep.SetupJava(
List(githubWorkflowJavaVersions.value.last)
) ++ githubWorkflowGeneratedCacheSteps.value ++ List(
WorkflowStep.Sbt(
List("checkLint"),
name = Some("Check Scalafmt and Scalafix rules"),
)
),
),
WorkflowJob(
id = "Codecov",
name = "Codecov",
scalas = List(scalaVersion.value),
steps = List(WorkflowStep.Checkout) ++ WorkflowStep.SetupJava(
List(githubWorkflowJavaVersions.value.last)
) ++ githubWorkflowGeneratedCacheSteps.value ++ List(
WorkflowStep.Sbt(List("coverage", "test", "coverageAggregate")),
WorkflowStep.Use(
UseRef.Public(
"codecov",
"codecov-action",
"v3.1.1",
)
),
),
),
)
lazy val root = Projects
.createModule("oath", ".")
.enablePlugins(NoPublishPlugin)
.settings(Aliases.all)
.aggregate(modules *)
lazy val oathMacros = Projects
.createModule("oath-macros", "modules/oath-macros")
.settings(Dependencies.oathMacros)
lazy val oathCore = Projects
.createModule("oath-core", "modules/oath-core")
.dependsOn(oathMacros)
.settings(Dependencies.oathCore)
lazy val oathCirce = Projects
.createModule("oath-circe", "modules/oath-circe")
.settings(Dependencies.oathCirce)
.dependsOn(oathCore % "compile->compile;test->test")
lazy val oathJsoniterScala = Projects
.createModule("oath-jsoniter-scala", "modules/oath-jsoniter-scala")
.settings(Dependencies.oathJsoniterScala)
.dependsOn(oathCore % "compile->compile;test->test")
lazy val modules: Seq[ProjectReference] = Seq(
oathMacros,
oathCore,
oathCirce,
oathJsoniterScala,
)