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) =>