From d8c9eb90c67f8440e0acb8ca7466d3062c0a5df6 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 12 May 2019 22:59:59 -0400 Subject: [PATCH] exclude inter-project resolvers when resolving the compiler bridge Fixes #4669 --- .../src/main/scala/sbt/internal/LMCoursier.scala | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/internal/LMCoursier.scala b/main/src/main/scala/sbt/internal/LMCoursier.scala index 4a7c9e2bd..15eb75c01 100644 --- a/main/src/main/scala/sbt/internal/LMCoursier.scala +++ b/main/src/main/scala/sbt/internal/LMCoursier.scala @@ -9,7 +9,12 @@ package sbt package internal import java.io.File -import lmcoursier.definitions.{ Classifier, Configuration => CConfiguration, CacheLogger } +import lmcoursier.definitions.{ + Classifier, + Configuration => CConfiguration, + CacheLogger, + Project => CProject +} import lmcoursier._ import sbt.librarymanagement._ import Keys._ @@ -45,7 +50,12 @@ private[sbt] object LMCoursier { val rs = resolversTask.value val scalaOrg = scalaOrganization.value val scalaVer = scalaVersion.value - val interProjectDependencies = csrInterProjectDependencies.value + val interProjectDependencies0 = csrInterProjectDependencies.value.toVector + // during the resolution of sbt artifacts, such as compiler bridge source + // interproject dependencies should not be used (otherwise you can't compile sbt/zinc using sbt) + val interProjectDependencies: Vector[CProject] = + if (sbtClassifiers) Vector() + else interProjectDependencies0 val excludeDeps = Inputs.exclusions( allExcludeDependencies.value, scalaVer, @@ -71,7 +81,7 @@ private[sbt] object LMCoursier { Classpaths.warnResolversConflict(rs, log) CoursierConfiguration() .withResolvers(rs.toVector) - .withInterProjectDependencies(interProjectDependencies.toVector) + .withInterProjectDependencies(interProjectDependencies) .withFallbackDependencies(fallbackDeps.toVector) .withExcludeDependencies( excludeDeps.toVector.map {