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", scalaSource := sourceDirectory.value / "scala",
javaSource := sourceDirectory.value / "java", javaSource := sourceDirectory.value / "java",
unmanagedSourceDirectories := { unmanagedSourceDirectories := {
val isDotty = ScalaInstance.isDotty(scalaVersion.value)
val epochVersion = if (isDotty) "3" else "2"
makeCrossSources( makeCrossSources(
scalaSource.value, scalaSource.value,
javaSource.value, javaSource.value,
scalaBinaryVersion.value, scalaBinaryVersion.value,
epochVersion,
crossPaths.value crossPaths.value
) ++ ) ++
makePluginCrossSources( 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( def makeCrossSources(
scalaSrcDir: File, scalaSrcDir: File,
javaSrcDir: File, javaSrcDir: File,