Skip to content

Commit 573ff9e

Browse files
author
exoego
committed
Add Scala.js cross build
1 parent 72a407c commit 573ff9e

36 files changed

+40
-21
lines changed

.travis.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ jdk:
77
scala:
88
- 2.13.0
99

10+
install:
11+
- rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install $TRAVIS_NODE_VERSION
12+
1013
script:
1114
- admin/build.sh
1215

@@ -18,6 +21,9 @@ env:
1821
- secure: "Uc+tOT5E5FEQwLx4ZXZO1Oum1HAhMbvCWpKpkReqdsyb+xBdMbJkt43o8jvM/2WNVMcijEku87o5yWWa/fRDfqBg4GCuwnjUYu/3S0Lyxso8Mgmlcn6khmi09inOvAMVpCdBjvr+krJG1kXgxO62qA3IM0FU9z06Kcngz8F4YhnSGBv2HkOI/+9UHjQeex7tSUSFZi8itnEIN+gK4oWLVItyo0MbH4539BeJyoq/+e70xNxolLFHpVhruBQssg8MS60C5rajo7FXo1BODv+SIR+d1UZ6z8sl2iFU2psijej39nYHzmbxuM9P5Twozs38Rq7g4CM5aFLebna8VZoO6zZtM4PIAyiExkWWILQknrZEhHSded6l73GDeX+eoIigvYNxxAgXMh+MJll1i+XEySLjku8NvarQJ8c09x4S/Rjz1CBEfvlAhM+f117PqVsB87JBnsfE7CABfusJ2wqBpFf9pq9DA3E62XSEniWTIzow37YSR7opRv6wvHzuGrO6OeadIN1P2hb/FDiXDBnqG4xtGUFx81FM0dl9jV97kYiXoaqTwjT0j3d1MBGiN7IzeHxLbczMWA9mvvXtIeOxa73mph3grKKXiRqf/U+455oEIbCObEudjI7zXbjhXGeoVb+OqU7t5Beo+0Lg3H0hyntCsewops/h52lTmgsg5Hw="
1922
# SONA_PASS
2023
- secure: "ggXFZBlzV5ek/rBaE9lrEZlAIfUrv4XDJ4OrP8daMrJxmwkXtoSbcB3z4VgqqWKzAzW89CcU1IiojzDbe/het3xEX4qxdz5Wt05/E+WOgbek528kelwMxq12XRe6xaCVfG+y8OISPgq1q3vKoO/xYGVbK3D6hSD+cjojEXyPpjAfrVSUof06aNPFPQeLX9exgu9zrxkJJm01PbTh19vQk4Ojc++oEmpF7HLD1CF1m7AlW0U2Rba+syivpj9Ray3Z9vu0TnFL06r4TiwZruwcXTLrWUqumFI0r5mhaY6SNH7bqttu+3RPIOdkUGxIeGlkDi3xopt7r2aEkhOKvjRXapW0e/CWmUo1J+NnlIumxrldi4n0iiJGVEvY4Krx/HGZe0wCVTh4vDNOllTGdFmkkxN6WoaHALgj3QNM3XLjvvUu3VcT+QNtsVIvgUDesrtos8zCKczzdhL/d4BMiIg7SFfA33S3vx8BeczLBqddrx+yLSPzfheKrHW7g76EAEyN26vE2/2/GRlMOlG8Lmu8rXBfIPsK9T/ztfE1CxaTW5EsMSrxO2+O/bvAa6DY0R79KkHf7LDI+azzP2NwYx8anM9WlMTp4EbawI/KGZRilWYtJ3Q3y5EQERsrP71W35dKqiBFMPdspS+lTS9hGtso08n7cR2MwTbRjoXVRcWfJ/I="
24+
matrix:
25+
- TRAVIS_NODE_VERSION="10.16.0"
26+
SCALAJS_VERSION="0.6.28"
2127

2228
before_cache:
2329
- find $HOME/.sbt -name "*.lock" | xargs rm

build.sbt

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,37 @@
1+
import sbtcrossproject.CrossPlugin.autoImport.{ crossProject, CrossType }
12
import ScalaModulePlugin._
23

34
scalaModuleSettings
45
scalaModuleSettingsJVM
56

6-
name := "scala-collection-contrib"
7-
version := "0.1.1-SNAPSHOT"
8-
9-
crossScalaVersions in ThisBuild := Seq("2.13.0")
10-
11-
scalacOptions ++= Seq("-opt-warnings", "-language:higherKinds", "-deprecation", "-feature", "-Xfatal-warnings")
12-
scalacOptions in (Compile, doc) ++= Seq("-implicits", "-groups")
13-
14-
testOptions += Tests.Argument(TestFrameworks.JUnit, "-q", "-v", "-s", "-a")
15-
parallelExecution in Test := false // why?
16-
17-
mimaPreviousVersion := Some("0.1.0")
18-
19-
homepage := Some(url("https://github.com/scala/scala-collection-contrib"))
20-
licenses := Seq("Apache-2.0" -> url("https://www.apache.org/licenses/LICENSE-2.0"))
21-
22-
libraryDependencies ++= Seq(
23-
"junit" % "junit" % "4.12" % Test,
24-
"com.novocode" % "junit-interface" % "0.11" % Test,
25-
"org.openjdk.jol" % "jol-core" % "0.9" % Test
26-
)
7+
val root = crossProject(JVMPlatform, JSPlatform)
8+
.crossType(CrossType.Full)
9+
.in(file(".")).settings(
10+
name := "scala-collection-contrib",
11+
version := "0.1.1-SNAPSHOT",
12+
13+
crossScalaVersions in ThisBuild := Seq("2.13.0"),
14+
15+
scalacOptions ++= Seq("-opt-warnings", "-language:higherKinds", "-deprecation", "-feature", "-Xfatal-warnings"),
16+
scalacOptions in (Compile, doc) ++= Seq("-implicits", "-groups"),
17+
18+
testOptions += Tests.Argument(TestFrameworks.JUnit, "-q", "-v", "-s", "-a"),
19+
parallelExecution in Test := false, // why?
20+
21+
mimaPreviousVersion := Some("0.1.0"),
22+
23+
homepage := Some(url("https://github.com/scala/scala-collection-contrib")),
24+
licenses := Seq("Apache-2.0" -> url("https://www.apache.org/licenses/LICENSE-2.0")),
25+
26+
libraryDependencies ++= Seq(
27+
"junit" % "junit" % "4.12" % Test,
28+
"com.novocode" % "junit-interface" % "0.11" % Test,
29+
"org.openjdk.jol" % "jol-core" % "0.9" % Test
30+
)
31+
)
32+
.enablePlugins(ScalaJSJUnitPlugin)
33+
.jsSettings(
34+
libraryDependencies ++= Seq(
35+
"org.scala-js" %% "scalajs-junit-test-runtime" % "0.6.28" % Test
36+
)
37+
)

project/plugins.sbt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
scalacOptions ++= Seq("-deprecation", "-feature", "-Xfatal-warnings")
22

33
addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "2.0.0")
4+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.28")
5+
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.6.1")

0 commit comments

Comments
 (0)