mirror of
https://github.com/sbt/sbt.git
synced 2026-09-02 11:07:30 +02:00
Problem: When useIvy := false, ivyless publishing dropped the optional scala_[scalaVersion]/ and sbt_[sbtVersion]/ path segments from Ivy-style plugin publish patterns. This caused sbt 1 plugins published from sbt 2 builds to land under non-plugin Ivy paths, so consumers looking under scala_2.12/sbt_1.0/ could not resolve them. Solution: Read the plugin cross-version attributes from the CsrProject module and use them when constructing ivyless Ivy-layout publish paths. Apply the same substitution for local/file Ivy publishing and remote Ivy-style URL publishing, while continuing to omit those optional segments when the attributes are absent. Add scripted regressions for local and HTTP Ivy-style publishing of an sbt 1 plugin with useIvy := false.