package mill.scalalib.publish import mill.api.Loose.Agg import scala.xml.PrettyPrinter object Ivy { val head = "\n" def apply( artifact: Artifact, dependencies: Agg[Dependency] ): String = { val xml = {dependencies.map(renderDependency).toSeq} val pp = new PrettyPrinter(120, 4) head + pp.format(xml).replaceAll(">", ">") } private def renderDependency(dep: Dependency) = { if (dep.exclusions.isEmpty) ${dep.configuration.getOrElse("default(compile)")}"} /> else ${dep.configuration.getOrElse("default(compile)")}"}> {dep.exclusions.map(ex => )} } private def scopeToConf(s: Scope): String = s match { case Scope.Compile => "compile" case Scope.Provided => "provided" case Scope.Test => "test" case Scope.Runtime => "runtime" } }