Skip to content

Commit 4e2eb8e

Browse files
committed
Refactoring
1 parent 4852218 commit 4e2eb8e

File tree

3 files changed

+32
-30
lines changed

3 files changed

+32
-30
lines changed

kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -40,35 +40,6 @@ object TypelevelKernelPlugin extends AutoPlugin {
4040
}
4141
})
4242

43-
private[sbt] lazy val currentRelease: Def.Initialize[Option[String]] = Def.setting {
44-
// some tricky logic here ...
45-
// if the latest release is a pre-release (e.g., M or RC)
46-
// and there are no stable releases it is bincompatible with,
47-
// then for all effective purposes it is the current release
48-
49-
val release = previousReleases.value match {
50-
case head :: tail if head.isPrerelease =>
51-
tail
52-
.filterNot(_.isPrerelease)
53-
.find(head.copy(prerelease = None).mustBeBinCompatWith(_))
54-
.orElse(Some(head))
55-
case releases => releases.headOption
56-
}
57-
58-
release.map(_.toString)
59-
}
60-
61-
// latest tagged release, including pre-releases
62-
private[sbt] lazy val currentPreRelease: Def.Initialize[Option[String]] = Def.setting {
63-
previousReleases.value.headOption.map(_.toString)
64-
}
65-
66-
private[sbt] lazy val previousReleases: Def.Initialize[List[V]] = Def.setting {
67-
val currentVersion = V(version.value).map(_.copy(prerelease = None))
68-
GitHelper.previousReleases(fromHead = true, strict = false).filter { v =>
69-
currentVersion.forall(v.copy(prerelease = None) <= _)
70-
}
71-
}
7243
}
7344

7445
import autoImport._
@@ -115,4 +86,34 @@ object TypelevelKernelPlugin extends AutoPlugin {
11586
}
11687
}
11788

89+
private[sbt] lazy val currentRelease: Def.Initialize[Option[String]] = Def.setting {
90+
// some tricky logic here ...
91+
// if the latest release is a pre-release (e.g., M or RC)
92+
// and there are no stable releases it is bincompatible with,
93+
// then for all effective purposes it is the current release
94+
95+
val release = previousReleases.value match {
96+
case head :: tail if head.isPrerelease =>
97+
tail
98+
.filterNot(_.isPrerelease)
99+
.find(head.copy(prerelease = None).mustBeBinCompatWith(_))
100+
.orElse(Some(head))
101+
case releases => releases.headOption
102+
}
103+
104+
release.map(_.toString)
105+
}
106+
107+
// latest tagged release, including pre-releases
108+
private[sbt] lazy val currentPreRelease: Def.Initialize[Option[String]] = Def.setting {
109+
previousReleases.value.headOption.map(_.toString)
110+
}
111+
112+
private[this] lazy val previousReleases: Def.Initialize[List[V]] = Def.setting {
113+
val currentVersion = V(version.value).map(_.copy(prerelease = None))
114+
GitHelper.previousReleases(fromHead = true, strict = false).filter { v =>
115+
currentVersion.forall(v.copy(prerelease = None) <= _)
116+
}
117+
}
118+
118119
}

site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import MdocPlugin.autoImport._
3636
import LaikaPlugin.autoImport._
3737
import gha.GenerativePlugin
3838
import GenerativePlugin.autoImport._
39+
import TypelevelKernelPlugin._
3940
import TypelevelKernelPlugin.autoImport._
4041

4142
object TypelevelSitePlugin extends AutoPlugin {

versioning/src/main/scala/org/typelevel/sbt/TypelevelVersioningPlugin.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package org.typelevel.sbt
1818

1919
import com.typesafe.sbt.GitPlugin
2020
import com.typesafe.sbt.SbtGit.git
21-
import org.typelevel.sbt.TypelevelKernelPlugin.autoImport._
21+
import org.typelevel.sbt.TypelevelKernelPlugin._
2222
import org.typelevel.sbt.kernel.GitHelper
2323
import org.typelevel.sbt.kernel.V
2424
import sbt._

0 commit comments

Comments
 (0)