-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathversion.sbt
27 lines (24 loc) · 1.28 KB
/
version.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
def getVersion(version: String): String = {
val versionRegex = """([0-9]+)(?:(?:\.([0-9]+))?(?:\.([0-9]+))?)?([\-0-9a-zA-Z]*)?""".r
val versionRegex(major, minor, buildNumber, qualifier) = version
val buildNumberOverride = System.getProperty("packaging.buildNumber")
val qualifierOverride = System.getProperty("packaging.buildQualifier")
val finalBuildNumber = if (buildNumberOverride != null) buildNumberOverride else buildNumber
val finalQualifier = if (qualifierOverride != null) qualifierOverride else qualifier
s"$major.$minor.$finalBuildNumber$finalQualifier"
}
def isSnapshotBuild(version: String): Boolean = {
version.endsWith("-SNAPSHOT")
}
val buildVersion = getVersion(ProjectInfo.buildVersion)
version := buildVersion
ThisBuild / version := buildVersion
ThisBuild / credentials += Credentials(Path.userHome / ".ivy2" / ".credentials")
ThisBuild / publishTo := {
val registryUrl = "http://localhost:8081/nexus/"
if (isSnapshotBuild(buildVersion)) {
Some("snapshots" at registryUrl + "content/repositories/snapshots/")
} else {
Some("releases" at registryUrl + "content/repositories/releases")
}
}