aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Aman <marcin.aman@gmail.com>2021-04-06 18:06:42 +0200
committerGitHub <noreply@github.com>2021-04-06 18:06:42 +0200
commit5afe512c669e68aea3712ac37b67d005657cf60a (patch)
tree2a2ec579a16bf32b93dbcd1adaa8961c2c875b59
parentcd071a5e07c8202c66db2e077ea43bea76d55511 (diff)
downloaddokka-5afe512c669e68aea3712ac37b67d005657cf60a.tar.gz
dokka-5afe512c669e68aea3712ac37b67d005657cf60a.tar.bz2
dokka-5afe512c669e68aea3712ac37b67d005657cf60a.zip
Suppress inherited members (#1814)
-rw-r--r--core/src/main/kotlin/configuration.kt2
-rw-r--r--core/src/main/kotlin/defaultConfiguration.kt1
-rw-r--r--core/test-api/src/main/kotlin/testApi/testRunner/TestDokkaConfigurationBuilder.kt6
-rw-r--r--docs/src/doc/docs/user_guide/cli/usage.md1
-rw-r--r--docs/src/doc/docs/user_guide/gradle/usage.md5
-rw-r--r--docs/src/doc/docs/user_guide/maven/usage.md5
-rw-r--r--plugins/base/src/main/kotlin/DokkaBase.kt11
-rw-r--r--plugins/base/src/main/kotlin/transformers/documentables/InheritedEntriesDocumentableFilterTransformer.kt13
-rw-r--r--plugins/base/src/test/kotlin/transformers/InheritedEntriesDocumentableFilterTransfromerTest.kt112
-rw-r--r--plugins/base/src/test/kotlin/transformers/ObviousAndInheritedFunctionsDocumentableFilterTest.kt (renamed from plugins/base/src/test/kotlin/transformers/ObviousFunctionsDocumentableFilterTest.kt)101
-rw-r--r--runners/cli/src/main/kotlin/cli/main.kt5
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/AbstractDokkaTask.kt4
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt4
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt1
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTaskPartial.kt1
-rw-r--r--runners/maven-plugin/src/main/kotlin/DokkaMojo.kt4
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)