diff --git a/modulecheck-core/src/test/kotlin/modulecheck/core/DisableViewBindingTest.kt b/modulecheck-core/src/test/kotlin/modulecheck/core/DisableViewBindingTest.kt
index 8959ade0d4..2b0abc1cac 100644
--- a/modulecheck-core/src/test/kotlin/modulecheck/core/DisableViewBindingTest.kt
+++ b/modulecheck-core/src/test/kotlin/modulecheck/core/DisableViewBindingTest.kt
@@ -278,6 +278,85 @@ class DisableViewBindingTest : RunnerTest() {
logger.parsedReport() shouldBe listOf()
}
+ @Test
+ fun `ViewBinding from debug & release is used in main source set`() {
+
+ val lib1 = androidLibrary(":lib1", "com.modulecheck.lib1") {
+ buildFile {
+ """
+ plugins {
+ id("com.android.library")
+ kotlin("android")
+ }
+
+ android {
+ buildFeatures.viewBinding = true
+ }
+ """
+ }
+ addLayoutFile(
+ "fragment_lib1.xml",
+ """
+
+ """,
+ SourceSetName.DEBUG
+ )
+ addLayoutFile(
+ "fragment_lib1.xml",
+ """
+
+
+
+
+ """,
+ SourceSetName.RELEASE
+ )
+
+ // Setting a debug base package, but it's never used. The inferred FqName for the generated
+ // binding should still reflect the main source set even though it's evaluating a file in
+ // debug.
+ platformPlugin.manifests[SourceSetName.DEBUG] = projectDir
+ .child("src/debug/AndroidManifest.xml")
+ .createSafely("")
+
+ addKotlinSource(
+ """
+ package com.modulecheck.lib1
+
+ import com.modulecheck.lib1.databinding.FragmentLib1Binding
+
+ val binding = FragmentLib1Binding()
+ """
+ )
+ }
+
+ run(
+ autoCorrect = false
+ ).isSuccess shouldBe true
+
+ lib1.buildFile shouldHaveText """
+ plugins {
+ id("com.android.library")
+ kotlin("android")
+ }
+
+ android {
+ buildFeatures.viewBinding = true
+ }
+ """
+
+ logger.parsedReport() shouldBe listOf()
+ }
+
@Test
fun `ViewBinding from debug with different base package is used in debug source set`() {
diff --git a/modulecheck-rule/impl/src/main/kotlin/modulecheck/rule/impl/DisableViewBindingRule.kt b/modulecheck-rule/impl/src/main/kotlin/modulecheck/rule/impl/DisableViewBindingRule.kt
index 785b30cf86..df3c5faf3f 100644
--- a/modulecheck-rule/impl/src/main/kotlin/modulecheck/rule/impl/DisableViewBindingRule.kt
+++ b/modulecheck-rule/impl/src/main/kotlin/modulecheck/rule/impl/DisableViewBindingRule.kt
@@ -21,6 +21,7 @@ import modulecheck.api.context.referencesForSourceSetName
import modulecheck.config.ModuleCheckSettings
import modulecheck.finding.FindingName
import modulecheck.finding.android.DisableViewBindingGenerationFinding
+import modulecheck.parsing.gradle.model.SourceSetName
import modulecheck.project.McProject
import modulecheck.project.isAndroid
import modulecheck.project.project
@@ -52,7 +53,7 @@ class DisableViewBindingRule @Inject constructor() : DocumentedRule
generatedBindings.any { generated ->