diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 775f031b..db03f72c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,6 +23,8 @@ jobs: with: fetch-depth: 0 + - uses: sbt/setup-sbt@v1 + - name: Set up JVM uses: actions/setup-java@v4 with: @@ -30,7 +32,7 @@ jobs: java-version: ${{ matrix.java }} - name: Run tests - run: sbt scripted + run: sbt scripted "++ 3.x" test formatting: runs-on: ubuntu-latest @@ -47,5 +49,7 @@ jobs: distribution: 'temurin' java-version: '11' + - uses: sbt/setup-sbt@v1 + - name: Check Formatting - run: sbt scalafmtCheckAll + run: sbt scalafmtSbtCheck "+ scalafmtCheckAll" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aa8cdd0a..6997694f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,6 +15,7 @@ jobs: with: distribution: 'temurin' java-version: '11' + - uses: sbt/setup-sbt@v1 - run: sbt ci-release env: PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} diff --git a/.scalafmt.conf b/.scalafmt.conf index cba3213f..a834d75a 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,3 +1,3 @@ -version = "3.8.3" +version = "3.9.4" project.git = true runner.dialect = "scala213" diff --git a/README.md b/README.md index 7b04f1a6..61856278 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ coverageExcludedFiles := ".*\\/two\\/GoodCoverage;.*\\/three\\/.*" **NOTE**: The `.scala` file extension needs to be omitted from the filename, if one is given. -**NOTE**: These two options only work for Scala2 and Scala 3.4.2+. +**NOTE**: These two options only work for Scala2, Scala 3.3.4+ and Scala 3.4.2+. You can also mark sections of code with comments like: diff --git a/build.sbt b/build.sbt index 42d1f78e..0d9bbf6f 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ name := "sbt-scoverage" import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts -lazy val scoverageVersion = "2.2.1" +lazy val scoverageVersion = "2.3.0" inThisBuild( List( @@ -32,18 +32,25 @@ inThisBuild( lazy val root = Project("sbt-scoverage", file(".")) .enablePlugins(SbtPlugin, BuildInfoPlugin) .settings( + crossScalaVersions += "3.6.2", libraryDependencies ++= Seq( - "org.scoverage" %% "scalac-scoverage-plugin" % scoverageVersion cross (CrossVersion.full), - "org.scoverage" %% "scalac-scoverage-reporter" % scoverageVersion, - "org.scoverage" %% "scalac-scoverage-domain" % scoverageVersion, - "org.scoverage" %% "scalac-scoverage-serializer" % scoverageVersion + "org.scoverage" %% "scalac-scoverage-reporter" % scoverageVersion ), + pluginCrossBuild / sbtVersion := { + scalaBinaryVersion.value match { + case "2.12" => + (pluginCrossBuild / sbtVersion).value + case _ => + "2.0.0-M3" + } + }, buildInfoKeys := Seq[BuildInfoKey]("scoverageVersion" -> scoverageVersion), buildInfoPackage := "scoverage", Test / fork := false, Test / publishArtifact := false, Test / parallelExecution := false, scalacOptions := Seq( + "-language:implicitConversions", "-unchecked", "-deprecation", "-feature", diff --git a/project/build.properties b/project/build.properties index 04267b14..cc68b53f 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.9 +sbt.version=1.10.11 diff --git a/project/plugins.sbt b/project/plugins.sbt index a382bd03..86a78031 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,4 @@ libraryDependencies += "org.scala-sbt" %% "scripted-plugin" % sbtVersion.value -addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.6.1") -addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.12.0") -addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2") +addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.9.3") +addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.13.1") +addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.4") diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index 96074eaa..b5ac6601 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -1,7 +1,7 @@ package scoverage import sbt.Keys._ -import sbt._ +import sbt.{given, _} import sbt.internal.util.Util.isWindows import sbt.plugins.JvmPlugin import scoverage.reporter.CoberturaXmlWriter @@ -95,6 +95,7 @@ object ScoverageSbtPlugin extends AutoPlugin { .exists { case (3, minor) if minor > 4 => true case (3, minor) if (minor == 4 && patch.exists(_ >= 2)) => true + case (3, minor) if (minor == 3 && patch.exists(_ >= 4)) => true case _ => false } } @@ -123,7 +124,7 @@ object ScoverageSbtPlugin extends AutoPlugin { private lazy val scalacSettings = Seq( Compile / compile / scalacOptions ++= { - implicit val log = streams.value.log + implicit val log: Logger = streams.value.log val excludedPackages = Option(coverageExcludedPackages.value.trim).filter(_.nonEmpty) @@ -174,7 +175,7 @@ object ScoverageSbtPlugin extends AutoPlugin { s"-Xplugin:${pluginPaths.mkString(java.io.File.pathSeparator)}" ), Some( - s"-P:scoverage:dataDir:${coverageDataDir.value.getAbsolutePath}/scoverage-data" + s"-P:scoverage:dataDir:${new java.io.File(coverageDataDir.value, "scoverage-data").getAbsolutePath}" ), Some( s"-P:scoverage:sourceRoot:${coverageSourceRoot.value.getAbsolutePath}" @@ -190,7 +191,7 @@ object ScoverageSbtPlugin extends AutoPlugin { ) { Seq( Some( - s"-coverage-out:${coverageDataDir.value.getAbsolutePath()}/scoverage-data" + s"-coverage-out:${new java.io.File(coverageDataDir.value, "scoverage-data").getAbsolutePath}" ), excludedPackages .collect { @@ -240,7 +241,7 @@ object ScoverageSbtPlugin extends AutoPlugin { private lazy val coverageReport0 = Def.task { val target = coverageDataDir.value - implicit val log = streams.value.log + implicit val log: Logger = streams.value.log log.info(s"Waiting for measurement data to sync...") if (System.getProperty("os.name").toLowerCase.contains("windows")) { @@ -275,7 +276,7 @@ object ScoverageSbtPlugin extends AutoPlugin { } private lazy val coverageAggregate0 = Def.task { - implicit val log = streams.value.log + implicit val log: Logger = streams.value.log log.info(s"Aggregating coverage from subprojects...") val dataDirs = coverageDataDir.?.all(aggregateFilter).value @@ -396,7 +397,7 @@ object ScoverageSbtPlugin extends AutoPlugin { reportDir: File, crossTarget: File, log: Logger - ) { + ): Unit = { def statsKeyValue(key: String, value: Int): String = s"##teamcity[buildStatisticValue key='$key' value='$value']" diff --git a/src/sbt-test/scoverage/aggregate-disabled-module/build.sbt b/src/sbt-test/scoverage/aggregate-disabled-module/build.sbt index 102747d4..df04514c 100644 --- a/src/sbt-test/scoverage/aggregate-disabled-module/build.sbt +++ b/src/sbt-test/scoverage/aggregate-disabled-module/build.sbt @@ -1,8 +1,8 @@ inThisBuild( List( organization := "org.scoverage", - scalaVersion := "2.13.15", - libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test + scalaVersion := "2.13.16", + libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test ) ) diff --git a/src/sbt-test/scoverage/aggregate-only/build.sbt b/src/sbt-test/scoverage/aggregate-only/build.sbt index ba5b2b66..be809289 100644 --- a/src/sbt-test/scoverage/aggregate-only/build.sbt +++ b/src/sbt-test/scoverage/aggregate-only/build.sbt @@ -6,7 +6,7 @@ lazy val commonSettings = Seq( organization := "org.scoverage", version := "0.1.0", - scalaVersion := "2.13.15" + scalaVersion := "2.13.16" ) def module(name: String) = { @@ -15,7 +15,7 @@ def module(name: String) = { .settings(commonSettings: _*) .settings( Keys.name := name, - libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test + libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test ) } diff --git a/src/sbt-test/scoverage/bad-coverage-file-branch/build.sbt b/src/sbt-test/scoverage/bad-coverage-file-branch/build.sbt index 9bddee58..8c0839c3 100644 --- a/src/sbt-test/scoverage/bad-coverage-file-branch/build.sbt +++ b/src/sbt-test/scoverage/bad-coverage-file-branch/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageMinimumBranchPerFile := 80 diff --git a/src/sbt-test/scoverage/bad-coverage-file-stmt/build.sbt b/src/sbt-test/scoverage/bad-coverage-file-stmt/build.sbt index 5e51409f..9ac10058 100644 --- a/src/sbt-test/scoverage/bad-coverage-file-stmt/build.sbt +++ b/src/sbt-test/scoverage/bad-coverage-file-stmt/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageMinimumStmtPerFile := 90 diff --git a/src/sbt-test/scoverage/bad-coverage-package-branch/build.sbt b/src/sbt-test/scoverage/bad-coverage-package-branch/build.sbt index 63014f5e..1ffbc32c 100644 --- a/src/sbt-test/scoverage/bad-coverage-package-branch/build.sbt +++ b/src/sbt-test/scoverage/bad-coverage-package-branch/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageMinimumBranchPerPackage := 80 diff --git a/src/sbt-test/scoverage/bad-coverage-package-stmt/build.sbt b/src/sbt-test/scoverage/bad-coverage-package-stmt/build.sbt index 1686a4cd..8c28c01c 100644 --- a/src/sbt-test/scoverage/bad-coverage-package-stmt/build.sbt +++ b/src/sbt-test/scoverage/bad-coverage-package-stmt/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageMinimumStmtPerPackage := 80 diff --git a/src/sbt-test/scoverage/bad-coverage-total-branch/build.sbt b/src/sbt-test/scoverage/bad-coverage-total-branch/build.sbt index 791aa3d2..6fa49e43 100644 --- a/src/sbt-test/scoverage/bad-coverage-total-branch/build.sbt +++ b/src/sbt-test/scoverage/bad-coverage-total-branch/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageMinimumBranchTotal := 80 diff --git a/src/sbt-test/scoverage/bad-coverage-total-stmt/build.sbt b/src/sbt-test/scoverage/bad-coverage-total-stmt/build.sbt index 11a8bf05..b771e808 100644 --- a/src/sbt-test/scoverage/bad-coverage-total-stmt/build.sbt +++ b/src/sbt-test/scoverage/bad-coverage-total-stmt/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageMinimumStmtTotal := 80 diff --git a/src/sbt-test/scoverage/bad-coverage/build.sbt b/src/sbt-test/scoverage/bad-coverage/build.sbt index 66488319..0ae6e541 100644 --- a/src/sbt-test/scoverage/bad-coverage/build.sbt +++ b/src/sbt-test/scoverage/bad-coverage/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageMinimumStmtTotal := 80 diff --git a/src/sbt-test/scoverage/coverage-excluded-packages/build.sbt b/src/sbt-test/scoverage/coverage-excluded-packages/build.sbt index 570c2dad..4212ee1b 100644 --- a/src/sbt-test/scoverage/coverage-excluded-packages/build.sbt +++ b/src/sbt-test/scoverage/coverage-excluded-packages/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageExcludedPackages := "two\\..*;three\\..*" diff --git a/src/sbt-test/scoverage/coverage-off/build.sbt b/src/sbt-test/scoverage/coverage-off/build.sbt index 29c7f973..89d4bf29 100644 --- a/src/sbt-test/scoverage/coverage-off/build.sbt +++ b/src/sbt-test/scoverage/coverage-off/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageMinimumStmtTotal := 100 coverageMinimumBranchTotal := 100 diff --git a/src/sbt-test/scoverage/good-coverage/build.sbt b/src/sbt-test/scoverage/good-coverage/build.sbt index 29c7f973..89d4bf29 100644 --- a/src/sbt-test/scoverage/good-coverage/build.sbt +++ b/src/sbt-test/scoverage/good-coverage/build.sbt @@ -1,8 +1,8 @@ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test coverageMinimumStmtTotal := 100 coverageMinimumBranchTotal := 100 diff --git a/src/sbt-test/scoverage/preserve-set/build.sbt b/src/sbt-test/scoverage/preserve-set/build.sbt index ca678e70..83f42cab 100644 --- a/src/sbt-test/scoverage/preserve-set/build.sbt +++ b/src/sbt-test/scoverage/preserve-set/build.sbt @@ -2,11 +2,11 @@ import sbt.complete.DefaultParsers._ version := "0.1" -scalaVersion := "2.13.15" +scalaVersion := "2.13.16" -crossScalaVersions := Seq("2.13.15") +crossScalaVersions := Seq("2.13.16") -libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test +libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test val checkScalaVersion = inputKey[Unit]( "Input task to compare the value of scalaVersion setting with a given input." diff --git a/src/sbt-test/scoverage/preserve-set/test b/src/sbt-test/scoverage/preserve-set/test index e30f7afd..6b815906 100644 --- a/src/sbt-test/scoverage/preserve-set/test +++ b/src/sbt-test/scoverage/preserve-set/test @@ -1,8 +1,8 @@ # check scalaVersion setting -> checkScalaVersion "2.13.15" +> checkScalaVersion "2.13.16" > checkScoverageEnabled "false" > coverage > checkScoverageEnabled "true" > coverageOff -> checkScalaVersion "2.13.15" +> checkScalaVersion "2.13.16" > checkScoverageEnabled "false" diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/build.sbt b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/build.sbt new file mode 100644 index 00000000..a6ecdab4 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/build.sbt @@ -0,0 +1,13 @@ +version := "0.1" + +scalaVersion := "3.3.4" + +libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test + +coverageExcludedFiles := ".*\\/two\\/GoodCoverage;.*\\/three\\/.*" + +resolvers ++= { + if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) + Resolver.sonatypeOssRepos("snapshots") + else Seq.empty +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/build.properties b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/build.properties new file mode 100644 index 00000000..04267b14 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.9.9 diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/plugins.sbt b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/plugins.sbt new file mode 100644 index 00000000..8d349239 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/plugins.sbt @@ -0,0 +1,16 @@ +val pluginVersion = sys.props.getOrElse( + "plugin.version", + throw new RuntimeException( + """|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin + ) +) + +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) + +resolvers ++= { + if (pluginVersion.endsWith("-SNAPSHOT")) + Seq(Resolver.sonatypeRepo("snapshots")) + else + Seq.empty +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/GoodCoverage.scala new file mode 100644 index 00000000..ac6582bb --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/GoodCoverage.scala @@ -0,0 +1,7 @@ +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/three/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/three/GoodCoverage.scala new file mode 100644 index 00000000..260d15a4 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/three/GoodCoverage.scala @@ -0,0 +1,9 @@ +package three + +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/two/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/two/GoodCoverage.scala new file mode 100644 index 00000000..587e11e1 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/two/GoodCoverage.scala @@ -0,0 +1,9 @@ +package two + +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/test/scala/GoodCoverageSpec.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/test/scala/GoodCoverageSpec.scala new file mode 100644 index 00000000..44eec1c9 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/test/scala/GoodCoverageSpec.scala @@ -0,0 +1,19 @@ +import munit.FunSuite + +/** Created by tbarke001c on 7/8/14. + */ +class GoodCoverageSpec extends FunSuite { + + test("GoodCoverage should sum two numbers") { + assertEquals(GoodCoverage.sum(1, 2), 3) + assertEquals(GoodCoverage.sum(0, 3), 3) + assertEquals(GoodCoverage.sum(3, 0), 3) + } + + test("two.GoodCoverage should sum two numbers") { + assertEquals(two.GoodCoverage.sum(1, 2), 3) + assertEquals(two.GoodCoverage.sum(0, 3), 3) + assertEquals(two.GoodCoverage.sum(3, 0), 3) + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/test b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/test new file mode 100644 index 00000000..ce85327e --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/test @@ -0,0 +1,9 @@ +# run scoverage using the coverage task +> clean +> coverage +> test +> coverageReport +# There should be no directory for the excluded files +$ exists target/scala-3.3.4/scoverage-report/GoodCoverage.scala.html +-$ exists target/scala-3.3.4/scoverage-report/two +-$ exists target/scala-3.3.4/scoverage-report/three diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/build.sbt b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/build.sbt new file mode 100644 index 00000000..429b97c4 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/build.sbt @@ -0,0 +1,13 @@ +version := "0.1" + +scalaVersion := "3.3.4" + +libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test + +coverageExcludedPackages := "two\\..*;three\\..*" + +resolvers ++= { + if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) + Resolver.sonatypeOssRepos("snapshots") + else Seq.empty +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/build.properties b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/build.properties new file mode 100644 index 00000000..04267b14 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.9.9 diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/plugins.sbt b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/plugins.sbt new file mode 100644 index 00000000..8d349239 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/plugins.sbt @@ -0,0 +1,16 @@ +val pluginVersion = sys.props.getOrElse( + "plugin.version", + throw new RuntimeException( + """|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin + ) +) + +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) + +resolvers ++= { + if (pluginVersion.endsWith("-SNAPSHOT")) + Seq(Resolver.sonatypeRepo("snapshots")) + else + Seq.empty +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/GoodCoverage.scala new file mode 100644 index 00000000..ac6582bb --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/GoodCoverage.scala @@ -0,0 +1,7 @@ +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/three/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/three/GoodCoverage.scala new file mode 100644 index 00000000..260d15a4 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/three/GoodCoverage.scala @@ -0,0 +1,9 @@ +package three + +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/two/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/two/GoodCoverage.scala new file mode 100644 index 00000000..587e11e1 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/two/GoodCoverage.scala @@ -0,0 +1,9 @@ +package two + +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/test/scala/GoodCoverageSpec.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/test/scala/GoodCoverageSpec.scala new file mode 100644 index 00000000..44eec1c9 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/test/scala/GoodCoverageSpec.scala @@ -0,0 +1,19 @@ +import munit.FunSuite + +/** Created by tbarke001c on 7/8/14. + */ +class GoodCoverageSpec extends FunSuite { + + test("GoodCoverage should sum two numbers") { + assertEquals(GoodCoverage.sum(1, 2), 3) + assertEquals(GoodCoverage.sum(0, 3), 3) + assertEquals(GoodCoverage.sum(3, 0), 3) + } + + test("two.GoodCoverage should sum two numbers") { + assertEquals(two.GoodCoverage.sum(1, 2), 3) + assertEquals(two.GoodCoverage.sum(0, 3), 3) + assertEquals(two.GoodCoverage.sum(3, 0), 3) + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/test b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/test new file mode 100644 index 00000000..a7dd274e --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/test @@ -0,0 +1,9 @@ +# run scoverage using the coverage task +> clean +> coverage +> test +> coverageReport +# There should be no directory for the excluded package +$ exists target/scala-3.3.4/scoverage-report/GoodCoverage.scala.html +-$ exists target/scala-3.3.4/scoverage-report/two +-$ exists target/scala-3.3.4/scoverage-report/three diff --git a/src/sbt-test/scoverage/scalajs/build.sbt b/src/sbt-test/scoverage/scalajs/build.sbt index 284d6494..e5c5ea09 100644 --- a/src/sbt-test/scoverage/scalajs/build.sbt +++ b/src/sbt-test/scoverage/scalajs/build.sbt @@ -7,8 +7,8 @@ lazy val cross = CrossProject("sjstest", file("sjstest"))(JVMPlatform, JSPlatform) .crossType(CrossType.Full) .settings( - scalaVersion := "2.13.15", - libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test + scalaVersion := "2.13.16", + libraryDependencies += "org.scalameta" %% "munit" % "1.0.4" % Test ) lazy val crossJS = cross.js diff --git a/src/sbt-test/scoverage/scalajs/project/plugins.sbt b/src/sbt-test/scoverage/scalajs/project/plugins.sbt index 004b68c3..dd6dc4ad 100644 --- a/src/sbt-test/scoverage/scalajs/project/plugins.sbt +++ b/src/sbt-test/scoverage/scalajs/project/plugins.sbt @@ -15,6 +15,6 @@ resolvers ++= { Seq.empty } -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.16.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.18.1") addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2")