Refactoring: do not pass properties as parameters

This commit is contained in:
Alexey Tsvetkov
2016-10-05 00:05:25 +03:00
parent c283515922
commit 3bcd6e9a93
@@ -47,23 +47,12 @@ internal class IncrementalJvmCompilerRunner(
messageCollector: MessageCollector messageCollector: MessageCollector
): ExitCode { ): ExitCode {
val targetId = TargetId(name = args.moduleName, type = "java-production") val targetId = TargetId(name = args.moduleName, type = "java-production")
val lastBuildInfo = BuildInfo.read(lastBuildInfoFile)
var caches = IncrementalCachesManager(targetId, cacheDirectory, File(args.destination)) var caches = IncrementalCachesManager(targetId, cacheDirectory, File(args.destination))
reporter.report { "Last Kotlin Build info -- $lastBuildInfo" }
return try { return try {
val javaFilesProcessor = ChangedJavaFilesProcessor() val javaFilesProcessor = ChangedJavaFilesProcessor()
val compilationMode = calculateSourcesToCompile( val compilationMode = calculateSourcesToCompile(javaFilesProcessor, caches, changedFiles, args.classpathAsList)
javaFilesProcessor, compileIncrementally(args, caches, javaFilesProcessor, allKotlinSources, targetId, compilationMode, messageCollector)
caches,
lastBuildInfo,
changedFiles,
args.classpathAsList,
dirtySourcesSinceLastTimeFile,
artifactDifferenceRegistryProvider,
reporter)
compileIncrementally(args, caches, javaFilesProcessor, allKotlinSources, targetId, compilationMode, reporter, messageCollector)
} }
catch (e: PersistentEnumeratorBase.CorruptedException) { catch (e: PersistentEnumeratorBase.CorruptedException) {
caches.clean() caches.clean()
@@ -74,7 +63,7 @@ internal class IncrementalJvmCompilerRunner(
val javaFilesProcessor = ChangedJavaFilesProcessor() val javaFilesProcessor = ChangedJavaFilesProcessor()
caches = IncrementalCachesManager(targetId, cacheDirectory, args.destinationAsFile) caches = IncrementalCachesManager(targetId, cacheDirectory, args.destinationAsFile)
val compilationMode = CompilationMode.Rebuild() val compilationMode = CompilationMode.Rebuild()
compileIncrementally(args, caches, javaFilesProcessor, allKotlinSources, targetId, compilationMode, reporter, messageCollector) compileIncrementally(args, caches, javaFilesProcessor, allKotlinSources, targetId, compilationMode, messageCollector)
} }
} }
@@ -88,12 +77,8 @@ internal class IncrementalJvmCompilerRunner(
private fun calculateSourcesToCompile( private fun calculateSourcesToCompile(
javaFilesProcessor: ChangedJavaFilesProcessor, javaFilesProcessor: ChangedJavaFilesProcessor,
caches: IncrementalCachesManager, caches: IncrementalCachesManager,
lastBuildInfo: BuildInfo?,
changedFiles: ChangedFiles, changedFiles: ChangedFiles,
classpath: Iterable<File>, classpath: Iterable<File>
dirtySourcesSinceLastTimeFile: File,
artifactDifferenceRegistryProvider: ArtifactDifferenceRegistryProvider?,
reporter: IncReporter
): CompilationMode { ): CompilationMode {
fun rebuild(reason: ()->String): CompilationMode { fun rebuild(reason: ()->String): CompilationMode {
reporter.report {"Non-incremental compilation will be performed: ${reason()}"} reporter.report {"Non-incremental compilation will be performed: ${reason()}"}
@@ -112,12 +97,11 @@ internal class IncrementalJvmCompilerRunner(
val classpathSet = classpath.toHashSet() val classpathSet = classpath.toHashSet()
val modifiedClasspathEntries = changedFiles.modified.filter {it in classpathSet} val modifiedClasspathEntries = changedFiles.modified.filter {it in classpathSet}
val classpathChanges = getClasspathChanges(modifiedClasspathEntries, lastBuildInfo, artifactDifferenceRegistryProvider, reporter) val lastBuildInfo = BuildInfo.read(lastBuildInfoFile)
if (classpathChanges is ChangesEither.Unknown) { reporter.report { "Last Kotlin Build info -- $lastBuildInfo" }
return rebuild {"could not get changes from modified classpath entries: ${reporter.pathsAsString(modifiedClasspathEntries)}"} val classpathChanges = getClasspathChanges(modifiedClasspathEntries, lastBuildInfo)
}
if (classpathChanges !is ChangesEither.Known) { if (classpathChanges !is ChangesEither.Known) {
throw AssertionError("Unknown implementation of ChangesEither: ${classpathChanges.javaClass}") return rebuild {"could not get changes from modified classpath entries: ${reporter.pathsAsString(modifiedClasspathEntries)}"}
} }
val javaFilesDiff = FileCollectionDiff( val javaFilesDiff = FileCollectionDiff(
newOrModified = changedFiles.modified.filter(File::isJavaFile), newOrModified = changedFiles.modified.filter(File::isJavaFile),
@@ -162,9 +146,7 @@ internal class IncrementalJvmCompilerRunner(
private fun getClasspathChanges( private fun getClasspathChanges(
modifiedClasspath: List<File>, modifiedClasspath: List<File>,
lastBuildInfo: BuildInfo?, lastBuildInfo: BuildInfo?
artifactDifferenceRegistryProvider: ArtifactDifferenceRegistryProvider?,
reporter: IncReporter
): ChangesEither { ): ChangesEither {
if (modifiedClasspath.isEmpty()) { if (modifiedClasspath.isEmpty()) {
reporter.report {"No classpath changes"} reporter.report {"No classpath changes"}
@@ -214,7 +196,6 @@ internal class IncrementalJvmCompilerRunner(
allKotlinSources: List<File>, allKotlinSources: List<File>,
targetId: TargetId, targetId: TargetId,
compilationMode: CompilationMode, compilationMode: CompilationMode,
reporter: IncReporter,
messageCollector: MessageCollector messageCollector: MessageCollector
): ExitCode { ): ExitCode {
val allGeneratedFiles = hashSetOf<GeneratedFile<TargetId>>() val allGeneratedFiles = hashSetOf<GeneratedFile<TargetId>>()