Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to document generated files #1832

Merged
merged 1 commit into from Apr 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -68,6 +68,10 @@ open class GradleDokkaSourceSetBuilder(
val skipDeprecated: Property<Boolean> = project.objects.safeProperty<Boolean>()
.safeConvention(DokkaDefaults.skipDeprecated)

@Input
val suppressGeneratedFiles: Property<Boolean> = project.objects.safeProperty<Boolean>()
.safeConvention(true)

@Input
val jdkVersion: Property<Int> = project.objects.safeProperty<Int>()
.safeConvention(DokkaDefaults.jdkVersion)
Expand Down
Expand Up @@ -57,7 +57,7 @@ private fun GradleDokkaSourceSetBuilder.externalDocumentationLinksWithDefaults()
}

private fun GradleDokkaSourceSetBuilder.suppressedFilesWithDefaults(): Set<File> {
val suppressedFilesForAndroid = if (project.isAndroidProject()) {
val suppressedGeneratedFiles = if (suppressGeneratedFiles.getSafe()) {
val generatedRoot = project.buildDir.resolve("generated").absoluteFile
sourceRoots
.filter { it.startsWith(generatedRoot) }
Expand All @@ -67,5 +67,5 @@ private fun GradleDokkaSourceSetBuilder.suppressedFilesWithDefaults(): Set<File>
emptySet()
}

return suppressedFiles.toSet() + suppressedFilesForAndroid
return suppressedFiles.toSet() + suppressedGeneratedFiles
}
Expand Up @@ -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)
Expand Down