Exclude class directories from plugin classpath used for updateSbtClassifiers: classified jars not available

Fixes #798.
This commit is contained in:
Mark Harrah 2013-06-27 14:12:36 -04:00
parent 5c1ca5d1ec
commit 0e009b1480
3 changed files with 4 additions and 4 deletions

View File

@ -1061,7 +1061,9 @@ object Classpaths
ivyConfiguration := new InlineIvyConfiguration(ivyPaths.value, externalResolvers.value, Nil, Nil, offline.value, Option(lock(appConfiguration.value)), checksums.value, Some(target.value / "resolution-cache"), streams.value.log),
ivySbt <<= ivySbt0,
classifiersModule <<= (projectID, sbtDependency, transitiveClassifiers, loadedBuild, thisProjectRef) map { ( pid, sbtDep, classifiers, lb, ref) =>
val pluginIDs: Seq[ModuleID] = lb.units(ref.build).unit.plugins.fullClasspath.flatMap(_ get moduleID.key)
val pluginClasspath = lb.units(ref.build).unit.plugins.fullClasspath
val pluginJars = pluginClasspath.filter(_.data.isFile) // exclude directories: an approximation to whether they've been published
val pluginIDs: Seq[ModuleID] = pluginJars.flatMap(_ get moduleID.key)
GetClassifiersModule(pid, sbtDep +: pluginIDs, Configurations.Default :: Nil, classifiers)
},
updateSbtClassifiers in TaskGlobal <<= (ivySbt, classifiersModule, updateConfiguration, ivyScala, appConfiguration, streams) map {

View File

@ -1,3 +1 @@
resolvers += Resolver.url("sbt-plugin-snapshots", url("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/"))(Resolver.ivyStylePatterns)
addSbtPlugin("com.eed3si9n" % "sbt-twt" % "0.2.1", sbtVersion = "0.12", scalaVersion = "2.9.2")
libraryDependencies += "org.scala-sbt" % "scripted-plugin" % sbtVersion.value