Skip to content

Commit 0d46ba0

Browse files
authored
Merge pull request #363 from ThoughtWorksInc/scala-js-1.0
Cross build for Scala.js 1.x and 0.6
2 parents af0bd80 + 41c5119 commit 0d46ba0

File tree

3 files changed

+32
-2
lines changed

3 files changed

+32
-2
lines changed

.travis.yml

+7-1
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,14 @@ before_deploy:
3131

3232
deploy:
3333
- provider: script
34-
script: sbt ++$TRAVIS_SCALA_VERSION "set every Seq(sonatypeSessionName := \"Travis Job $TRAVIS_JOB_NAME $TRAVIS_JOB_NUMBER ($TRAVIS_JOB_WEB_URL)\", publishTo := sonatypePublishToBundle.value)" publishSigned sonatypeBundleRelease
34+
script: sbt $SBT_ARGS ++$TRAVIS_SCALA_VERSION "set every Seq(sonatypeSessionName := \"Travis Job $TRAVIS_JOB_NAME $TRAVIS_JOB_NUMBER ($TRAVIS_JOB_WEB_URL)\", publishTo := sonatypePublishToBundle.value)" publishSigned sonatypeBundleRelease
3535
skip_cleanup: true
3636
on:
3737
all_branches: true
3838
condition: $GITHUB_PERSONAL_ACCESS_TOKEN
39+
40+
env:
41+
- SBT_ARGS=
42+
- SBT_ARGS=--addPluginSbtFile=project/plugins.sbt.scalajs06
43+
44+
sbt_args: $SBT_ARGS

project/plugins.sbt

+3-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ addSbtPlugin("com.thoughtworks.example" % "sbt-example" % "7.0.1")
1212

1313
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.0.0")
1414

15-
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.32")
15+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.0.1")
16+
17+
addSbtPlugin("com.thoughtworks.sbt-scala-js-map" % "sbt-scala-js-map" % "4.0.0")

project/plugins.sbt.scalajs06

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// An optional sbt file to replace Scala.js 1.0 with 0.6
2+
dependencyOverrides += Defaults.sbtPluginExtra(
3+
"org.scala-js" % "sbt-scalajs" % "0.6.32",
4+
sbtBinaryVersion.value,
5+
scalaBinaryVersion.value,
6+
)
7+
8+
Compile / sourceGenerators += Def.task {
9+
val file = (Compile / sourceManaged).value / "SkipPublishForNonScalaJSProjects.scala"
10+
IO.write(file, """
11+
import scalajscrossproject.ScalaJSCrossPlugin.autoImport._
12+
import sbtcrossproject.CrossPlugin.autoImport._
13+
import sbt._, Keys._
14+
object SkipPublishForNonScalaJSProjects extends AutoPlugin {
15+
override def trigger = allRequirements
16+
override def projectSettings = Seq(
17+
publish / skip := crossProjectPlatform.?.value != Some(JSPlatform)
18+
)
19+
}
20+
""")
21+
Seq(file)
22+
}.taskValue

0 commit comments

Comments
 (0)