diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 866eface9..298dd6d73 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -3781,12 +3781,25 @@ object Classpaths { ivyRepo.descriptorOptional } catch { case _: NoSuchMethodError => false } + // for forward-compatibility with launcher.jar prior to 1.3.11 + private[this] def mavenRepoAllowInsecureProtocol(mavenRepo: xsbti.MavenRepository): Boolean = + try { + mavenRepo.allowInsecureProtocol + } catch { case _: NoSuchMethodError => false } + + // for forward-compatibility with launcher.jar prior to 1.3.11 + private[this] def allowInsecureProtocol(ivyRepo: xsbti.IvyRepository): Boolean = + try { + ivyRepo.allowInsecureProtocol + } catch { case _: NoSuchMethodError => false } + @com.github.ghik.silencer.silent private[this] def bootRepository(repo: xsbti.Repository): Resolver = { import xsbti.Predefined repo match { case m: xsbti.MavenRepository => - MavenRepository(m.id, m.url.toString).withAllowInsecureProtocol(m.allowInsecureProtocol) + MavenRepository(m.id, m.url.toString) + .withAllowInsecureProtocol(mavenRepoAllowInsecureProtocol(m)) case i: xsbti.IvyRepository => val patterns = Patterns( Vector(i.ivyPattern), @@ -3801,7 +3814,9 @@ object Classpaths { val file = IO.toFile(i.url) Resolver.file(i.id, file)(patterns) case _ => - Resolver.url(i.id, i.url)(patterns).withAllowInsecureProtocol(i.allowInsecureProtocol) + Resolver + .url(i.id, i.url)(patterns) + .withAllowInsecureProtocol(allowInsecureProtocol(i)) } case p: xsbti.PredefinedRepository => p.id match {