Skip to content

Commit dc66a24

Browse files
Make DependencyTracker.kt not store rootProject or logger so that its serializable again (#313)
* Make DependencyTracker.kt not store rootProject or logger so that its serializable again * Remove logger from filtering android tasks * Fix sample app
1 parent b683a0b commit dc66a24

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,7 @@ class AffectedModuleDetectorImpl(
591591
*/
592592
private fun findDependentProjects(): Set<ProjectPath> {
593593
return changedProjects.flatMap { path ->
594-
dependencyTracker.findAllDependents(path)
594+
dependencyTracker.findAllDependents(path, logger)
595595
}.toSet()
596596
}
597597

affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetectorPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ class AffectedModuleDetectorPlugin : Plugin<Project> {
227227
val tracker = DependencyTracker(project, null)
228228
project.tasks.configureEach { task ->
229229
if (task.name.contains(ANDROID_TEST_PATTERN)) {
230-
tracker.findAllDependents(project.projectPath).forEach { dependentProject ->
230+
tracker.findAllDependents(project.projectPath, null).forEach { dependentProject ->
231231
project.rootProject.findProject(dependentProject.path)?.tasks?.forEach { dependentTask ->
232232
AffectedModuleDetector.configureTaskGuard(dependentTask)
233233
}

affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/DependencyTracker.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import java.io.Serializable
2828
* Utility class that traverses all project dependencies and discover which modules depend on each
2929
* other. This is mainly used by [AffectedModuleDetector] to find out which projects should be run.
3030
*/
31-
class DependencyTracker(private val rootProject: Project, private val logger: Logger?) : Serializable {
31+
class DependencyTracker(rootProject: Project, logger: Logger?) : Serializable {
3232

3333
private val dependentList: Map<ProjectPath, Set<ProjectPath>> by lazy {
3434
val result = mutableMapOf<ProjectPath, MutableSet<ProjectPath>>()
@@ -52,7 +52,7 @@ class DependencyTracker(private val rootProject: Project, private val logger: Lo
5252
result
5353
}
5454

55-
fun findAllDependents(projectPath: ProjectPath): Set<ProjectPath> {
55+
fun findAllDependents(projectPath: ProjectPath, logger: Logger? = null): Set<ProjectPath> {
5656
logger?.info("finding dependents of $projectPath")
5757
val result = mutableSetOf<ProjectPath>()
5858
fun addAllDependents(projectPath: ProjectPath) {

0 commit comments

Comments
 (0)