@@ -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 =
7071def 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
115122val compat211 = compat(scala211)
116123val compat212 = compat(scala212)
117124val 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
126134lazy val `binary-compat-old` = project
127135 .in(file(" binary-compat/old" ))
@@ -286,6 +294,7 @@ val preRelease = "preRelease"
286294val travisScalaVersion = sys.env.get(" TRAVIS_SCALA_VERSION" ).flatMap(Version .parse)
287295val releaseVersion = sys.env.get(" TRAVIS_TAG" ).flatMap(Version .parse)
288296val isScalaJs = sys.env.get(" SCALAJS_VERSION" ).map(_.nonEmpty).getOrElse(false )
297+ val isScalaNative = sys.env.get(" SCALANATIVE_VERSION" ).map(_.nonEmpty).getOrElse(false )
289298val isScalafix = sys.env.get(" TEST_SCALAFIX" ).nonEmpty
290299val isScalafmt = sys.env.get(" TEST_SCALAFMT" ).nonEmpty
291300val 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