diff --git a/build.sbt b/build.sbt index 70f73ed..dcdf3f0 100644 --- a/build.sbt +++ b/build.sbt @@ -87,7 +87,6 @@ TaskKey[Unit]("scriptedTestSbt2") := Def.taskDyn { // TODO enable all tests val exclude: Set[(String, String)] = Set( "command-line-version-numbers", - "cross", "mercurial", "tasks-as-steps", ).map("sbt-release" -> _) diff --git a/src/sbt-test/sbt-release/cross/A.scala b/src/sbt-test/sbt-release/cross/A.scala new file mode 100644 index 0000000..83d15dc --- /dev/null +++ b/src/sbt-test/sbt-release/cross/A.scala @@ -0,0 +1 @@ +class A diff --git a/src/sbt-test/sbt-release/cross/build.sbt b/src/sbt-test/sbt-release/cross/build.sbt index 085a335..93621a4 100644 --- a/src/sbt-test/sbt-release/cross/build.sbt +++ b/src/sbt-test/sbt-release/cross/build.sbt @@ -1,10 +1,11 @@ import sbtrelease.ReleaseStateTransformations._ val Scala213 = "2.13.16" +val Scala212 = "2.12.20" scalaVersion := Scala213 -crossScalaVersions := Scala213 :: "2.12.20" :: Nil +crossScalaVersions := Scala213 :: Scala212 :: Nil releaseCrossBuild := false @@ -19,3 +20,32 @@ releaseProcess := Seq( setNextVersion, commitNextVersion ) + +name := "sbt-release-cross-test" + +InputKey[Unit]("checkTargetDir") := { + import complete.DefaultParsers._ + val args = spaceDelimited("").parsed + val exists = args(1) match { + case "exists" => + true + case "not-exists" => + false + } + val dir = file{ + if (sbtVersion.value.startsWith("1")) { + val scalaBinaryV = args(0) + s"target/scala-${scalaBinaryV}/classes" + } else { + val scalaV = args(0) match { + case "2.12" => + Scala212 + case "2.13" => + Scala213 + } + s"target/out/jvm/scala-${scalaV}/sbt-release-cross-test/classes" + } + } + + assert(dir.isDirectory == exists) +} diff --git a/src/sbt-test/sbt-release/cross/test b/src/sbt-test/sbt-release/cross/test index 1040927..aef8380 100644 --- a/src/sbt-test/sbt-release/cross/test +++ b/src/sbt-test/sbt-release/cross/test @@ -8,13 +8,13 @@ $ exec git commit -m init > reload > release with-defaults -$ exists target/scala-2.13 --$ exists target/scala-2.12 +> checkTargetDir 2.13 exists +> checkTargetDir 2.12 not-exists > clean --$ exists target/scala-2.12 --$ exists target/scala-2.13 +> checkTargetDir 2.12 not-exists +> checkTargetDir 2.13 not-exists > release with-defaults cross -$ exists target/scala-2.13 -$ exists target/scala-2.12 +> checkTargetDir 2.13 exists +> checkTargetDir 2.12 exists