diff options
author | Marcin Aman <marcin.aman@gmail.com> | 2021-04-06 18:06:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-06 18:06:42 +0200 |
commit | 5afe512c669e68aea3712ac37b67d005657cf60a (patch) | |
tree | 2a2ec579a16bf32b93dbcd1adaa8961c2c875b59 | |
parent | cd071a5e07c8202c66db2e077ea43bea76d55511 (diff) | |
download | dokka-5afe512c669e68aea3712ac37b67d005657cf60a.tar.gz dokka-5afe512c669e68aea3712ac37b67d005657cf60a.tar.bz2 dokka-5afe512c669e68aea3712ac37b67d005657cf60a.zip |
Suppress inherited members (#1814)
16 files changed, 240 insertions, 36 deletions
diff --git a/core/src/main/kotlin/configuration.kt b/core/src/main/kotlin/configuration.kt index 2b8798d7..56fe8437 100644 --- a/core/src/main/kotlin/configuration.kt +++ b/core/src/main/kotlin/configuration.kt @@ -33,6 +33,7 @@ object DokkaDefaults { val moduleVersion: String? = null val pluginsConfiguration = mutableListOf<PluginConfigurationImpl>() const val suppressObviousFunctions = true + const val suppressInheritedMembers = false } enum class Platform(val key: String) { @@ -101,6 +102,7 @@ interface DokkaConfiguration : Serializable { val delayTemplateSubstitution: Boolean val suppressObviousFunctions: Boolean val includes: Set<File> + val suppressInheritedMembers: Boolean enum class SerializationFormat : Serializable { JSON, XML diff --git a/core/src/main/kotlin/defaultConfiguration.kt b/core/src/main/kotlin/defaultConfiguration.kt index aa91fa1a..743cc6c2 100644 --- a/core/src/main/kotlin/defaultConfiguration.kt +++ b/core/src/main/kotlin/defaultConfiguration.kt @@ -18,6 +18,7 @@ data class DokkaConfigurationImpl( override val delayTemplateSubstitution: Boolean = false, override val suppressObviousFunctions: Boolean = DokkaDefaults.suppressObviousFunctions, override val includes: Set<File> = emptySet(), + override val suppressInheritedMembers: Boolean = DokkaDefaults.suppressInheritedMembers, ) : DokkaConfiguration data class PluginConfigurationImpl( diff --git a/core/test-api/src/main/kotlin/testApi/testRunner/TestDokkaConfigurationBuilder.kt b/core/test-api/src/main/kotlin/testApi/testRunner/TestDokkaConfigurationBuilder.kt index c0c449fb..fc26ff98 100644 --- a/core/test-api/src/main/kotlin/testApi/testRunner/TestDokkaConfigurationBuilder.kt +++ b/core/test-api/src/main/kotlin/testApi/testRunner/TestDokkaConfigurationBuilder.kt @@ -36,6 +36,7 @@ class TestDokkaConfigurationBuilder { var modules: List<DokkaModuleDescriptionImpl> = emptyList() var suppressObviousFunctions: Boolean = DokkaDefaults.suppressObviousFunctions var includes: List<File> = emptyList() + var suppressInheritedMembers: Boolean = DokkaDefaults.suppressInheritedMembers private val lazySourceSets = mutableListOf<Lazy<DokkaSourceSetImpl>>() fun build() = DokkaConfigurationImpl( @@ -51,6 +52,7 @@ class TestDokkaConfigurationBuilder { failOnWarning = failOnWarning, suppressObviousFunctions = suppressObviousFunctions, includes = includes.toSet(), + suppressInheritedMembers = suppressInheritedMembers, ) fun sourceSets(block: SourceSetsBuilder.() -> Unit) { @@ -194,6 +196,8 @@ fun dPackage( ) fun documentationNode(vararg texts: String): DocumentationNode { - return DocumentationNode(texts.toList().map { Description(CustomDocTag(listOf(Text(it)), name = MarkdownElementTypes.MARKDOWN_FILE.name)) }) + return DocumentationNode( + texts.toList() + .map { Description(CustomDocTag(listOf(Text(it)), name = MarkdownElementTypes.MARKDOWN_FILE.name)) }) } diff --git a/docs/src/doc/docs/user_guide/cli/usage.md b/docs/src/doc/docs/user_guide/cli/usage.md index 862b161b..4cb9c67e 100644 --- a/docs/src/doc/docs/user_guide/cli/usage.md +++ b/docs/src/doc/docs/user_guide/cli/usage.md @@ -21,6 +21,7 @@ Dokka supports the following command line arguments: * `-globalLinks` - external documentation links added to all source sets * `-globalSrcLink` - source links added to all source sets * `-noSuppressObviousFunctions` - don't suppress obvious functions like default `toString` or `equals` + * `-suppressInheritedMembers` - suppress all inherited members that were not overriden in a given class. Eg. using it you can suppress toString or equals functions but you can't suppress componentN or copy on data class * `-sourceSet` - (repeatable) - configuration for a single source set. Following this argument, you can pass other arguments: * `-sourceSetName` - source set name as a part of source set ID when declaring dependent source sets * `-displayName` - source set name displayed in the generated documentation diff --git a/docs/src/doc/docs/user_guide/gradle/usage.md b/docs/src/doc/docs/user_guide/gradle/usage.md index 7a7761af..f18d3bc8 100644 --- a/docs/src/doc/docs/user_guide/gradle/usage.md +++ b/docs/src/doc/docs/user_guide/gradle/usage.md @@ -92,6 +92,11 @@ dokkaHtml { // Suppress obvious functions like default toString or equals. Defaults to true suppressObviousFunctions.set(false) + + // Suppress all inherited members that were not overriden in a given class. + // Eg. using it you can suppress toString or equals functions but you can't suppress componentN or copy on data class. To do that use with suppressObviousFunctions + // Defaults to false + suppressInheritedMembers.set(true) dokkaSourceSets { configureEach { // Or source set name, for single-platform the default source sets are `main` and `test` diff --git a/docs/src/doc/docs/user_guide/maven/usage.md b/docs/src/doc/docs/user_guide/maven/usage.md index dec0712c..0290d2f7 100644 --- a/docs/src/doc/docs/user_guide/maven/usage.md +++ b/docs/src/doc/docs/user_guide/maven/usage.md @@ -88,6 +88,11 @@ The available configuration options are shown below: <!-- Suppress obvious functions like default toString or equals. Defaults to true --> <suppressObviousFunctions>false</suppressObviousFunctions> + <!-- Suppress all inherited members that were not overriden in a given class. --> + <!-- Eg. using it you can suppress toString or equals functions but you can't suppress componentN or copy on data class. To do that use with suppressObviousFunctions --> + <!-- Defaults to false --> + <suppressInheritedMembers>true</suppressInheritedMembers> + <!-- Used for linking to JDK, default: 6 --> <jdkVersion>6</jdkVersion> diff --git a/plugins/base/src/main/kotlin/DokkaBase.kt b/plugins/base/src/main/kotlin/DokkaBase.kt index d84207a5..0a18c3b1 100644 --- a/plugins/base/src/main/kotlin/DokkaBase.kt +++ b/plugins/base/src/main/kotlin/DokkaBase.kt @@ -82,6 +82,10 @@ class DokkaBase : DokkaPlugin() { preMergeDocumentableTransformer providing ::ObviousFunctionsDocumentableFilterTransformer } + val inheritedEntriesVisbilityFilter by extending { + preMergeDocumentableTransformer providing ::InheritedEntriesDocumentableFilterTransformer + } + val emptyPackagesFilter by extending { preMergeDocumentableTransformer providing ::EmptyPackagesFilterTransformer order { after( @@ -89,7 +93,8 @@ class DokkaBase : DokkaPlugin() { suppressedDocumentableFilter, documentableVisibilityFilter, suppressedBySuppressTagDocumentableFilter, - obviousFunctionsVisbilityFilter + obviousFunctionsVisbilityFilter, + inheritedEntriesVisbilityFilter, ) } } @@ -120,7 +125,6 @@ class DokkaBase : DokkaPlugin() { CoreExtensions.documentableTransformer with InheritorsExtractorTransformer() } - val undocumentedCodeReporter by extending { CoreExtensions.documentableTransformer with ReportUndocumentedTransformer() } @@ -163,7 +167,6 @@ class DokkaBase : DokkaPlugin() { CoreExtensions.renderer providing ::HtmlRenderer } - val defaultKotlinAnalysis by extending { kotlinAnalysis providing { ctx -> KotlinAnalysis(ctx.configuration.sourceSets, ctx.logger) } } @@ -246,4 +249,4 @@ class DokkaBase : DokkaPlugin() { val baseSearchbarDataInstaller by extending { htmlPreprocessors providing ::SearchbarDataInstaller order { after(sourceLinksTransformer) } } -}
\ No newline at end of file +} diff --git a/plugins/base/src/main/kotlin/transformers/documentables/InheritedEntriesDocumentableFilterTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/InheritedEntriesDocumentableFilterTransformer.kt new file mode 100644 index 00000000..a1b5052d --- /dev/null +++ b/plugins/base/src/main/kotlin/transformers/documentables/InheritedEntriesDocumentableFilterTransformer.kt @@ -0,0 +1,13 @@ +package org.jetbrains.dokka.base.transformers.documentables + +import org.jetbrains.dokka.model.* +import org.jetbrains.dokka.model.properties.WithExtraProperties +import org.jetbrains.dokka.plugability.DokkaContext + +class InheritedEntriesDocumentableFilterTransformer(context: DokkaContext) : + SuppressedByConditionDocumentableFilterTransformer(context) { + override fun shouldBeSuppressed(d: Documentable): Boolean = + context.configuration.suppressInheritedMembers && (d as? WithExtraProperties<Documentable>)?.extra?.get( + InheritedMember + )?.inheritedFrom?.any { entry -> entry.value != null } ?: false +}
\ No newline at end of file diff --git a/plugins/base/src/test/kotlin/transformers/InheritedEntriesDocumentableFilterTransfromerTest.kt b/plugins/base/src/test/kotlin/transformers/InheritedEntriesDocumentableFilterTransfromerTest.kt new file mode 100644 index 00000000..9cb956ba --- /dev/null +++ b/plugins/base/src/test/kotlin/transformers/InheritedEntriesDocumentableFilterTransfromerTest.kt @@ -0,0 +1,112 @@ +package transformers + +import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest +import org.junit.jupiter.api.Test +import kotlin.test.assertEquals + +class InheritedEntriesDocumentableFilterTransformerTest : BaseAbstractTest() { + val suppressingInheritedConfiguration = dokkaConfiguration { + suppressInheritedMembers = true + suppressObviousFunctions = false + sourceSets { + sourceSet { + sourceRoots = listOf("src") + } + } + } + + val nonSuppressingInheritedConfiguration = dokkaConfiguration { + suppressObviousFunctions = false + suppressInheritedMembers = false + sourceSets { + sourceSet { + sourceRoots = listOf("src") + } + } + } + + + @Test + fun `should suppress toString, equals and hashcode but keep custom ones`() { + testInline( + """ + /src/suppressed/Suppressed.kt + package suppressed + data class Suppressed(val x: String) { + override fun toString(): String { + return "custom" + } + } + """.trimIndent(), + suppressingInheritedConfiguration + ) { + preMergeDocumentablesTransformationStage = { modules -> + val functions = modules.flatMap { it.packages }.flatMap { it.classlikes }.flatMap { it.functions } + assertEquals(listOf("toString", "copy", "component1").sorted(), functions.map { it.name }.sorted()) + } + } + } + + @Test + fun `should suppress toString, equals and hashcode`() { + testInline( + """ + /src/suppressed/Suppressed.kt + package suppressed + data class Suppressed(val x: String) + """.trimIndent(), + suppressingInheritedConfiguration + ) { + preMergeDocumentablesTransformationStage = { modules -> + val functions = modules.flatMap { it.packages }.flatMap { it.classlikes }.flatMap { it.functions } + assertEquals(listOf("copy", "component1").sorted(), functions.map { it.name }.sorted()) + } + } + } + + @Test + fun `should also suppress properites`(){ + testInline( + """ + /src/suppressed/Suppressed.kt + package suppressed + open class Parent { + val parentValue = "String" + } + + class Child : Parent { + + } + """.trimIndent(), + suppressingInheritedConfiguration + ) { + preMergeDocumentablesTransformationStage = { modules -> + val properties = modules.flatMap { it.packages }.flatMap { it.classlikes }.first { it.name == "Child" }.properties + assertEquals(0, properties.size) + } + } + } + + @Test + fun `should not suppress properites if config says so`(){ + testInline( + """ + /src/suppressed/Suppressed.kt + package suppressed + open class Parent { + val parentValue = "String" + } + + class Child : Parent { + + } + """.trimIndent(), + nonSuppressingInheritedConfiguration + ) { + preMergeDocumentablesTransformationStage = { modules -> + val properties = modules.flatMap { it.packages }.flatMap { it.classlikes }.first { it.name == "Child" }.properties + assertEquals(listOf("parentValue"), properties.map { it.name }) + } + } + } +}
\ No newline at end of file diff --git a/plugins/base/src/test/kotlin/transformers/ObviousFunctionsDocumentableFilterTest.kt b/plugins/base/src/test/kotlin/transformers/ObviousAndInheritedFunctionsDocumentableFilterTest.kt index d666b8a7..3618c8fb 100644 --- a/plugins/base/src/test/kotlin/transformers/ObviousFunctionsDocumentableFilterTest.kt +++ b/plugins/base/src/test/kotlin/transformers/ObviousAndInheritedFunctionsDocumentableFilterTest.kt @@ -1,29 +1,63 @@ package transformers +import org.jetbrains.dokka.DokkaConfigurationImpl import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest -import org.junit.jupiter.api.Test +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.MethodSource +import testApi.testRunner.dokkaConfiguration import kotlin.test.assertEquals -class ObviousFunctionsDocumentableFilterTest : BaseAbstractTest() { - val suppressingConfiguration = dokkaConfiguration { - sourceSets { - sourceSet { - sourceRoots = listOf("src") +class ObviousAndInheritedFunctionsDocumentableFilterTest : BaseAbstractTest() { + companion object { + @JvmStatic + fun suppressingObviousConfiguration() = listOf(dokkaConfiguration { + suppressInheritedMembers = false + suppressObviousFunctions = true + sourceSets { + sourceSet { + sourceRoots = listOf("src") + } } - } - } + }) - val nonSuppressingConfiguration = dokkaConfiguration { - suppressObviousFunctions = false - sourceSets { - sourceSet { - sourceRoots = listOf("src") + @JvmStatic + fun nonSuppressingObviousConfiguration() = listOf(dokkaConfiguration { + suppressObviousFunctions = false + suppressInheritedMembers = false + sourceSets { + sourceSet { + sourceRoots = listOf("src") + } } - } + }) + + @JvmStatic + fun suppressingInheritedConfiguration() = listOf(dokkaConfiguration { + suppressInheritedMembers = true + suppressObviousFunctions = false + sourceSets { + sourceSet { + sourceRoots = listOf("src") + } + } + }) + + @JvmStatic + fun nonSuppressingInheritedConfiguration() = listOf(dokkaConfiguration { + suppressObviousFunctions = false + suppressInheritedMembers = false + sourceSets { + sourceSet { + sourceRoots = listOf("src") + } + } + }) } - @Test - fun `should suppress toString, equals and hashcode`() { + + @ParameterizedTest + @MethodSource(value = ["suppressingObviousConfiguration"]) + fun `should suppress toString, equals and hashcode`(suppressingConfiguration: DokkaConfigurationImpl) { testInline( """ /src/suppressed/Suppressed.kt @@ -39,8 +73,9 @@ class ObviousFunctionsDocumentableFilterTest : BaseAbstractTest() { } } - @Test - fun `should suppress toString, equals and hashcode for interface`() { + @ParameterizedTest + @MethodSource(value = ["suppressingObviousConfiguration", "suppressingInheritedConfiguration"]) + fun `should suppress toString, equals and hashcode for interface`(suppressingConfiguration: DokkaConfigurationImpl) { testInline( """ /src/suppressed/Suppressed.kt @@ -56,8 +91,9 @@ class ObviousFunctionsDocumentableFilterTest : BaseAbstractTest() { } } - @Test - fun `should suppress toString, equals and hashcode in Java`() { + @ParameterizedTest + @MethodSource(value = ["suppressingObviousConfiguration", "suppressingInheritedConfiguration"]) + fun `should suppress toString, equals and hashcode in Java`(suppressingConfiguration: DokkaConfigurationImpl) { testInline( """ /src/suppressed/Suppressed.java @@ -74,8 +110,9 @@ class ObviousFunctionsDocumentableFilterTest : BaseAbstractTest() { } } - @Test - fun `should suppress toString, equals and hashcode but keep custom ones`() { + @ParameterizedTest + @MethodSource(value = ["suppressingObviousConfiguration"]) + fun `should suppress toString, equals and hashcode but keep custom ones`(suppressingConfiguration: DokkaConfigurationImpl) { testInline( """ /src/suppressed/Suppressed.kt @@ -95,8 +132,9 @@ class ObviousFunctionsDocumentableFilterTest : BaseAbstractTest() { } } - @Test - fun `should suppress toString, equals and hashcode but keep custom ones in Java`() { + @ParameterizedTest + @MethodSource(value = ["suppressingObviousConfiguration", "suppressingInheritedConfiguration"]) + fun `should suppress toString, equals and hashcode but keep custom ones in Java`(suppressingConfiguration: DokkaConfigurationImpl) { testInline( """ /src/suppressed/Suppressed.java @@ -117,8 +155,9 @@ class ObviousFunctionsDocumentableFilterTest : BaseAbstractTest() { } } - @Test - fun `should not suppress toString, equals and hashcode if custom config is provided`() { + @ParameterizedTest + @MethodSource(value = ["nonSuppressingObviousConfiguration", "nonSuppressingInheritedConfiguration"]) + fun `should not suppress toString, equals and hashcode if custom config is provided`(nonSuppressingConfiguration: DokkaConfigurationImpl) { testInline( """ /src/suppressed/Suppressed.kt @@ -137,8 +176,9 @@ class ObviousFunctionsDocumentableFilterTest : BaseAbstractTest() { } } - @Test - fun `not should suppress toString, equals and hashcode for interface if custom config is provided`() { + @ParameterizedTest + @MethodSource(value = ["nonSuppressingObviousConfiguration", "nonSuppressingInheritedConfiguration"]) + fun `not should suppress toString, equals and hashcode for interface if custom config is provided`(nonSuppressingConfiguration: DokkaConfigurationImpl) { testInline( """ /src/suppressed/Suppressed.kt @@ -154,8 +194,9 @@ class ObviousFunctionsDocumentableFilterTest : BaseAbstractTest() { } } - @Test - fun `should not suppress toString, equals and hashcode if custom config is provided in Java`() { + @ParameterizedTest + @MethodSource(value = ["nonSuppressingObviousConfiguration", "nonSuppressingInheritedConfiguration"]) + fun `should not suppress toString, equals and hashcode if custom config is provided in Java`(nonSuppressingConfiguration: DokkaConfigurationImpl) { testInline( """ /src/suppressed/Suppressed.java diff --git a/runners/cli/src/main/kotlin/cli/main.kt b/runners/cli/src/main/kotlin/cli/main.kt index 42ac1806..7c402df5 100644 --- a/runners/cli/src/main/kotlin/cli/main.kt +++ b/runners/cli/src/main/kotlin/cli/main.kt @@ -83,6 +83,11 @@ class GlobalArguments(args: Array<String>) : DokkaConfiguration { override val includes: Set<File> by lazy { _includes.toSet() } + override val suppressInheritedMembers: Boolean by parser.option( + ArgType.Boolean, + description = "Suppress members inherited from other classes" + ).default(DokkaDefaults.suppressInheritedMembers) + val globalPackageOptions by parser.option( ArgType.String, description = "List of package source sets in format \"prefix,-deprecated,-privateApi,+warnUndocumented,+suppress;...\" " diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/AbstractDokkaTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/AbstractDokkaTask.kt index ead7b978..c3217722 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/AbstractDokkaTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/AbstractDokkaTask.kt @@ -48,6 +48,10 @@ abstract class AbstractDokkaTask : DefaultTask() { .safeConvention(DokkaDefaults.suppressObviousFunctions) @Input + val suppressInheritedMembers: Property<Boolean> = project.objects.safeProperty<Boolean>() + .safeConvention(DokkaDefaults.suppressInheritedMembers) + + @Input val offlineMode: Property<Boolean> = project.objects.safeProperty<Boolean>() .safeConvention(DokkaDefaults.offlineMode) diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt index b0fc5f22..cfe56d52 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt @@ -17,7 +17,9 @@ abstract class DokkaCollectorTask : AbstractDokkaParentTask() { failOnWarning = failOnWarning.getSafe(), offlineMode = offlineMode.getSafe(), pluginsClasspath = plugins.resolve().toList(), - pluginsConfiguration = buildPluginsConfiguration() + pluginsConfiguration = buildPluginsConfiguration(), + suppressObviousFunctions = suppressObviousFunctions.getSafe(), + suppressInheritedMembers = suppressInheritedMembers.getSafe(), ) val subprojectDokkaConfigurations = childDokkaTasks.map { dokkaTask -> dokkaTask.buildDokkaConfiguration() } diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt index 0d6f35da..eaf4f495 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt @@ -44,5 +44,6 @@ abstract class DokkaTask : AbstractDokkaTask() { pluginsConfiguration = buildPluginsConfiguration(), pluginsClasspath = plugins.resolve().toList(), suppressObviousFunctions = suppressObviousFunctions.getSafe(), + suppressInheritedMembers = suppressInheritedMembers.getSafe(), ) } diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTaskPartial.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTaskPartial.kt index c2789c19..4513cfea 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTaskPartial.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTaskPartial.kt @@ -46,6 +46,7 @@ abstract class DokkaTaskPartial : AbstractDokkaTask() { pluginsClasspath = plugins.resolve().toList(), delayTemplateSubstitution = true, suppressObviousFunctions = suppressObviousFunctions.getSafe(), + suppressInheritedMembers = suppressInheritedMembers.getSafe(), ) } }
\ No newline at end of file diff --git a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt index 3e1916a6..5228f44b 100644 --- a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt +++ b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt @@ -159,6 +159,9 @@ abstract class AbstractDokkaMojo(private val defaultDokkaPlugins: List<Dependenc @Parameter(defaultValue = "${DokkaDefaults.suppressObviousFunctions}") var suppressObviousFunctions: Boolean = DokkaDefaults.suppressObviousFunctions + @Parameter(defaultValue = "${DokkaDefaults.suppressInheritedMembers}") + var suppressInheritedMembers: Boolean = DokkaDefaults.suppressInheritedMembers + @Parameter var dokkaPlugins: List<Dependency> = emptyList() get() = field + defaultDokkaPlugins @@ -248,6 +251,7 @@ abstract class AbstractDokkaMojo(private val defaultDokkaPlugins: List<Dependenc modules = emptyList(), failOnWarning = failOnWarning, suppressObviousFunctions = suppressObviousFunctions, + suppressInheritedMembers = suppressInheritedMembers, ) val gen = DokkaGenerator(configuration, logger) |