From f7020fd0aded550031c80e674f9ff373c3a47901 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Fri, 21 Apr 2017 15:11:39 +0200 Subject: [PATCH] Only warn on missing credential file --- .../src/main/scala-2.10/coursier/Tasks.scala | 24 ++++++++++++++----- .../missing-credentials/build.sbt | 2 ++ .../missing-credentials/project/plugins.sbt | 11 +++++++++ .../src/main/scala/Main.scala | 1 + .../sbt-coursier/missing-credentials/test | 1 + 5 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/build.sbt create mode 100644 sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/project/plugins.sbt create mode 100644 sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/src/main/scala/Main.scala create mode 100644 sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/test diff --git a/sbt-coursier/src/main/scala-2.10/coursier/Tasks.scala b/sbt-coursier/src/main/scala-2.10/coursier/Tasks.scala index 8c6d7ea0c..62a5d538b 100644 --- a/sbt-coursier/src/main/scala-2.10/coursier/Tasks.scala +++ b/sbt-coursier/src/main/scala-2.10/coursier/Tasks.scala @@ -457,12 +457,24 @@ object Tasks { val useSbtCredentials = coursierUseSbtCredentials.value val authenticationByHost = - if (useSbtCredentials) { - val cred = sbt.Keys.credentials.value.map(sbt.Credentials.toDirect) - cred.map { c => - c.host -> Authentication(c.userName, c.passwd) - }.toMap - } else + if (useSbtCredentials) + sbt.Keys.credentials + .value + .flatMap { + case dc: sbt.DirectCredentials => List(dc) + case fc: sbt.FileCredentials => + sbt.Credentials.loadCredentials(fc.path) match { + case Left(err) => + log.warn(s"$err, ignoring it") + Nil + case Right(dc) => List(dc) + } + } + .map { c => + c.host -> Authentication(c.userName, c.passwd) + } + .toMap + else Map.empty[String, Authentication] val authenticationByRepositoryId = coursierCredentials.value.mapValues(_.authentication) diff --git a/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/build.sbt b/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/build.sbt new file mode 100644 index 000000000..05705fe6c --- /dev/null +++ b/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/build.sbt @@ -0,0 +1,2 @@ +scalaVersion := "2.11.8" +credentials += Credentials(file("nope/nope/nope/nope/nope")) diff --git a/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/project/plugins.sbt b/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/project/plugins.sbt new file mode 100644 index 000000000..152225a9e --- /dev/null +++ b/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/project/plugins.sbt @@ -0,0 +1,11 @@ +{ + val pluginVersion = sys.props.getOrElse( + "plugin.version", + throw new RuntimeException( + """|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin + ) + ) + + addSbtPlugin("io.get-coursier" % "sbt-coursier" % pluginVersion) +} diff --git a/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/src/main/scala/Main.scala b/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/src/main/scala/Main.scala new file mode 100644 index 000000000..86ae9e9e3 --- /dev/null +++ b/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/src/main/scala/Main.scala @@ -0,0 +1 @@ +object Main extends App \ No newline at end of file diff --git a/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/test b/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/test new file mode 100644 index 000000000..103bd8d2f --- /dev/null +++ b/sbt-coursier/src/sbt-test/sbt-coursier/missing-credentials/test @@ -0,0 +1 @@ +> update