Skip to content

Commit 5416c4a

Browse files
authored
Merge pull request #387 from ekrich/topic/native040
2 parents 72d1997 + 88e56fb commit 5416c4a

File tree

4 files changed

+29
-23
lines changed

4 files changed

+29
-23
lines changed

.travis.yml

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,39 +11,37 @@ scala:
1111
- 3.0.0-M3
1212

1313
env:
14-
- SCALAJS_VERSION= ADOPTOPENJDK=8
15-
- SCALAJS_VERSION=1.4.0 ADOPTOPENJDK=8
16-
- SCALAJS_VERSION= ADOPTOPENJDK=11
17-
- SCALAJS_VERSION=1.4.0 ADOPTOPENJDK=11
14+
- SCALAJS_VERSION= ADOPTOPENJDK=8
15+
- SCALAJS_VERSION=1.4.0 ADOPTOPENJDK=8
16+
- SCALANATIVE_VERSION=0.4.0 ADOPTOPENJDK=8
17+
- SCALAJS_VERSION= ADOPTOPENJDK=11
18+
- SCALAJS_VERSION=1.4.0 ADOPTOPENJDK=11
19+
- SCALANATIVE_VERSION=0.4.0 ADOPTOPENJDK=11
1820

1921
matrix:
2022

2123
include:
2224

2325
# run migration test
2426
- scala: 2.12.12
25-
env: TEST_SCALAFIX=true ADOPTOPENJDK=8
27+
env: TEST_SCALAFIX=true ADOPTOPENJDK=8
2628

2729
# run binary compatibility test
2830
- scala: 2.12.12
29-
env: TEST_BINARY_COMPAT=true ADOPTOPENJDK=8
31+
env: TEST_BINARY_COMPAT=true ADOPTOPENJDK=8
3032

3133
# run scalafmt
3234
- scala: 2.12.12
33-
env: TEST_SCALAFMT=true ADOPTOPENJDK=8
35+
env: TEST_SCALAFMT=true ADOPTOPENJDK=8
3436

35-
# Scala Native includes
36-
- scala: 2.11.12
37-
env: SCALANATIVE_VERSION=0.3.9 ADOPTOPENJDK=8
37+
exclude:
3838

39-
- scala: 2.11.12
40-
env: SCALANATIVE_VERSION=0.4.0-M2 ADOPTOPENJDK=8
39+
# not supported yet
40+
- scala: 3.0.0-M3
41+
env: SCALANATIVE_VERSION=0.4.0 ADOPTOPENJDK=8
4142

42-
- scala: 2.11.12
43-
env: SCALANATIVE_VERSION=0.3.9 ADOPTOPENJDK=11
44-
45-
- scala: 2.11.12
46-
env: SCALANATIVE_VERSION=0.4.0-M2 ADOPTOPENJDK=11
43+
- scala: 3.0.0-M3
44+
env: SCALANATIVE_VERSION=0.4.0 ADOPTOPENJDK=11
4745

4846
install:
4947
- git fetch --tags # get all tags for sbt-dynver

build.sbt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ lazy val root = project
2929
compat211Native,
3030
compat212JVM,
3131
compat212JS,
32+
compat212Native,
3233
compat213JVM,
3334
compat213JS,
35+
compat213Native,
3436
compat30JVM,
3537
compat30JS,
3638
`scalafix-data211`,
@@ -51,7 +53,7 @@ lazy val root = project
5153
lazy val junit = libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % Test
5254

5355
lazy val scala211 = "2.11.12"
54-
lazy val scala212 = "2.12.12"
56+
lazy val scala212 = "2.12.13"
5557
lazy val scala213 = "2.13.4"
5658
lazy val scala30 = "3.0.0-M3"
5759

@@ -96,10 +98,12 @@ lazy val compat = MultiScalaCrossProject(JSPlatform, JVMPlatform, NativePlatform
9698
.jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin))
9799
.disablePlugins(ScalafixPlugin)
98100
.nativeSettings(
99-
crossScalaVersions := List(scala211),
100-
scalaVersion := scala211, // allows to compile if scalaVersion set not 2.11
101101
nativeLinkStubs := true,
102-
Test / test := {}
102+
addCompilerPlugin(
103+
"org.scala-native" % "junit-plugin" % nativeVersion cross CrossVersion.full
104+
),
105+
libraryDependencies += "org.scala-native" %%% "junit-runtime" % nativeVersion,
106+
Test / fork := false // Scala Native cannot run forked tests
103107
)
104108
)
105109

@@ -113,8 +117,10 @@ lazy val compat211JS = compat211.js
113117
lazy val compat211Native = compat211.native
114118
lazy val compat212JVM = compat212.jvm
115119
lazy val compat212JS = compat212.js
120+
lazy val compat212Native = compat212.native
116121
lazy val compat213JVM = compat213.jvm
117122
lazy val compat213JS = compat213.js
123+
lazy val compat213Native = compat213.native
118124
lazy val compat30JVM = compat30.jvm
119125
lazy val compat30JS = compat30.js
120126

@@ -353,7 +359,7 @@ inThisBuild(
353359

354360
Seq(
355361
List(s"$projectPrefix/clean"),
356-
if (isScalaNative) List() else List(s"$testProjectPrefix/test"),
362+
List(s"$testProjectPrefix/test"),
357363
List(s"$projectPrefix/publishLocal"),
358364
publishTask
359365
).flatten

project/MultiScalaProject.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import sbtcrossproject.{Platform, CrossProject}
55
import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType}
66
import sbtcrossproject.CrossPlugin.autoImport._
77
import scalajscrossproject.ScalaJSCrossPlugin.autoImport._
8+
import scalanativecrossproject.ScalaNativeCrossPlugin.autoImport._
89

910
import java.io.File
1011

@@ -87,6 +88,7 @@ class MultiScalaCrossProject(platforms: Seq[Platform],
8788
.settings(moduleName := name)
8889
.jvmSettings(scalaVersion := scalaV)
8990
.jsSettings(scalaVersion := scalaVJs)
91+
.nativeSettings(scalaVersion := scalaV)
9092
.settings(srcFull(name))
9193

9294
configurePerScala(configure(resultingProject))

project/plugins.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ val crossVer = "1.0.0"
22
val scalaJSVersion =
33
Option(System.getenv("SCALAJS_VERSION")).filter(_.nonEmpty).getOrElse("1.4.0")
44
val scalaNativeVersion =
5-
Option(System.getenv("SCALANATIVE_VERSION")).filter(_.nonEmpty).getOrElse("0.3.9")
5+
Option(System.getenv("SCALANATIVE_VERSION")).filter(_.nonEmpty).getOrElse("0.4.0")
66

77
addSbtPlugin("ch.epfl.lamp" % "sbt-dotty" % "0.5.1")
88
addSbtPlugin("org.scala-js" % "sbt-scalajs" % scalaJSVersion)

0 commit comments

Comments
 (0)