From ddc3722c18c827617c1621af660baa411c5e0e6c Mon Sep 17 00:00:00 2001
From: Antonio Morales <antonio.morales1990@gmail.com>
Date: Tue, 1 Oct 2024 09:24:13 -0700
Subject: [PATCH 1/6] add Scala 3.3.4 to check for support around excluded
 packages and files support

---
 README.md                                         | 2 +-
 src/main/scala/scoverage/ScoverageSbtPlugin.scala | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 7b04f1a..6185627 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/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala
index 96074ea..ba7f5e3 100644
--- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala
+++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala
@@ -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
       }
   }

From c6287ff457f44c0ce5130b70940e054a727b4241 Mon Sep 17 00:00:00 2001
From: Antonio Morales <antonio.morales1990@gmail.com>
Date: Tue, 1 Oct 2024 09:29:15 -0700
Subject: [PATCH 2/6] update scala version for excluded files and packages to
 lowest supported version (3.3.4)

---
 src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt | 2 +-
 .../scoverage/scala3-coverage-excluded-packages/build.sbt       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt b/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt
index 9f4c05e..a6ecdab 100644
--- a/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt
+++ b/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt
@@ -1,6 +1,6 @@
 version := "0.1"
 
-scalaVersion := "3.5.0"
+scalaVersion := "3.3.4"
 
 libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test
 
diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt
index 47b8729..429b97c 100644
--- a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt
+++ b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt
@@ -1,6 +1,6 @@
 version := "0.1"
 
-scalaVersion := "3.5.0"
+scalaVersion := "3.3.4"
 
 libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test
 

From 448bbd36493ee1f89704389feeb76d2aa3df9adb Mon Sep 17 00:00:00 2001
From: Antonio Morales <antonio.morales1990@gmail.com>
Date: Tue, 1 Oct 2024 09:33:11 -0700
Subject: [PATCH 3/6] update test file assertions

---
 src/sbt-test/scoverage/scala3-coverage-excluded-files/test  | 6 +++---
 .../scoverage/scala3-coverage-excluded-packages/test        | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-files/test b/src/sbt-test/scoverage/scala3-coverage-excluded-files/test
index 33ed081..ce85327 100644
--- a/src/sbt-test/scoverage/scala3-coverage-excluded-files/test
+++ b/src/sbt-test/scoverage/scala3-coverage-excluded-files/test
@@ -4,6 +4,6 @@
 > test
 > coverageReport
 # There should be no directory for the excluded files
-$ exists target/scala-3.5.0/scoverage-report/GoodCoverage.scala.html
--$ exists target/scala-3.5.0/scoverage-report/two
--$ exists target/scala-3.5.0/scoverage-report/three
+$ 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-coverage-excluded-packages/test b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test
index f079e48..a7dd274 100644
--- a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test
+++ b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test
@@ -4,6 +4,6 @@
 > test
 > coverageReport
 # There should be no directory for the excluded package
-$ exists target/scala-3.5.0/scoverage-report/GoodCoverage.scala.html
--$ exists target/scala-3.5.0/scoverage-report/two
--$ exists target/scala-3.5.0/scoverage-report/three
+$ 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

From 140c4326b6ace0f9deb0ecad6e77879befa0cdcc Mon Sep 17 00:00:00 2001
From: Antonio Morales <antonio.morales1990@gmail.com>
Date: Tue, 1 Oct 2024 16:53:44 -0700
Subject: [PATCH 4/6] revert changes to scala 3.5.0 tests

---
 .../scoverage/scala3-coverage-excluded-files/build.sbt      | 2 +-
 src/sbt-test/scoverage/scala3-coverage-excluded-files/test  | 6 +++---
 .../scoverage/scala3-coverage-excluded-packages/build.sbt   | 2 +-
 .../scoverage/scala3-coverage-excluded-packages/test        | 6 +++---
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt b/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt
index a6ecdab..9f4c05e 100644
--- a/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt
+++ b/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt
@@ -1,6 +1,6 @@
 version := "0.1"
 
-scalaVersion := "3.3.4"
+scalaVersion := "3.5.0"
 
 libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test
 
diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-files/test b/src/sbt-test/scoverage/scala3-coverage-excluded-files/test
index ce85327..33ed081 100644
--- a/src/sbt-test/scoverage/scala3-coverage-excluded-files/test
+++ b/src/sbt-test/scoverage/scala3-coverage-excluded-files/test
@@ -4,6 +4,6 @@
 > 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
+$ exists target/scala-3.5.0/scoverage-report/GoodCoverage.scala.html
+-$ exists target/scala-3.5.0/scoverage-report/two
+-$ exists target/scala-3.5.0/scoverage-report/three
diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt
index 429b97c..47b8729 100644
--- a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt
+++ b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt
@@ -1,6 +1,6 @@
 version := "0.1"
 
-scalaVersion := "3.3.4"
+scalaVersion := "3.5.0"
 
 libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test
 
diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test
index a7dd274..f079e48 100644
--- a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test
+++ b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test
@@ -4,6 +4,6 @@
 > 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
+$ exists target/scala-3.5.0/scoverage-report/GoodCoverage.scala.html
+-$ exists target/scala-3.5.0/scoverage-report/two
+-$ exists target/scala-3.5.0/scoverage-report/three

From fe325453854eb8742c3ea79a675ba58b0ffeb57c Mon Sep 17 00:00:00 2001
From: Antonio Morales <antonio.morales1990@gmail.com>
Date: Tue, 1 Oct 2024 16:56:11 -0700
Subject: [PATCH 5/6] Duplicate scala3 coverage excluded tests for scala 3.3.4

---
 .../build.sbt                                 | 13 +++++++++++++
 .../src/main/scala/GoodCoverage.scala         |  7 +++++++
 .../src/main/scala/three/GoodCoverage.scala   |  9 +++++++++
 .../src/main/scala/two/GoodCoverage.scala     |  9 +++++++++
 .../src/test/scala/GoodCoverageSpec.scala     | 19 +++++++++++++++++++
 .../scala3.3.4-coverage-excluded-files/test   |  9 +++++++++
 .../build.sbt                                 | 13 +++++++++++++
 .../src/main/scala/GoodCoverage.scala         |  7 +++++++
 .../src/main/scala/three/GoodCoverage.scala   |  9 +++++++++
 .../src/main/scala/two/GoodCoverage.scala     |  9 +++++++++
 .../src/test/scala/GoodCoverageSpec.scala     | 19 +++++++++++++++++++
 .../test                                      |  9 +++++++++
 12 files changed, 132 insertions(+)
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/build.sbt
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/GoodCoverage.scala
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/three/GoodCoverage.scala
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/two/GoodCoverage.scala
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/test/scala/GoodCoverageSpec.scala
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/test
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/build.sbt
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/GoodCoverage.scala
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/three/GoodCoverage.scala
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/two/GoodCoverage.scala
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/test/scala/GoodCoverageSpec.scala
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/test

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 0000000..a6ecdab
--- /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/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 0000000..ac6582b
--- /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 0000000..260d15a
--- /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 0000000..587e11e
--- /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 0000000..44eec1c
--- /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 0000000..ce85327
--- /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 0000000..429b97c
--- /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/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 0000000..ac6582b
--- /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 0000000..260d15a
--- /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 0000000..587e11e
--- /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 0000000..44eec1c
--- /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 0000000..a7dd274
--- /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

From ea175e7f8998ddaf1843cda7c76da62c072812e7 Mon Sep 17 00:00:00 2001
From: Antonio Morales <antonio.morales1990@gmail.com>
Date: Mon, 7 Oct 2024 14:20:19 -0700
Subject: [PATCH 6/6] include missing project/ directory for scala 3.3.4 tests

---
 .../project/build.properties                     |  1 +
 .../project/plugins.sbt                          | 16 ++++++++++++++++
 .../project/build.properties                     |  1 +
 .../project/plugins.sbt                          | 16 ++++++++++++++++
 4 files changed, 34 insertions(+)
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/build.properties
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/plugins.sbt
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/build.properties
 create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/plugins.sbt

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 0000000..04267b1
--- /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 0000000..8d34923
--- /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-packages/project/build.properties b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/build.properties
new file mode 100644
index 0000000..04267b1
--- /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 0000000..8d34923
--- /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
+}