mirror of https://github.com/sbt/sbt.git
Make CrossVersion.Disabled stable
Fixes https://github.com/sbt/sbt/issues/4975 This makes `CrossVersion.Disabled` a stable identifier by reverting `final def` back to `final val`. This is to fix Scala.JS build ``` [error] ScalaJSCrossVersion.scala:34:23: stable identifier required, but sbt.`package`.CrossVersion.Disabled found. [error] case CrossVersion.Disabled => [error] ^ [error] one error found [error] (Compile / compileIncremental) Compilation failed ``` ### notes - #121 added `final val Disabled = sbt.librarymanagement.Disabled` but it was just a companion object - #280 actually made it `final val Disabled = sbt.librarymanagement.Disabled()`, but this broke Cat's build that was calling `CrossVersion.Disabled()` - #290 changed to `final def Disabled = sbt.librarymanagement.Disabled` and `object Disabled extends sbt.librarymanagement.Disabled` - This changes back to `final val Disabled = sbt.librarymanagement.Disabled` (but because we changed the companion object in #290 that's ok)
This commit is contained in:
parent
c9ca41a11e
commit
c22cb34e7b
|
|
@ -39,7 +39,7 @@ sealed class Disabled private () extends sbt.librarymanagement.CrossVersion() wi
|
|||
|
||||
}
|
||||
object Disabled extends sbt.librarymanagement.Disabled {
|
||||
def apply(): Disabled = new Disabled()
|
||||
def apply(): Disabled = Disabled
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ final case class ScalaVersion(full: String, binary: String)
|
|||
private[librarymanagement] abstract class CrossVersionFunctions {
|
||||
|
||||
/** Compatibility with 0.13 */
|
||||
final def Disabled = sbt.librarymanagement.Disabled
|
||||
final val Disabled = sbt.librarymanagement.Disabled
|
||||
final val Binary = sbt.librarymanagement.Binary
|
||||
final val Constant = sbt.librarymanagement.Constant
|
||||
final val Full = sbt.librarymanagement.Full
|
||||
|
|
|
|||
|
|
@ -0,0 +1,70 @@
|
|||
package example.tests
|
||||
|
||||
import sbt.librarymanagement.{ CrossVersion, Disabled }
|
||||
import verify.BasicTestSuite
|
||||
|
||||
object CrossVersionCompatTest extends BasicTestSuite {
|
||||
test("CrossVersion.Disabled is typed to be Disabled") {
|
||||
assert(CrossVersion.Disabled match {
|
||||
case _: Disabled => true
|
||||
case _ => false
|
||||
})
|
||||
}
|
||||
|
||||
test("CrossVersion.Disabled functions as disabled") {
|
||||
assert(CrossVersion(CrossVersion.disabled, "1.0.0", "1.0") == None)
|
||||
assert(CrossVersion(CrossVersion.Disabled, "1.0.0", "1.0") == None)
|
||||
}
|
||||
|
||||
test("CrossVersion.Disabled() is typed to be Disabled") {
|
||||
assert(CrossVersion.Disabled() match {
|
||||
case _: Disabled => true
|
||||
case _ => false
|
||||
})
|
||||
}
|
||||
|
||||
test("CrossVersion.Disabled() functions as disabled") {
|
||||
assert(CrossVersion(CrossVersion.disabled, "1.0.0", "1.0") == None)
|
||||
assert(CrossVersion(CrossVersion.Disabled(), "1.0.0", "1.0") == None)
|
||||
}
|
||||
|
||||
test("CrossVersion.Disabled is stable") {
|
||||
assert(CrossVersion.Disabled match {
|
||||
case CrossVersion.Disabled => true
|
||||
case _ => false
|
||||
})
|
||||
}
|
||||
|
||||
test("sbt.librarymanagement.Disabled is typed to be Disabled") {
|
||||
assert(Disabled match {
|
||||
case _: Disabled => true
|
||||
case _ => false
|
||||
})
|
||||
}
|
||||
|
||||
test("sbt.librarymanagement.Disabled is stable") {
|
||||
assert(Disabled match {
|
||||
case Disabled => true
|
||||
case _ => false
|
||||
})
|
||||
}
|
||||
|
||||
test("sbt.librarymanagement.Disabled() is typed to be Disabled") {
|
||||
assert(Disabled() match {
|
||||
case _: Disabled => true
|
||||
case _ => false
|
||||
})
|
||||
}
|
||||
|
||||
test("CrossVersion.disabled is sbt.librarymanagement.Disabled") {
|
||||
assert(CrossVersion.disabled == Disabled)
|
||||
}
|
||||
|
||||
test("CrossVersion.Disabled is sbt.librarymanagement.Disabled") {
|
||||
assert(CrossVersion.Disabled == Disabled)
|
||||
}
|
||||
|
||||
test("CrossVersion.Disabled() is sbt.librarymanagement.Disabled") {
|
||||
assert(CrossVersion.Disabled() == Disabled)
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue