@@ -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}
0 commit comments