Quick hack to make publishSigned work again with sbt 1.0.2

Ideally, the scripted tests should still be run with sbt 1.0.1 too, to
ensure there are no regression with it, but the current setup doesn't
make that easy.
This commit is contained in:
Alexandre Archambault 2017-10-27 16:13:10 +02:00
parent 1871610751
commit d27c0ee46e
4 changed files with 28 additions and 8 deletions

View File

@ -206,7 +206,7 @@ object Settings {
sbtVersion := {
scalaBinaryVersion.value match {
case "2.10" => "0.13.8"
case "2.12" => "1.0.1"
case "2.12" => "1.0.2"
case _ => sbtVersion.value
}
},

View File

@ -137,7 +137,7 @@ object SbtCompatibility {
def dependencies = module.modules
}
def needsIvyXmlLocal = sbt.Keys.deliverLocalConfiguration
def needsIvyXml = sbt.Keys.deliverConfiguration
def needsIvyXmlLocal = List(sbt.Keys.deliverLocalConfiguration)
def needsIvyXml = List(sbt.Keys.deliverConfiguration)
}

View File

@ -16,7 +16,28 @@ object SbtCompatibility {
type IvySbt = sbt.internal.librarymanagement.IvySbt
def needsIvyXmlLocal = sbt.Keys.publishLocalConfiguration
def needsIvyXml = sbt.Keys.publishConfiguration
lazy val needsIvyXmlLocal = Seq(sbt.Keys.publishLocalConfiguration) ++ {
try {
val cls = sbt.Keys.getClass
val m = cls.getMethod("makeIvyXmlLocalConfiguration")
val task = m.invoke(sbt.Keys).asInstanceOf[sbt.TaskKey[sbt.PublishConfiguration]]
List(task)
} catch {
case _: Throwable => // FIXME Too wide
Nil
}
}
lazy val needsIvyXml = Seq(sbt.Keys.publishConfiguration) ++ {
try {
val cls = sbt.Keys.getClass
val m = cls.getMethod("makeIvyXmlConfiguration")
val task = m.invoke(sbt.Keys).asInstanceOf[sbt.TaskKey[sbt.PublishConfiguration]]
List(task)
} catch {
case _: Throwable => // FIXME Too wide
Nil
}
}
}

View File

@ -196,8 +196,6 @@ object CoursierPlugin extends AutoPlugin {
withClassifiers = true,
sbtClassifiers = true
).value,
makeIvyXmlBefore(needsIvyXmlLocal, shadedConfigOpt),
makeIvyXmlBefore(needsIvyXml, shadedConfigOpt),
update := Tasks.updateTask(
shadedConfigOpt,
withClassifiers = false
@ -280,7 +278,8 @@ object CoursierPlugin extends AutoPlugin {
// Tests artifacts from Maven repositories are given this type.
// Adding it here so that these work straightaway.
classpathTypes += "test-jar"
)
) ++
(needsIvyXml ++ needsIvyXmlLocal).map(makeIvyXmlBefore(_, shadedConfigOpt))
override lazy val buildSettings = super.buildSettings ++ Seq(
coursierParallelDownloads := 6,