Passing services via type-safe container instead of map.

Original commit: f3b7ae379f
This commit is contained in:
Evgeny Gerashchenko
2014-08-19 20:49:48 +04:00
parent b92205b277
commit df3604fc6a
@@ -37,9 +37,11 @@ import org.jetbrains.jet.compiler.runner.CompilerEnvironment;
import org.jetbrains.jet.compiler.runner.CompilerRunnerConstants; import org.jetbrains.jet.compiler.runner.CompilerRunnerConstants;
import org.jetbrains.jet.compiler.runner.OutputItemsCollectorImpl; import org.jetbrains.jet.compiler.runner.OutputItemsCollectorImpl;
import org.jetbrains.jet.compiler.runner.SimpleOutputItem; import org.jetbrains.jet.compiler.runner.SimpleOutputItem;
import org.jetbrains.jet.config.CompilerServices;
import org.jetbrains.jet.config.IncrementalCompilation; import org.jetbrains.jet.config.IncrementalCompilation;
import org.jetbrains.jet.jps.JpsKotlinCompilerSettings; import org.jetbrains.jet.jps.JpsKotlinCompilerSettings;
import org.jetbrains.jet.jps.incremental.*; import org.jetbrains.jet.jps.incremental.*;
import org.jetbrains.jet.lang.resolve.kotlin.incremental.cache.IncrementalCacheProvider;
import org.jetbrains.jet.utils.PathUtil; import org.jetbrains.jet.utils.PathUtil;
import org.jetbrains.jps.ModuleChunk; import org.jetbrains.jps.ModuleChunk;
import org.jetbrains.jps.builders.DirtyFilesHolder; import org.jetbrains.jps.builders.DirtyFilesHolder;
@@ -125,10 +127,12 @@ public class KotlinBuilder extends ModuleLevelBuilder {
incrementalCaches.put(target, dataManager.getStorage(target, IncrementalCacheStorageProvider.INSTANCE$)); incrementalCaches.put(target, dataManager.getStorage(target, IncrementalCacheStorageProvider.INSTANCE$));
} }
IncrementalCacheProviderImpl cacheProvider = new IncrementalCacheProviderImpl(incrementalCaches); CompilerServices compilerServices = new CompilerServices.Builder()
.register(IncrementalCacheProvider.class, new IncrementalCacheProviderImpl(incrementalCaches))
.build();
CompilerEnvironment environment = CompilerEnvironment.getEnvironmentFor( CompilerEnvironment environment = CompilerEnvironment.getEnvironmentFor(
PathUtil.getKotlinPathsForJpsPluginOrJpsTests(), outputDir, getClass().getClassLoader(), cacheProvider); PathUtil.getKotlinPathsForJpsPluginOrJpsTests(), outputDir, getClass().getClassLoader(), compilerServices);
if (!environment.success()) { if (!environment.success()) {
environment.reportErrorsTo(messageCollector); environment.reportErrorsTo(messageCollector);
return ExitCode.ABORT; return ExitCode.ABORT;