Skip to content

Commit 962e605

Browse files
authored
Merge pull request #10503 from dotty-staging/update-scalatest-to-3.2.x-new
2 parents 42a30b8 + 364d282 commit 962e605

File tree

10 files changed

+51
-34
lines changed

10 files changed

+51
-34
lines changed
Submodule munit updated 162 files
Submodule scalatest updated 1600 files
Submodule scodec updated 125 files
Submodule scodec-bits updated 58 files

community-build/sbt-scalajs-sbt

Lines changed: 0 additions & 1 deletion
This file was deleted.

community-build/src/scala/dotty/communitybuild/projects.scala

Lines changed: 41 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ lazy val sbtPluginFilePath: String =
1515
new File(sys.props("user.home") + "/.sbt/1.0/plugins").mkdirs()
1616
communitybuildDir.resolve("sbt-dotty-sbt").toAbsolutePath().toString()
1717

18-
lazy val sbtScalaJSPluginFilePath: String =
19-
communitybuildDir.resolve("sbt-scalajs-sbt").toAbsolutePath().toString()
20-
2118
def log(msg: String) = println(Console.GREEN + msg + Console.RESET)
2219

2320
/** Executes shell command, returns false in case of error. */
@@ -30,6 +27,18 @@ def exec(projectDir: Path, binary: String, arguments: String*): Int =
3027
exitCode
3128

3229

30+
/** Versions of published projects, needs to be updated when a project in the build is updated.
31+
*
32+
* TODO: instead of harcoding these numbers, we could get them from the
33+
* projects themselves. This likely requires injecting a custom task in the
34+
* projects to output the version number to a file.
35+
*/
36+
object Versions:
37+
val scalacheck = "1.15.2-SNAPSHOT"
38+
val scalatest = "3.2.3"
39+
val munit = "0.7.19+DOTTY-SNAPSHOT"
40+
val scodecBits = "1.1+DOTTY-SNAPSHOT"
41+
3342
sealed trait CommunityProject:
3443
private var published = false
3544

@@ -68,15 +77,26 @@ final case class SbtCommunityProject(
6877
project: String,
6978
sbtTestCommand: String,
7079
extraSbtArgs: List[String] = Nil,
71-
forceUpgradeSbtScalajsPlugin: Boolean = false,
7280
dependencies: List[CommunityProject] = Nil,
7381
sbtPublishCommand: String = null) extends CommunityProject:
7482
override val binaryName: String = "sbt"
7583

84+
// A project in the community build can depend on an arbitrary version of
85+
// another project in the build, so we force the use of the version that is
86+
// actually in the community build.
7687
val dependencyOverrides = List(
7788
// dependencyOverrides doesn't seem to understand `%%%`
78-
""""org.scalacheck" %% "scalacheck" % "1.15.2-SNAPSHOT"""",
79-
""""org.scalacheck" %% "scalacheck_sjs1" % "1.15.2-SNAPSHOT""""
89+
s""""org.scalacheck" %% "scalacheck" % "${Versions.scalacheck}"""",
90+
s""""org.scalacheck" %% "scalacheck_sjs1" % "${Versions.scalacheck}"""",
91+
s""""org.scalatest" %% "scalatest" % "${Versions.scalatest}"""",
92+
s""""org.scalatest" %% "scalatest_sjs1" % "${Versions.scalatest}"""",
93+
s""""org.scalameta" %% "munit" % "${Versions.munit}"""",
94+
s""""org.scalameta" %% "munit_sjs1" % "${Versions.munit}"""",
95+
s""""org.scalameta" %% "munit-scalacheck" % "${Versions.munit}"""",
96+
s""""org.scalameta" %% "munit-scalacheck_sjs1" % "${Versions.munit}"""",
97+
s""""org.scalameta" %% "junit-interface" % "${Versions.munit}"""",
98+
s""""org.scodec" %% "scodec-bits" % "${Versions.scodecBits}"""",
99+
s""""org.scodec" %% "scodec-bits_sjs1" % "${Versions.scodecBits}"""",
80100
)
81101

82102
private val baseCommand =
@@ -92,14 +112,11 @@ final case class SbtCommunityProject(
92112
val sbtProps = Option(System.getProperty("sbt.ivy.home")) match
93113
case Some(ivyHome) => List(s"-Dsbt.ivy.home=$ivyHome")
94114
case _ => Nil
95-
val scalaJSPluginArgs =
96-
if (forceUpgradeSbtScalajsPlugin) List(s"--addPluginSbtFile=$sbtScalaJSPluginFilePath")
97-
else Nil
98115
extraSbtArgs ++ sbtProps ++ List(
99116
"-sbt-version", "1.4.4",
100117
"-Dsbt.supershell=false",
101118
s"--addPluginSbtFile=$sbtPluginFilePath"
102-
) ++ scalaJSPluginArgs
119+
)
103120

104121
object projects:
105122
lazy val utest = MillCommunityProject(
@@ -127,19 +144,19 @@ object projects:
127144
lazy val ujson = MillCommunityProject(
128145
project = "upickle",
129146
baseCommand = s"ujson.jvm[$compilerVersion]",
130-
dependencies = List(scalatest, scalacheck, scalatestplusScalacheck, geny)
147+
dependencies = List(geny)
131148
)
132149

133150
lazy val upickle = MillCommunityProject(
134151
project = "upickle",
135152
baseCommand = s"upickle.jvm[$compilerVersion]",
136-
dependencies = List(scalatest, scalacheck, scalatestplusScalacheck, geny, utest)
153+
dependencies = List(geny, utest)
137154
)
138155

139156
lazy val upickleCore = MillCommunityProject(
140157
project = "upickle",
141158
baseCommand = s"core.jvm[$compilerVersion]",
142-
dependencies = List(scalatest, scalacheck, scalatestplusScalacheck, geny, utest)
159+
dependencies = List(geny, utest)
143160
)
144161

145162
lazy val geny = MillCommunityProject(
@@ -280,21 +297,25 @@ object projects:
280297
)
281298

282299
lazy val munit = SbtCommunityProject(
283-
project = "munit",
284-
sbtTestCommand = "testsJVM/test",
300+
project = "munit",
301+
sbtTestCommand = "testsJVM/test;testsJS/test;",
302+
// Hardcode the version to avoid having to deal with something set by sbt-dynver
303+
sbtPublishCommand = s"""set every version := "${Versions.munit}"; munitJVM/publishLocal; munitJS/publishLocal; munitScalacheckJVM/publishLocal; munitScalacheckJS/publishLocal; junit/publishLocal""",
304+
dependencies = List(scalacheck)
285305
)
286306

287307
lazy val scodecBits = SbtCommunityProject(
288308
project = "scodec-bits",
289-
sbtTestCommand = "coreJVM/test",
290-
sbtPublishCommand = "coreJVM/publishLocal",
291-
dependencies = List(scalatest, scalacheck, scalatestplusScalacheck)
309+
sbtTestCommand = "coreJVM/test;coreJS/test",
310+
// Hardcode the version to avoid having to deal with something set by sbt-git
311+
sbtPublishCommand = s"""set every version := "${Versions.scodecBits}"; coreJVM/publishLocal;coreJS/publishLocal""",
312+
dependencies = List(munit)
292313
)
293314

294315
lazy val scodec = SbtCommunityProject(
295316
project = "scodec",
296317
sbtTestCommand = "unitTests/test",
297-
dependencies = List(scalatest, scalacheck, scalatestplusScalacheck, scodecBits)
318+
dependencies = List(munit, scodecBits)
298319
)
299320

300321
lazy val scalaParserCombinators = SbtCommunityProject(
@@ -320,8 +341,7 @@ object projects:
320341

321342
lazy val catsEffect2 = SbtCommunityProject(
322343
project = "cats-effect-2",
323-
sbtTestCommand = "test",
324-
forceUpgradeSbtScalajsPlugin = true
344+
sbtTestCommand = "test"
325345
)
326346

327347
lazy val catsEffect3 = SbtCommunityProject(

community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,6 @@ class CommunityBuildTestA extends CommunityBuildTest:
9393
@Test def scalatest = projects.scalatest.run()
9494
@Test def scalatestplusScalacheck = projects.scalatestplusScalacheck.run()
9595
@Test def sourcecode = projects.sourcecode.run()
96-
@Test def scodec = projects.scodec.run()
97-
@Test def scodecBits = projects.scodecBits.run()
9896
@Test def ujson = projects.ujson.run()
9997
@Test def upickle = projects.upickle.run()
10098
@Test def utest = projects.utest.run()
@@ -114,6 +112,8 @@ class CommunityBuildTestB extends CommunityBuildTest:
114112
@Test def intent = projects.intent.run()
115113
@Test def minitest = projects.minitest.run()
116114
@Test def munit = projects.munit.run()
115+
@Test def scodec = projects.scodec.run()
116+
@Test def scodecBits = projects.scodecBits.run()
117117
@Test def scalap = projects.scalap.run()
118118
@Test def scalaCollectionCompat = projects.scalaCollectionCompat.run()
119119
@Test def scalaParallelCollections = projects.scalaParallelCollections.run()

project/Build.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1309,11 +1309,9 @@ object Build {
13091309
// (publishLocal in `scala3-staging`).value
13101310
val pluginText =
13111311
s"""updateOptions in Global ~= (_.withLatestSnapshots(false))
1312-
|addSbtPlugin("ch.epfl.lamp" % "sbt-dotty" % "$sbtDottyVersion")""".stripMargin
1312+
|addSbtPlugin("ch.epfl.lamp" % "sbt-dotty" % "$sbtDottyVersion")
1313+
|addSbtPlugin("org.scala-js" % "sbt-scalajs" % "$scalaJSVersion")""".stripMargin
13131314
IO.write(baseDirectory.value / "sbt-dotty-sbt", pluginText)
1314-
val scalaJSPluginText =
1315-
s"""addSbtPlugin("org.scala-js" % "sbt-scalajs" % "$scalaJSVersion")\n"""
1316-
IO.write(baseDirectory.value / "sbt-scalajs-sbt", scalaJSPluginText)
13171315
IO.write(baseDirectory.value / "scala3-bootstrapped.version", dottyVersion)
13181316
},
13191317
testOptions in Test += Tests.Argument(

0 commit comments

Comments
 (0)