From 3a440f2bef227f68d593f6e7c0a38348ccde8ae0 Mon Sep 17 00:00:00 2001 From: Lars Hupel Date: Sun, 8 Nov 2020 11:22:45 +0100 Subject: [PATCH 1/3] drop Scala.js 0.6.x --- .github/workflows/ci.yml | 3 --- .github/workflows/release.yml | 1 - build.sbt | 14 +++----------- project/plugins.sbt | 5 +---- 4 files changed, 4 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1fa47031..eb60c8c5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,15 +23,12 @@ jobs: js: strategy: fail-fast: false - matrix: - scalajs: ["1.3.0", "0.6.32"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: olafurpg/setup-scala@v7 - run: sbt +testsJS/test env: - SCALAJS_VERSION: ${{ matrix.scalajs }} GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }} GOOGLE_APPLICATION_CREDENTIALS_JSON: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6446acba..84028931 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,6 @@ jobs: - name: Publish ${{ github.ref }} run: | sbt ci-release - SCALAJS_VERSION=0.6.32 sbt clean sonatypeBundleClean ci-release sbt docs/docusaurusPublishGhpages env: GIT_USER: munit@scalameta.org diff --git a/build.sbt b/build.sbt index ff99f7c6..db4328fe 100644 --- a/build.sbt +++ b/build.sbt @@ -4,8 +4,7 @@ import com.typesafe.tools.mima.core.MissingTypesProblem import sbtcrossproject.CrossPlugin.autoImport.crossProject import sbtcrossproject.CrossPlugin.autoImport.CrossType import scala.collection.mutable -val customScalaJSVersion = Option(System.getenv("SCALAJS_VERSION")) -val scalaJSVersion = customScalaJSVersion.getOrElse("1.3.0") +val scalaJSVersion = "1.3.0" val scalaNativeVersion = "0.4.0-M2" def previousVersion = "0.7.0" def scala213 = "2.13.2" @@ -151,7 +150,6 @@ lazy val junit = project mimaEnable, moduleName := "junit-interface", description := "A Java implementation of sbt's test interface for JUnit 4", - skip in publish := customScalaJSVersion.isDefined, autoScalaLibrary := false, crossPaths := false, sbtPlugin := false, @@ -202,7 +200,6 @@ lazy val munit = crossProject(JSPlatform, JVMPlatform, NativePlatform) .nativeConfigure(sharedNativeConfigure) .nativeSettings( sharedNativeSettings, - skip in publish := customScalaJSVersion.isDefined, libraryDependencies ++= List( "org.scala-native" %%% "test-interface" % scalaNativeVersion ) @@ -217,7 +214,6 @@ lazy val munit = crossProject(JSPlatform, JVMPlatform, NativePlatform) ) .jvmSettings( sharedJVMSettings, - skip in publish := customScalaJSVersion.isDefined, libraryDependencies ++= List( "junit" % "junit" % "4.13.1" ) @@ -234,7 +230,6 @@ lazy val plugin = project sharedSettings, moduleName := "sbt-munit", sbtPlugin := true, - skip in publish := customScalaJSVersion.isDefined, scalaVersion := scala212, crossScalaVersions := List(scala212), buildInfoPackage := "munit.sbtmunit", @@ -257,13 +252,11 @@ lazy val munitScalacheck = crossProject(JSPlatform, JVMPlatform, NativePlatform) libraryDependencies += "org.scalacheck" %%% "scalacheck" % "1.15.0" ) .jvmSettings( - sharedJVMSettings, - skip in publish := customScalaJSVersion.isDefined + sharedJVMSettings ) .nativeConfigure(sharedNativeConfigure) .nativeSettings( - sharedNativeSettings, - skip in publish := customScalaJSVersion.isDefined + sharedNativeSettings ) .jsConfigure(sharedJSConfigure) .jsSettings(sharedJSSettings) @@ -305,7 +298,6 @@ lazy val docs = project .settings( sharedSettings, moduleName := "munit-docs", - skip in publish := customScalaJSVersion.isDefined, crossScalaVersions := List(scala213, scala212), unmanagedSources.in(Compile) += sourceDirectory .in(plugin, Compile) diff --git a/project/plugins.sbt b/project/plugins.sbt index 2f3a2b12..d40a86a6 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,6 +1,3 @@ -val scalaJSVersion = - Option(System.getenv("SCALAJS_VERSION")).getOrElse("1.3.0") - addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.5.3") addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.10.0") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.2.11") @@ -10,7 +7,7 @@ addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.23") addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.0.0") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.0.0") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.0-M2") -addSbtPlugin("org.scala-js" % "sbt-scalajs" % scalaJSVersion) +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.3.0") addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.8.1") libraryDependencies += "com.google.cloud" % "google-cloud-storage" % "1.113.2" From 44b0edb674d1dd0f8d70608c7af21535c9a93e6b Mon Sep 17 00:00:00 2001 From: Lars Hupel Date: Sun, 8 Nov 2020 11:40:48 +0100 Subject: [PATCH 2/3] enable DottyJS --- build.sbt | 10 ++++++---- munit/js/src/main/scala/munit/internal/JSIO.scala | 3 ++- .../munit/internal/junitinterface/IncludeFilter.scala | 4 ++-- .../munit/internal/junitinterface/JUnitFramework.scala | 2 +- .../scala/munit/internal/junitinterface/Settings.scala | 4 ++-- .../main/scala/munit/internal/junitinterface/Tag.scala | 2 +- munit/shared/src/main/scala/munit/MUnitRunner.scala | 8 ++++---- 7 files changed, 18 insertions(+), 15 deletions(-) diff --git a/build.sbt b/build.sbt index db4328fe..f18657e8 100644 --- a/build.sbt +++ b/build.sbt @@ -109,7 +109,7 @@ val sharedJVMSettings: List[Def.Setting[_]] = List( ) ++ mimaEnable val sharedJSSettings: List[Def.Setting[_]] = List( skipIdeaSettings, - crossScalaVersions := scala2Versions, + crossScalaVersions := allScalaVersions.filterNot(_.startsWith("0.")), scalaJSLinkerConfig ~= (_.withModuleKind(ModuleKind.CommonJSModule)) ) val sharedJSConfigure: Project => Project = @@ -208,8 +208,10 @@ lazy val munit = crossProject(JSPlatform, JVMPlatform, NativePlatform) .jsSettings( sharedJSSettings, libraryDependencies ++= List( - "org.scala-js" %% "scalajs-test-interface" % scalaJSVersion, - "org.scala-js" %% "scalajs-junit-test-runtime" % scalaJSVersion + ("org.scala-js" %% "scalajs-test-interface" % scalaJSVersion) + .withDottyCompat(scalaVersion.value), + ("org.scala-js" %% "scalajs-junit-test-runtime" % scalaJSVersion) + .withDottyCompat(scalaVersion.value) ) ) .jvmSettings( @@ -249,7 +251,7 @@ lazy val munitScalacheck = crossProject(JSPlatform, JVMPlatform, NativePlatform) .settings( moduleName := "munit-scalacheck", sharedSettings, - libraryDependencies += "org.scalacheck" %%% "scalacheck" % "1.15.0" + libraryDependencies += "org.scalacheck" %%% "scalacheck" % "1.15.1" ) .jvmSettings( sharedJVMSettings diff --git a/munit/js/src/main/scala/munit/internal/JSIO.scala b/munit/js/src/main/scala/munit/internal/JSIO.scala index 37f7c6e3..5453e04c 100644 --- a/munit/js/src/main/scala/munit/internal/JSIO.scala +++ b/munit/js/src/main/scala/munit/internal/JSIO.scala @@ -90,7 +90,8 @@ object JSPath extends js.Any { object JSIO { private[internal] val process: JSProcess = js.Dynamic.global.process.asInstanceOf[JSProcess] - def isNode: Boolean = !js.isUndefined(process) && !js.isUndefined(process.cwd) + def isNode: Boolean = + !js.isUndefined(process) && !js.isUndefined(process.cwd()) def inNode[T](f: => T): T = if (JSIO.isNode) f diff --git a/munit/non-jvm/src/main/scala/munit/internal/junitinterface/IncludeFilter.scala b/munit/non-jvm/src/main/scala/munit/internal/junitinterface/IncludeFilter.scala index 0d1dc841..ab9e2cb7 100644 --- a/munit/non-jvm/src/main/scala/munit/internal/junitinterface/IncludeFilter.scala +++ b/munit/non-jvm/src/main/scala/munit/internal/junitinterface/IncludeFilter.scala @@ -14,8 +14,8 @@ class TagsFilter( var isExcluded = false description.getAnnotations.foreach { case t: Tag => - isIncluded ||= include.contains(t.value()) - isExcluded ||= exclude.contains(t.value()) + isIncluded ||= include.contains(t.value) + isExcluded ||= exclude.contains(t.value) case _ => } isIncluded && !isExcluded diff --git a/munit/non-jvm/src/main/scala/munit/internal/junitinterface/JUnitFramework.scala b/munit/non-jvm/src/main/scala/munit/internal/junitinterface/JUnitFramework.scala index d3db4625..1ea9510e 100644 --- a/munit/non-jvm/src/main/scala/munit/internal/junitinterface/JUnitFramework.scala +++ b/munit/non-jvm/src/main/scala/munit/internal/junitinterface/JUnitFramework.scala @@ -53,7 +53,7 @@ abstract class JUnitFramework extends Framework { var logAssert = false var notLogExceptionClass = false var useSbtLoggers = false - var trimStackTraces = defaults.trimStackTraces() + var trimStackTraces = defaults.trimStackTraces var includeTags = Set.empty[String] var excludeTags = Set.empty[String] for (str <- args) { diff --git a/munit/non-jvm/src/main/scala/munit/internal/junitinterface/Settings.scala b/munit/non-jvm/src/main/scala/munit/internal/junitinterface/Settings.scala index e8008820..c9cfca4b 100644 --- a/munit/non-jvm/src/main/scala/munit/internal/junitinterface/Settings.scala +++ b/munit/non-jvm/src/main/scala/munit/internal/junitinterface/Settings.scala @@ -1,11 +1,11 @@ package munit.internal.junitinterface trait Settings { - def trimStackTraces(): Boolean + def trimStackTraces: Boolean } object Settings { def defaults(): Settings = new Settings { - def trimStackTraces(): Boolean = true + def trimStackTraces: Boolean = true } } diff --git a/munit/non-jvm/src/main/scala/munit/internal/junitinterface/Tag.scala b/munit/non-jvm/src/main/scala/munit/internal/junitinterface/Tag.scala index 78676489..11888805 100644 --- a/munit/non-jvm/src/main/scala/munit/internal/junitinterface/Tag.scala +++ b/munit/non-jvm/src/main/scala/munit/internal/junitinterface/Tag.scala @@ -1,5 +1,5 @@ package munit.internal.junitinterface trait Tag { - def value(): String + def value: String } diff --git a/munit/shared/src/main/scala/munit/MUnitRunner.scala b/munit/shared/src/main/scala/munit/MUnitRunner.scala index 13563bd0..e6a3f9c1 100644 --- a/munit/shared/src/main/scala/munit/MUnitRunner.scala +++ b/munit/shared/src/main/scala/munit/MUnitRunner.scala @@ -82,7 +82,7 @@ class MUnitRunner(val cls: Class[_ <: Suite], newInstance: () => Suite) ) } - override def getDescription: Description = { + override def getDescription(): Description = { val description = Description.createSuiteDescription(cls) try { @@ -104,7 +104,7 @@ class MUnitRunner(val cls: Class[_ <: Suite], newInstance: () => Suite) Await.result(runAsync(notifier), Duration.Inf) } def runAsync(notifier: RunNotifier): Future[Unit] = { - val description = getDescription + val description = getDescription() notifier.fireTestSuiteStarted(description) try { runAll(notifier) @@ -139,7 +139,7 @@ class MUnitRunner(val cls: Class[_ <: Suite], newInstance: () => Suite) private def runAll(notifier: RunNotifier): Future[Unit] = { if (PlatformCompat.isIgnoreSuite(cls)) { - val description = getDescription + val description = getDescription() notifier.fireTestIgnored(description) return Future.successful(()) } @@ -356,7 +356,7 @@ class MUnitRunner(val cls: Class[_ <: Suite], newInstance: () => Suite) notifier.fireTestFinished(description) } private def trimStackTrace(ex: Throwable): Unit = { - if (settings.trimStackTraces()) { + if (settings.trimStackTraces) { StackTraces.trimStackTrace(ex) } } From 9c7367c3ccfde11042a2f6d5ee74897e294ec9e3 Mon Sep 17 00:00:00 2001 From: Lars Hupel Date: Mon, 9 Nov 2020 14:37:58 +0100 Subject: [PATCH 3/3] update website --- docs/getting-started.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/getting-started.md b/docs/getting-started.md index 32c10dad..f609587d 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -27,13 +27,13 @@ libraryDependencies += "org.scalameta" %% "munit" % "@VERSION@" % Test testFrameworks += new TestFramework("munit.Framework") ``` -| Scala Version | JVM | Scala.js (0.6.x, 1.x) | Native (0.4.x) | -| ------------------------- | :-: | :-------------------: | :------------: | -| 2.11.x | ✅ | ✅ | ✅ | -| 2.12.x | ✅ | ✅ | n/a | -| 2.13.x | ✅ | ✅ | n/a | -| @SCALA3_PREVIOUS_VERSION@ | ✅ | n/a | n/a | -| @SCALA3_STABLE_VERSION@ | ✅ | n/a | n/a | +| Scala Version | JVM | Scala.js (0.6.x) | Scala.js (1.x) | Native (0.4.x) | +| ------------------------- | :-: | :--------------: | :------------: | :------------: | +| 2.11.x | ✅ | ✅ until 0.7.16 | ✅ | ✅ | +| 2.12.x | ✅ | ✅ until 0.7.16 | ✅ | n/a | +| 2.13.x | ✅ | ✅ until 0.7.16 | ✅ | n/a | +| @SCALA3_PREVIOUS_VERSION@ | ✅ | n/a | ✅ | n/a | +| @SCALA3_STABLE_VERSION@ | ✅ | n/a | ✅ | n/a | Next, write a test suite.