more fixes

This commit is contained in:
Mark Harrah 2010-06-10 22:47:04 -04:00
parent 1ee470282d
commit d73762e203
5 changed files with 11 additions and 10 deletions

View File

@ -8,7 +8,7 @@ import java.net.{URI, URL, URLClassLoader}
/** This is a starting point for defining a custom ClassLoader. Override 'doLoadClass' to define /** This is a starting point for defining a custom ClassLoader. Override 'doLoadClass' to define
* loading a class that has not yet been loaded.*/ * loading a class that has not yet been loaded.*/
abstract class LoaderBase(urls: Seq[URL], parent: ClassLoader) extends URLClassLoader(urls.toArray, parent) with NotNull abstract class LoaderBase(urls: Seq[URL], parent: ClassLoader) extends URLClassLoader(urls.toArray, parent)
{ {
require(parent != null) // included because a null parent is legitimate in Java require(parent != null) // included because a null parent is legitimate in Java
@throws(classOf[ClassNotFoundException]) @throws(classOf[ClassNotFoundException])

View File

@ -1,10 +1,11 @@
/* sbt -- Simple Build Tool /* sbt -- Simple Build Tool
* Copyright 2009 Mark Harrah * Copyright 2009 Mark Harrah
*/ */
package xsbt.api package xsbt
package api
import java.io.File import java.io.File
import xsbt.FileUtilities import sbt.IO.read
import Function.tupled import Function.tupled
import java.util.regex.Pattern import java.util.regex.Pattern
@ -30,7 +31,7 @@ class DatatypeParser extends NotNull
} }
open ++ closed open ++ closed
} }
def parseLines(file: File): Seq[Line] = getLines(FileUtilities.read(file)).toList.zipWithIndex.map(tupled(parseLine)) def parseLines(file: File): Seq[Line] = getLines(read(file)).toList.zipWithIndex.map(tupled(parseLine))
def getLines(content: String): Seq[String] = content split "(?m)$(?s:.)(?!$)*(^|\\Z)" def getLines(content: String): Seq[String] = content split "(?m)$(?s:.)(?!$)*(^|\\Z)"
def parseLine(line: String, lineNumber: Int): Line = def parseLine(line: String, lineNumber: Int): Line =
matchPattern(WhitespacePattern -> processWhitespaceLine _, EnumPattern -> processEnumLine _, matchPattern(WhitespacePattern -> processWhitespaceLine _, EnumPattern -> processEnumLine _,

View File

@ -5,7 +5,7 @@ package xsbt
package api package api
import java.io.File import java.io.File
import xsbt.FileUtilities import sbt.IO.write
import Generator._ import Generator._
@ -25,10 +25,10 @@ abstract class GeneratorBase(val basePkgName: String, val baseDirectory: File) e
def writeSource(name: String, pkgName: String, content: String) def writeSource(name: String, pkgName: String, content: String)
{ {
import Paths._ import sbt.Paths._
val file = baseDirectory / packagePath(pkgName) / (name+ ".java") val file = baseDirectory / packagePath(pkgName) / (name+ ".java")
file.getParentFile.mkdirs() file.getParentFile.mkdirs()
FileUtilities.write(file, "package " + pkgName + ";\n\n" + content) write(file, "package " + pkgName + ";\n\n" + content)
} }
private def packagePath(pkgName: String) = pkgName.replace('.', File.separatorChar) private def packagePath(pkgName: String) = pkgName.replace('.', File.separatorChar)
} }

View File

@ -54,7 +54,7 @@ class BufferedLogger(delegate: AbstractLogger) extends AbstractLogger
delegate.setLevel(newLevel) delegate.setLevel(newLevel)
} }
def getLevel = delegate.getLevel def getLevel = delegate.getLevel
def traceEnabled = delegate.traceEnabled def getTrace = delegate.getTrace
def setTrace(level: Int) def setTrace(level: Int)
{ {
buffer += new SetTrace(level) buffer += new SetTrace(level)

View File

@ -22,7 +22,7 @@ class LoggerWriter(delegate: AbstractLogger, level: Level.Value, nl: String) ext
} }
override def write(content: Array[Char], offset: Int, length: Int): Unit = override def write(content: Array[Char], offset: Int, length: Int): Unit =
synchronized { synchronized {
buffer.append(content, offset, length) buffer.appendAll(content, offset, length)
process() process()
} }