canonicalize classpath before compiling

This commit is contained in:
Mark Harrah 2011-03-04 12:02:46 -05:00
parent d4e641e115
commit e7b47d67e7
1 changed files with 5 additions and 4 deletions

View File

@ -47,9 +47,10 @@ class AggressiveCompile(cacheDirectory: File)
val extApis = getAnalysis(f) match { case Some(a) => a.apis.external; case None => Map.empty[String, Source] }
extApis.get _
}
val absClasspath = classpath.map(_.getCanonicalFile)
val apiOption= (api: Either[Boolean, Source]) => api.right.toOption
val cArgs = new CompilerArguments(compiler.scalaInstance, compiler.cp)
val searchClasspath = withBootclasspath(cArgs, classpath)
val searchClasspath = withBootclasspath(cArgs, absClasspath)
val entry = Locate.entry(searchClasspath)
val compile0 = (include: Set[File], callback: AnalysisCallback) => {
@ -59,16 +60,16 @@ class AggressiveCompile(cacheDirectory: File)
println("Compiling:\n\t" + incSrc.mkString("\n\t"))
if(!scalaSrcs.isEmpty)
{
val arguments = cArgs(incSrc, classpath, outputDirectory, options.options)
val arguments = cArgs(incSrc, absClasspath, outputDirectory, options.options)
compiler.compile(arguments, callback, maxErrors, log)
}
if(!javaSrcs.isEmpty)
{
import Path._
val loader = ClasspathUtilities.toLoader(classpath, compiler.scalaInstance.loader)
val loader = ClasspathUtilities.toLoader(absClasspath, compiler.scalaInstance.loader)
def readAPI(source: File, classes: Seq[Class[_]]) { callback.api(source, ClassToAPI(classes)) }
Analyze(outputDirectory, javaSrcs, javaSrcBases, log)(callback, loader, readAPI) {
javac(javaSrcs, classpath, outputDirectory, options.javacOptions)
javac(javaSrcs, absClasspath, outputDirectory, options.javacOptions)
}
}
}