Skip to content

Commit 1c4ab68

Browse files
committed
Update build.sbt for Scala Native
1 parent f596493 commit 1c4ab68

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

build.sbt

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ lazy val root = project
2424
.aggregate(
2525
compat211JVM,
2626
compat211JS,
27+
compat211Native,
2728
compat212JVM,
2829
compat212JS,
2930
compat213JVM,
@@ -70,7 +71,7 @@ def osgiVersionRange(version: String, requireMicro: Boolean = false): String =
7071
def osgiImport(pattern: String, version: String, requireMicro: Boolean = false): String =
7172
pattern + ";version=\"" + osgiVersionRange(version, requireMicro) + "\""
7273

73-
lazy val compat = MultiScalaCrossProject(JSPlatform, JVMPlatform)(
74+
lazy val compat = MultiScalaCrossProject(JSPlatform, JVMPlatform, NativePlatform)(
7475
"compat",
7576
_.settings(scalaModuleSettings)
7677
.settings(commonSettings)
@@ -110,18 +111,25 @@ lazy val compat = MultiScalaCrossProject(JSPlatform, JVMPlatform)(
110111
)
111112
.jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin))
112113
.disablePlugins(ScalafixPlugin)
114+
.nativeSettings(
115+
crossScalaVersions := List(scala211),
116+
scalaVersion := scala211, // allows to compile if scalaVersion set not 2.11
117+
nativeLinkStubs := true,
118+
Test / test := false
119+
)
113120
)
114121

115122
val compat211 = compat(scala211)
116123
val compat212 = compat(scala212)
117124
val compat213 = compat(scala213)
118125

119-
lazy val compat211JVM = compat211.jvm
120-
lazy val compat211JS = compat211.js
121-
lazy val compat212JVM = compat212.jvm
122-
lazy val compat212JS = compat212.js
123-
lazy val compat213JVM = compat213.jvm
124-
lazy val compat213JS = compat213.js
126+
lazy val compat211JVM = compat211.jvm
127+
lazy val compat211JS = compat211.js
128+
lazy val compat211Native = compat211.native
129+
lazy val compat212JVM = compat212.jvm
130+
lazy val compat212JS = compat212.js
131+
lazy val compat213JVM = compat213.jvm
132+
lazy val compat213JS = compat213.js
125133

126134
lazy val `binary-compat-old` = project
127135
.in(file("binary-compat/old"))
@@ -286,6 +294,7 @@ val preRelease = "preRelease"
286294
val travisScalaVersion = sys.env.get("TRAVIS_SCALA_VERSION").flatMap(Version.parse)
287295
val releaseVersion = sys.env.get("TRAVIS_TAG").flatMap(Version.parse)
288296
val isScalaJs = sys.env.get("SCALAJS_VERSION").map(_.nonEmpty).getOrElse(false)
297+
val isScalaNative = sys.env.get("SCALANATIVE_VERSION").map(_.nonEmpty).getOrElse(false)
289298
val isScalafix = sys.env.get("TEST_SCALAFIX").nonEmpty
290299
val isScalafmt = sys.env.get("TEST_SCALAFMT").nonEmpty
291300
val isBinaryCompat = sys.env.get("TEST_BINARY_COMPAT").nonEmpty
@@ -343,13 +352,14 @@ inThisBuild(
343352
"TRAVIS_SCALA_VERSION",
344353
"TRAVIS_TAG",
345354
"SCALAJS_VERSION",
355+
"SCALANATIVE_VERSION",
346356
"TEST_SCALAFIX",
347357
"TEST_SCALAFMT",
348358
"TEST_BINARY_COMPAT"
349359
).foreach(k =>
350360
println(k.padTo(20, " ").mkString("") + " -> " + sys.env.get(k).getOrElse("None")))
351361

352-
val platformSuffix = if (isScalaJs) "JS" else ""
362+
val platformSuffix = if (isScalaJs) "JS" else if (isScalaNative) "Native" else ""
353363

354364
val compatProject = "compat" + travisScalaVersion.get.binary + platformSuffix
355365
val binaryCompatProject = "binary-compat"
@@ -388,7 +398,7 @@ inThisBuild(
388398
Seq(
389399
setPublishVersion,
390400
List(s"$projectPrefix/clean"),
391-
List(s"$testProjectPrefix/test"),
401+
if (isScalaNative) List() else List(s"$testProjectPrefix/test"),
392402
List(s"$projectPrefix/publishLocal"),
393403
publishTask
394404
).flatten

0 commit comments

Comments
 (0)