Epoch directory src/main/{scala-2, scala-3}

Fixes https://github.com/sbt/sbt/issues/5895
This commit is contained in:
Eugene Yokota 2020-10-03 22:52:06 -04:00
parent 89ad0db0a9
commit c11259ee2f
4 changed files with 21 additions and 0 deletions

View File

@ -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,