mirror of
https://github.com/sbt/sbt.git
synced 2026-10-06 18:14:04 +02:00
apply javac log level approach to directJavac
This commit is contained in:
@@ -51,14 +51,17 @@ object JavaCompiler
|
||||
}
|
||||
val directJavac = (arguments: Seq[String], log: Logger) =>
|
||||
{
|
||||
val writer = new java.io.PrintWriter(new LoggerWriter(log, Level.Error))
|
||||
val logger = new LoggerWriter(log)
|
||||
val writer = new java.io.PrintWriter(logger)
|
||||
val argsArray = arguments.toArray
|
||||
val javac = Class.forName("com.sun.tools.javac.Main")
|
||||
log.debug("Calling javac directly.")
|
||||
javac.getDeclaredMethod("compile", classOf[Array[String]], classOf[java.io.PrintWriter])
|
||||
.invoke(null, argsArray, writer)
|
||||
.asInstanceOf[java.lang.Integer]
|
||||
.intValue
|
||||
val compileMethod = javac.getDeclaredMethod("compile", classOf[Array[String]], classOf[java.io.PrintWriter])
|
||||
|
||||
var exitCode = -1
|
||||
try { exitCode = compileMethod.invoke(null, argsArray, writer).asInstanceOf[java.lang.Integer].intValue }
|
||||
finally { logger.flushLines( if(exitCode == 0) Level.Warn else Level.Error) }
|
||||
exitCode
|
||||
}
|
||||
def withArgumentFile[T](args: Seq[String])(f: File => T): T =
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user