Skip to content

Commit eb6c560

Browse files
Add Scala Native support
1 parent e9e65bd commit eb6c560

2 files changed

Lines changed: 48 additions & 0 deletions

File tree

build.sc

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.github.lolgab.mill.mima._
55
import de.tobiasroeser.mill.vcs.version._
66
import mill._
77
import mill.scalajslib._
8+
import mill.scalanativelib._
89
import mill.scalalib._
910
import mill.scalalib.publish._
1011

@@ -14,6 +15,7 @@ object DepVersions {
1415
def mdoc = "2.3.6"
1516
def scala213 = "2.13.16"
1617
def scalaJs = "1.18.1"
18+
def scalaNative = "0.5.6"
1719

1820
def scala = Seq(scala213, "2.12.20")
1921
}
@@ -142,9 +144,43 @@ trait VersionsJs extends Versions with ScalaJSModule {
142144
}
143145
}
144146

147+
trait VersionsNative extends Versions with ScalaNativeModule {
148+
def scalaNativeVersion = DepVersions.scalaNative
149+
150+
def mimaPreviousVersions = T {
151+
val cutOff = coursier.core.Version("0.3.3")
152+
super.mimaPreviousVersions().filter { v =>
153+
coursier.core.Version(v) > cutOff
154+
}
155+
}
156+
157+
// required if mimaPreviousVersions is empty
158+
def mimaPreviousArtifacts = T {
159+
val versions = mimaPreviousVersions().distinct
160+
mill.api.Result.Success(
161+
Agg.from(
162+
versions.map(version =>
163+
ivy"${pomSettings().organization}:${artifactId()}:$version"
164+
)
165+
)
166+
)
167+
}
168+
169+
object test extends ScalaNativeTests {
170+
def ivyDeps = super.ivyDeps() ++ Agg(
171+
Deps.utest
172+
)
173+
def testFramework = "utest.runner.Framework"
174+
def sources = T.sources {
175+
super.sources() ++ testSources()
176+
}
177+
}
178+
}
179+
145180
object versions extends Module {
146181
object jvm extends Cross[VersionsJvm](DepVersions.scala)
147182
object js extends Cross[VersionsJs](DepVersions.scala)
183+
object native extends Cross[VersionsNative](DepVersions.scala)
148184
}
149185

150186

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package coursier.version.internal
2+
3+
object Compatibility {
4+
5+
implicit class RichChar(private val c: Char) extends AnyVal {
6+
def letter = c.isLetter
7+
def letterOrDigit = c.isLetterOrDigit
8+
}
9+
10+
def regexLookbehind: String = "<="
11+
12+
}

0 commit comments

Comments
 (0)