diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 28fa89f30..9b5ed9bcc 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -541,10 +541,13 @@ object Defaults extends BuildCommon { scalaSource := sourceDirectory.value / "scala", javaSource := sourceDirectory.value / "java", unmanagedSourceDirectories := { + val isDotty = ScalaInstance.isDotty(scalaVersion.value) + val epochVersion = if (isDotty) "3" else "2" makeCrossSources( scalaSource.value, javaSource.value, scalaBinaryVersion.value, + epochVersion, crossPaths.value ) ++ makePluginCrossSources( @@ -671,6 +674,24 @@ object Defaults extends BuildCommon { ) ) + def makeCrossSources( + scalaSrcDir: File, + javaSrcDir: File, + sv: String, + epochVersion: String, + cross: Boolean + ): Seq[File] = { + if (cross) + Seq( + scalaSrcDir, + scalaSrcDir.getParentFile / s"${scalaSrcDir.name}-$sv", + scalaSrcDir.getParentFile / s"${scalaSrcDir.name}-$epochVersion", + javaSrcDir, + ) + else + Seq(scalaSrcDir, javaSrcDir) + } + def makeCrossSources( scalaSrcDir: File, javaSrcDir: File, diff --git a/sbt/src/sbt-test/actions/cross-strict-aggregation/core/A.scala b/sbt/src/sbt-test/actions/cross-strict-aggregation/core/src/main/scala-2/A.scala similarity index 100% rename from sbt/src/sbt-test/actions/cross-strict-aggregation/core/A.scala rename to sbt/src/sbt-test/actions/cross-strict-aggregation/core/src/main/scala-2/A.scala diff --git a/sbt/src/sbt-test/plugins/dotty/src/main/scala/Main.scala b/sbt/src/sbt-test/plugins/dotty/src/main/scala-3/Main.scala similarity index 100% rename from sbt/src/sbt-test/plugins/dotty/src/main/scala/Main.scala rename to sbt/src/sbt-test/plugins/dotty/src/main/scala-3/Main.scala diff --git a/sbt/src/sbt-test/plugins/dotty/src/main/scala/TraitParams.scala b/sbt/src/sbt-test/plugins/dotty/src/main/scala-3/TraitParams.scala similarity index 100% rename from sbt/src/sbt-test/plugins/dotty/src/main/scala/TraitParams.scala rename to sbt/src/sbt-test/plugins/dotty/src/main/scala-3/TraitParams.scala