diff --git a/src/main/scala/sbt/internal/ProjectMatrix.scala b/src/main/scala/sbt/internal/ProjectMatrix.scala index 9c920d69d..cacb82596 100644 --- a/src/main/scala/sbt/internal/ProjectMatrix.scala +++ b/src/main/scala/sbt/internal/ProjectMatrix.scala @@ -499,7 +499,7 @@ object ProjectMatrix { acc.customRow(autoScalaLibrary, axisValues ++ Seq(VirtualAxis.scalaABIVersion(sv)), process) } } else { - customRow(autoScalaLibrary, Seq(VirtualAxis.jvm), process) + customRow(autoScalaLibrary, axisValues ++ Seq(VirtualAxis.jvm), process) } override def customRow( diff --git a/src/sbt-test/projectMatrix/jvm-with-project-axes/build.sbt b/src/sbt-test/projectMatrix/jvm-with-project-axes/build.sbt new file mode 100644 index 000000000..6d90cf48e --- /dev/null +++ b/src/sbt-test/projectMatrix/jvm-with-project-axes/build.sbt @@ -0,0 +1,46 @@ +import sbt.internal.ProjectMatrix +ThisBuild / organization := "com.example" +ThisBuild / version := "0.1.0-SNAPSHOT" +ThisBuild / publishMavenStyle := true + +ThisBuild / ivyPaths := { + val base = (ThisBuild / baseDirectory).value + IvyPaths(base, Some(base / "ivy-cache")) +} +publish / skip := true + +lazy val scala212 = "2.12.10" + +lazy val check = taskKey[Unit]("") + +lazy val config12 = ConfigAxis("Config1_2", "-config1.2") +lazy val config13 = ConfigAxis("Config1_3", "-config1.3") + +check := { + val app12 = app.finder(config12).apply(autoScalaLibrary = false) + assert(app12.id == "appConfig1_2", s"app12.id is ${app12.id}") + val app13 = app.finder(config13).apply(autoScalaLibrary = false) + assert(app13.id == "appConfig1_3", s"app13.id is ${app13.id}") +} + +lazy val app: ProjectMatrix = (projectMatrix in file("app")) + .settings( + name := "app", + ivyPaths := (ThisBuild / ivyPaths).value + ) + .customRow( + autoScalaLibrary = false, + scalaVersions = Seq(scala212), + axisValues = Seq(config12, VirtualAxis.jvm), + _.settings( + libraryDependencies += "com.typesafe" % "config" % "1.2.1" + ) + ) + .customRow( + autoScalaLibrary = false, + scalaVersions = Seq(scala212), + axisValues = Seq(config13, VirtualAxis.jvm), + _.settings( + libraryDependencies += "com.typesafe" % "config" % "1.3.3" + ) + ) diff --git a/src/sbt-test/projectMatrix/jvm-with-project-axes/project/ConfigAxis.scala b/src/sbt-test/projectMatrix/jvm-with-project-axes/project/ConfigAxis.scala new file mode 100644 index 000000000..bdabcb757 --- /dev/null +++ b/src/sbt-test/projectMatrix/jvm-with-project-axes/project/ConfigAxis.scala @@ -0,0 +1,3 @@ +import sbt._ + +case class ConfigAxis(idSuffix: String, directorySuffix: String) extends VirtualAxis.WeakAxis diff --git a/src/sbt-test/projectMatrix/jvm-with-project-axes/project/plugins.sbt b/src/sbt-test/projectMatrix/jvm-with-project-axes/project/plugins.sbt new file mode 100644 index 000000000..4e80bbafc --- /dev/null +++ b/src/sbt-test/projectMatrix/jvm-with-project-axes/project/plugins.sbt @@ -0,0 +1,5 @@ +sys.props.get("plugin.version") match { + case Some(x) => addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % x) + case _ => sys.error("""|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin) +} diff --git a/src/sbt-test/projectMatrix/jvm-with-project-axes/test b/src/sbt-test/projectMatrix/jvm-with-project-axes/test new file mode 100644 index 000000000..15675b169 --- /dev/null +++ b/src/sbt-test/projectMatrix/jvm-with-project-axes/test @@ -0,0 +1 @@ +> check