diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilder.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilder.kt index 17e7dd1c51..70d84dc408 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilder.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilder.kt @@ -68,6 +68,10 @@ open class GradleDokkaSourceSetBuilder( val skipDeprecated: Property = project.objects.safeProperty() .safeConvention(DokkaDefaults.skipDeprecated) + @Input + val suppressGeneratedFiles: Property = project.objects.safeProperty() + .safeConvention(true) + @Input val jdkVersion: Property = project.objects.safeProperty() .safeConvention(DokkaDefaults.jdkVersion) diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/toDokkaSourceSetImpl.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/toDokkaSourceSetImpl.kt index 2813d04eff..74e3d16d38 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/toDokkaSourceSetImpl.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/toDokkaSourceSetImpl.kt @@ -57,7 +57,7 @@ private fun GradleDokkaSourceSetBuilder.externalDocumentationLinksWithDefaults() } private fun GradleDokkaSourceSetBuilder.suppressedFilesWithDefaults(): Set { - val suppressedFilesForAndroid = if (project.isAndroidProject()) { + val suppressedGeneratedFiles = if (suppressGeneratedFiles.getSafe()) { val generatedRoot = project.buildDir.resolve("generated").absoluteFile sourceRoots .filter { it.startsWith(generatedRoot) } @@ -67,5 +67,5 @@ private fun GradleDokkaSourceSetBuilder.suppressedFilesWithDefaults(): Set emptySet() } - return suppressedFiles.toSet() + suppressedFilesForAndroid + return suppressedFiles.toSet() + suppressedGeneratedFiles } diff --git a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilderTest.kt b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilderTest.kt index 68642054ed..6216b5d7ee 100644 --- a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilderTest.kt +++ b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilderTest.kt @@ -424,6 +424,34 @@ class GradleDokkaSourceSetBuilderTest { ) } + @Test + fun suppressedFilesByDefault() { + val sourceSet = GradleDokkaSourceSetBuilder("", project) + assertTrue(sourceSet.build().suppressedFiles.isEmpty(), "Expected no suppressed files by default") + + val file = project.buildDir.resolve("generated").also { it.mkdirs() } + file.resolve("suppressed.kt").writeText("class A") + + sourceSet.sourceRoots.from(project.buildDir.resolve("generated")) + + val suppressedConfiguration = sourceSet.build() + sourceSet.suppressGeneratedFiles.set(false) + val unsuppressedConfiguration = sourceSet.build() + + assertEquals( + setOf( + project.buildDir.resolve("generated"), + project.buildDir.resolve("generated").resolve("suppressed.kt") + ), suppressedConfiguration.suppressedFiles, + "Expected all suppressed files to be present after build" + ) + + assertTrue( + unsuppressedConfiguration.suppressedFiles.isEmpty(), + "Expected no files to be suppressed by default" + ) + } + @Test fun platform() { val sourceSet = GradleDokkaSourceSetBuilder("", project)