From 21782a51f03fd5c7df0779a1a0c4c9538542cd61 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Wed, 17 Apr 2019 18:23:24 -0400 Subject: [PATCH] write info.apiURL to ivy.xml Ref https://github.com/coursier/coursier/issues/1123 --- main/src/main/scala/sbt/internal/LMCoursier.scala | 10 ++++++++-- .../scala/sbt/internal/librarymanagement/IvyXml.scala | 9 +++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/main/src/main/scala/sbt/internal/LMCoursier.scala b/main/src/main/scala/sbt/internal/LMCoursier.scala index cf1a65088..6d9ff7056 100644 --- a/main/src/main/scala/sbt/internal/LMCoursier.scala +++ b/main/src/main/scala/sbt/internal/LMCoursier.scala @@ -38,16 +38,22 @@ private[sbt] object LMCoursier { def coursierProjectTask: Def.Initialize[sbt.Task[CProject]] = Def.task { - Inputs.coursierProject( + val auOpt = apiURL.value + val proj = Inputs.coursierProject( projectID.value, allDependencies.value, excludeDependencies.value, - // should projectID.configurations be used instead? ivyConfigurations.value, scalaVersion.value, scalaBinaryVersion.value, streams.value.log ) + auOpt match { + case Some(au) => + val props = proj.properties :+ ("info.apiURL" -> au.toString) + proj.copy(properties = props) + case _ => proj + } } def coursierConfigurationTask( diff --git a/main/src/main/scala/sbt/internal/librarymanagement/IvyXml.scala b/main/src/main/scala/sbt/internal/librarymanagement/IvyXml.scala index 99db26f58..7cb58451a 100644 --- a/main/src/main/scala/sbt/internal/librarymanagement/IvyXml.scala +++ b/main/src/main/scala/sbt/internal/librarymanagement/IvyXml.scala @@ -91,10 +91,11 @@ object IvyXml { } ) - val infoAttrs = project.module.attributes.foldLeft[xml.MetaData](xml.Null) { - case (acc, (k, v)) => - new PrefixedAttribute("e", k, v, acc) - } + val infoAttrs = + (project.module.attributes.toSeq ++ project.properties).foldLeft[xml.MetaData](xml.Null) { + case (acc, (k, v)) => + new PrefixedAttribute("e", k, v, acc) + } val licenseElems = project.info.licenses.map { case (name, urlOpt) =>