Merge pull request #635 from coursier/topic/sbt-plugin-repo-quick-fix

Quick fix adding the sbt plugin repo when necessary
This commit is contained in:
Alexandre Archambault
2017-08-09 14:06:12 +02:00
committed by GitHub
@@ -77,13 +77,35 @@ object CoursierPlugin extends AutoPlugin {
IvyXml.writeFiles(currentProject, shadedConfigOpt, ivySbt.value, streams.value.log) IvyXml.writeFiles(currentProject, shadedConfigOpt, ivySbt.value, streams.value.log)
}).value }).value
private val pluginIvySnapshotsBase = Resolver.SbtPluginRepositoryRoot.stripSuffix("/") + "/ivy-snapshots"
def coursierSettings( def coursierSettings(
shadedConfigOpt: Option[(String, String)], shadedConfigOpt: Option[(String, String)],
packageConfigs: Seq[(Configuration, String)] packageConfigs: Seq[(Configuration, String)]
) = Seq( ) = Seq(
coursierResolvers := Tasks.coursierResolversTask.value, coursierResolvers := Tasks.coursierResolversTask.value,
coursierRecursiveResolvers := Tasks.coursierRecursiveResolversTask.value, coursierRecursiveResolvers := Tasks.coursierRecursiveResolversTask.value,
coursierSbtResolvers := externalResolvers.in(updateSbtClassifiers).value, coursierSbtResolvers := {
// TODO Add docker-based integration test for that, see https://github.com/coursier/coursier/issues/632
val resolvers = externalResolvers.in(updateSbtClassifiers).value
val pluginIvySnapshotsFound = resolvers.exists {
case repo: URLRepository =>
repo
.patterns
.artifactPatterns
.headOption
.exists(_.startsWith(pluginIvySnapshotsBase))
case _ => false
}
if (pluginIvySnapshotsFound && !resolvers.contains(Classpaths.sbtPluginReleases))
resolvers :+ Classpaths.sbtPluginReleases
else
resolvers
},
coursierFallbackDependencies := Tasks.coursierFallbackDependenciesTask.value, coursierFallbackDependencies := Tasks.coursierFallbackDependenciesTask.value,
coursierArtifacts := Tasks.artifactFilesOrErrors(withClassifiers = false).value, coursierArtifacts := Tasks.artifactFilesOrErrors(withClassifiers = false).value,
coursierSignedArtifacts := Tasks.artifactFilesOrErrors(withClassifiers = false, includeSignatures = true).value, coursierSignedArtifacts := Tasks.artifactFilesOrErrors(withClassifiers = false, includeSignatures = true).value,