sbt / sbt-projectmatrix

MIT License
124 stars 14 forks source link

crossPath := false module is not published #32

Closed Sciss closed 4 years ago

Sciss commented 4 years ago

I have something like

  lazy val spec = projectMatrix.in(...)
  .settings(commonSettings)
  .settings(
    autoScalaLibrary := false,
    crossPaths := false,
  )
  .jvmPlatform(scalaVersions = Seq("2.13")) // unused

  lazy val core = projectMatrix.in(...)
    .settings(commonSettings)
    .jvmPlatform(scalaVersion = Seq("2.13", "2.12")

  lazy val root = projectMatrix.in(file("."))
    .aggregate(spec, core)
    .settings(
      packagedArtefacts := Map.empty,
    )

When I run sbt publishSigned, it does not upload the spec module now. Before using project instead of projectMatrix, crossScalaVersions and sbt +publishSigned uploaded all modules. I also cannot revert to spec to use project instead of projectMatrix because then I cannot use it as dependency on projectMatrix modules.

When I try scalaVersion = Nil, I get

no rows were found in scalacolliderugens-spec matching ProjectRow(true, List(PlatformAxis(jvm,JVM,jvm), ScalaVersionAxis(2.13.3,2.13))): List()

Sciss commented 4 years ago

perhaps a work around would be to use project for spec, but how can I add it to the aggregate then?

Sciss commented 4 years ago

using .jvmPlatform(autoScalaLibrary = false) seems the way to do it