-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.sbt
71 lines (58 loc) · 1.65 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
import ReleaseTransformations._
import xerial.sbt.Sonatype.sonatypeSettings
// Scala version(s)
val scala3Version = "3.0.2"
// Metadata
ThisBuild / organization := "io.github.gaeljw"
ThisBuild / organizationName := "gaeljw"
ThisBuild / organizationHomepage := Some(url("https://github.com/gaeljw"))
ThisBuild / scmInfo := Some(
ScmInfo(
url("https://github.com/gaeljw/typetrees"),
"scm:git@github.com:gaeljw/typetrees.git"
)
)
ThisBuild / developers := List(
Developer(
"gaeljw",
"Gaël Jourdan-Weil",
"",
url("https://github.com/gaeljw")
)
)
ThisBuild / licenses := Seq(
"Apache License 2.0" -> url("https://www.apache.org/licenses/LICENSE-2.0.html")
)
ThisBuild / description := "Typetrees"
ThisBuild / homepage := Some(
url("https://github.com/gaeljw/typetrees")
)
// Projects and settings
lazy val root = project
.in(file("."))
.settings(
name := "typetrees",
scalaVersion := scala3Version,
libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % Test
)
// Versioning policy
ThisBuild / versionScheme := Some("early-semver")
ThisBuild / versionPolicyIntention := Compatibility.BinaryAndSourceCompatible
// Release & Publish
Global / publishMavenStyle := true
Global / publishTo := sonatypePublishToBundle.value
// https://github.com/xerial/sbt-sonatype#using-with-sbt-release-plugin
releaseProcess := Seq[ReleaseStep](
checkSnapshotDependencies,
inquireVersions,
runClean,
runTest,
setReleaseVersion,
commitReleaseVersion,
tagRelease,
releaseStepCommandAndRemaining("publishSigned"),
releaseStepCommand("sonatypeBundleRelease"),
setNextVersion,
commitNextVersion,
pushChanges
)