mirror of https://github.com/sbt/sbt.git
revert XNode/Node rename because of shadowing when running full API doc generation
This commit is contained in:
parent
4e7f7092ae
commit
7141000e65
|
|
@ -8,7 +8,9 @@
|
|||
package sbt;
|
||||
|
||||
import java.io.File
|
||||
import scala.xml.{Node, NodeSeq, PrettyPrinter}
|
||||
// Node needs to be renamed to XNode because the task subproject contains a Node type that will shadow
|
||||
// scala.xml.Node when generating aggregated API documentation
|
||||
import scala.xml.{Node => XNode, NodeSeq, PrettyPrinter}
|
||||
import Configurations.Optional
|
||||
|
||||
import org.apache.ivy.{core, plugins, Ivy}
|
||||
|
|
@ -20,17 +22,17 @@ import plugins.resolver.{ChainResolver, DependencyResolver, IBiblioResolver}
|
|||
|
||||
class MakePom(val log: Logger)
|
||||
{
|
||||
def write(ivy: Ivy, module: ModuleDescriptor, moduleInfo: ModuleInfo, configurations: Option[Iterable[Configuration]], extra: NodeSeq, process: Node => Node, filterRepositories: MavenRepository => Boolean, allRepositories: Boolean, output: File): Unit =
|
||||
def write(ivy: Ivy, module: ModuleDescriptor, moduleInfo: ModuleInfo, configurations: Option[Iterable[Configuration]], extra: NodeSeq, process: XNode => XNode, filterRepositories: MavenRepository => Boolean, allRepositories: Boolean, output: File): Unit =
|
||||
write(process(toPom(ivy, module, moduleInfo, configurations, extra, filterRepositories, allRepositories)), output)
|
||||
// use \n as newline because toString uses PrettyPrinter, which hard codes line endings to be \n
|
||||
def write(node: Node, output: File): Unit = write(toString(node), output, "\n")
|
||||
def write(node: XNode, output: File): Unit = write(toString(node), output, "\n")
|
||||
def write(xmlString: String, output: File, newline: String)
|
||||
{
|
||||
IO.write(output, "<?xml version='1.0' encoding='" + IO.utf8.name + "'?>" + newline + xmlString)
|
||||
}
|
||||
|
||||
def toString(node: Node): String = new PrettyPrinter(1000, 4).format(node)
|
||||
def toPom(ivy: Ivy, module: ModuleDescriptor, moduleInfo: ModuleInfo, configurations: Option[Iterable[Configuration]], extra: NodeSeq, filterRepositories: MavenRepository => Boolean, allRepositories: Boolean): Node =
|
||||
def toString(node: XNode): String = new PrettyPrinter(1000, 4).format(node)
|
||||
def toPom(ivy: Ivy, module: ModuleDescriptor, moduleInfo: ModuleInfo, configurations: Option[Iterable[Configuration]], extra: NodeSeq, filterRepositories: MavenRepository => Boolean, allRepositories: Boolean): XNode =
|
||||
(<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
{ makeModuleID(module) }
|
||||
|
|
@ -223,9 +225,9 @@ class MakePom(val log: Logger)
|
|||
def toID(name: String) = checkID(name.filter(isValidIDCharacter).mkString, name)
|
||||
def isValidIDCharacter(c: Char) = c.isLetterOrDigit
|
||||
private def checkID(id: String, name: String) = if(id.isEmpty) error("Could not convert '" + name + "' to an ID") else id
|
||||
def mavenRepository(repo: MavenRepository): Node =
|
||||
def mavenRepository(repo: MavenRepository): XNode =
|
||||
mavenRepository(toID(repo.name), repo.name, repo.root)
|
||||
def mavenRepository(id: String, name: String, root: String): Node =
|
||||
def mavenRepository(id: String, name: String, root: String): XNode =
|
||||
<repository>
|
||||
<id>{id}</id>
|
||||
<name>{name}</name>
|
||||
|
|
|
|||
Loading…
Reference in New Issue