Fix inter-project IC for android->non-android dependency

#KT-24832 fixed
This commit is contained in:
Alexey Tsvetkov
2018-06-22 04:12:25 +03:00
parent 9071a70a44
commit 2065f8e6fe
19 changed files with 195 additions and 3 deletions
@@ -110,6 +110,15 @@ open class ModulesApiHistoryJvm(protected val modulesInfo: IncrementalModuleInfo
}
class ModulesApiHistoryAndroid(modulesInfo: IncrementalModuleInfo) : ModulesApiHistoryJvm(modulesInfo) {
private val delegate = ModulesApiHistoryJvm(modulesInfo)
override fun historyFilesForChangedFiles(changedFiles: Set<File>): Either<Set<File>> {
val historyFromDelegate = delegate.historyFilesForChangedFiles(changedFiles)
if (historyFromDelegate is Either.Success<Set<File>>) return historyFromDelegate
return super.historyFilesForChangedFiles(changedFiles)
}
override fun getBuildHistoryFilesForJar(jar: File): Either<Set<File>> {
// Module detection is expensive, so we don't don it for jars outside of project dir
if (!projectRootPath.isParentOf(jar)) return Either.Error("Non-project jar is modified $jar")