Refactoring: do not pass properties as parameters
This commit is contained in:
+9
-28
@@ -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>>()
|
||||||
|
|||||||
Reference in New Issue
Block a user