Replace var/set with withClassLoaderCache

This commit is contained in:
Dale Wijnand 2016-09-26 09:22:21 +01:00 committed by Eugene Yokota
parent 3c508ce52d
commit 1822d3f67b
1 changed files with 15 additions and 6 deletions

View File

@ -307,12 +307,21 @@ object Defaults extends BuildCommon {
if (plugin) scalaBase / ("sbt-" + sbtv) else scalaBase
}
def compilersSetting = compilers := {
val compilers = Compiler.compilers(scalaInstance.value, classpathOptions.value, javaHome.value,
bootIvyConfiguration.value, fileToStore.value, scalaCompilerBridgeSource.value)(appConfiguration.value, streams.value.log)
if (!java.lang.Boolean.getBoolean("sbt.disable.interface.classloader.cache"))
compilers.scalac.setClassLoaderCache(state.value.classLoaderCache)
compilers
def compilersSetting = {
compilers := {
val compilers = Compiler.compilers(
scalaInstance.value, classpathOptions.value, javaHome.value, bootIvyConfiguration.value,
fileToStore.value, scalaCompilerBridgeSource.value
)(appConfiguration.value, streams.value.log)
if (java.lang.Boolean.getBoolean("sbt.disable.interface.classloader.cache")) compilers else {
compilers.withScalac(
compilers.scalac match {
case x: AnalyzingCompiler => x.withClassLoaderCache(state.value.classLoaderCache)
case x => x
}
)
}
}
}
lazy val configTasks = docTaskSettings(doc) ++ inTask(compile)(compileInputsSettings) ++ configGlobal ++ compileAnalysisSettings ++ Seq(