Skip to content

Commit

Permalink
Add support for epoch-versioned src dirs
Browse files Browse the repository at this point in the history
  • Loading branch information
armanbilge committed Jun 24, 2021
1 parent 9614160 commit a31674f
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import sbtcrossproject.{crossProject, CrossType}

lazy val foo = crossProject(JVMPlatform).settings(
crossScalaVersions := Seq("2.12.14", "2.13.6", "3.0.0")
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
object BinaryBar {
val binary = "2.13"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
object BinaryBar {
val binary = "2.12"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
object EpochBar {
val epoch = 2
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
object BinaryBar {
val binary = "3"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
object EpochBar {
val epoch = 3
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
object Foo {
def main(args: Array[String]): Unit = {
println(EpochBar.epoch)
println(BinaryBar.binary)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sbt.version=1.5.4
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
> +fooJVM/run
15 changes: 12 additions & 3 deletions sbt-crossproject/src/main/scala/sbtcrossproject/CrossProject.scala
Original file line number Diff line number Diff line change
Expand Up @@ -211,10 +211,19 @@ object CrossProject {
cross: Boolean): Seq[File] = {
sharedSrcDir match {
case Some(dir) =>
if (cross)
Seq(dir.getParentFile / s"${dir.name}-$scalaBinaryVersion", dir)
else
if (cross) {
val scalaEpochVersion = scalaBinaryVersion.takeWhile(_ != '.')
Seq(
Some(dir.getParentFile / s"${dir.name}-$scalaBinaryVersion"),
if (scalaEpochVersion != scalaBinaryVersion)
Some(dir.getParentFile / s"${dir.name}-$scalaEpochVersion")
else
None,
Some(dir)
).flatten
} else {
Seq(dir)
}
case None => Seq()
}
}
Expand Down

0 comments on commit a31674f

Please # to comment.