diff --git a/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetector.kt b/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetector.kt index 1251f9f..aac4a48 100644 --- a/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetector.kt +++ b/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetector.kt @@ -591,7 +591,7 @@ class AffectedModuleDetectorImpl( */ private fun findDependentProjects(): Set { return changedProjects.flatMap { path -> - dependencyTracker.findAllDependents(path) + dependencyTracker.findAllDependents(path, logger) }.toSet() } diff --git a/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetectorPlugin.kt b/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetectorPlugin.kt index ed5af51..9f4edc1 100644 --- a/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetectorPlugin.kt +++ b/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetectorPlugin.kt @@ -227,7 +227,7 @@ class AffectedModuleDetectorPlugin : Plugin { val tracker = DependencyTracker(project, null) project.tasks.configureEach { task -> if (task.name.contains(ANDROID_TEST_PATTERN)) { - tracker.findAllDependents(project.projectPath).forEach { dependentProject -> + tracker.findAllDependents(project.projectPath, null).forEach { dependentProject -> project.rootProject.findProject(dependentProject.path)?.tasks?.forEach { dependentTask -> AffectedModuleDetector.configureTaskGuard(dependentTask) } diff --git a/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/DependencyTracker.kt b/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/DependencyTracker.kt index a7b66e1..924b3e0 100644 --- a/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/DependencyTracker.kt +++ b/affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/DependencyTracker.kt @@ -28,7 +28,7 @@ import java.io.Serializable * Utility class that traverses all project dependencies and discover which modules depend on each * other. This is mainly used by [AffectedModuleDetector] to find out which projects should be run. */ -class DependencyTracker(private val rootProject: Project, private val logger: Logger?) : Serializable { +class DependencyTracker(rootProject: Project, logger: Logger?) : Serializable { private val dependentList: Map> by lazy { val result = mutableMapOf>() @@ -52,7 +52,7 @@ class DependencyTracker(private val rootProject: Project, private val logger: Lo result } - fun findAllDependents(projectPath: ProjectPath): Set { + fun findAllDependents(projectPath: ProjectPath, logger: Logger? = null): Set { logger?.info("finding dependents of $projectPath") val result = mutableSetOf() fun addAllDependents(projectPath: ProjectPath) {