fun getModuleChangesFlow()

in plugin/gradle/src/main/kotlin/com/jetbrains/packagesearch/plugin/gradle/utils/GradleUtils.kt [53:77]


fun getModuleChangesFlow(model: PackageSearchGradleJavaModel): Flow<Unit> {
    val knownFiles = buildSet {
        if (model.buildFilePath != null) {
            add(Path(model.buildFilePath))
        }
        addAll(
            knownGradleAncillaryFilesFiles.flatMap {
                listOf(
                    Path(model.rootProjectPath).resolve(it),
                    Path(model.projectDir).resolve(it),
                )
            }
        )
    }

    val buildFileChanges = filesChangedEventFlow
        .map { it.mapNotNull { it.file?.toNioPathOrNull() } }
        .filter { changes -> changes.any { change -> knownFiles.any { it.isSameFileAsSafe(change) } } }
        .mapUnit()

    return merge(
        watchExternalFileChanges(globalGradlePropertiesPath),
        buildFileChanges,
    )
}