diff options
author | Marcin Aman <marcin.aman@gmail.com> | 2021-03-01 11:57:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-01 11:57:30 +0100 |
commit | c01e49eec9558736959d12820361624a3c3e41e5 (patch) | |
tree | a88ee64c5ba5a8d4c9ff037fdfbea6a3527349fe /plugins/android-documentation/src/main | |
parent | 201a9785a04d631fae65a3af3b495962e4f16d14 (diff) | |
download | dokka-c01e49eec9558736959d12820361624a3c3e41e5.tar.gz dokka-c01e49eec9558736959d12820361624a3c3e41e5.tar.bz2 dokka-c01e49eec9558736959d12820361624a3c3e41e5.zip |
Suppress tag support (#1742)
* Suppress tag support
* Support Hide tag in javadoc
* Extract hide tag to be in separate plugin
Diffstat (limited to 'plugins/android-documentation/src/main')
3 files changed, 27 insertions, 0 deletions
diff --git a/plugins/android-documentation/src/main/kotlin/AndroidDocumentationPlugin.kt b/plugins/android-documentation/src/main/kotlin/AndroidDocumentationPlugin.kt new file mode 100644 index 00000000..fd345802 --- /dev/null +++ b/plugins/android-documentation/src/main/kotlin/AndroidDocumentationPlugin.kt @@ -0,0 +1,13 @@ +package org.jetbrains.dokka.android + +import org.jetbrains.dokka.android.transformers.HideTagDocumentableFilter +import org.jetbrains.dokka.base.DokkaBase +import org.jetbrains.dokka.plugability.DokkaPlugin + +class AndroidDocumentationPlugin : DokkaPlugin() { + private val dokkaBase by lazy { plugin<DokkaBase>() } + + val suppressedByHideTagDocumentableFilter by extending { + dokkaBase.preMergeDocumentableTransformer providing ::HideTagDocumentableFilter order { before(dokkaBase.emptyPackagesFilter) } + } +}
\ No newline at end of file diff --git a/plugins/android-documentation/src/main/kotlin/transformers/HideTagDocumentableFilter.kt b/plugins/android-documentation/src/main/kotlin/transformers/HideTagDocumentableFilter.kt new file mode 100644 index 00000000..074413cc --- /dev/null +++ b/plugins/android-documentation/src/main/kotlin/transformers/HideTagDocumentableFilter.kt @@ -0,0 +1,13 @@ +package org.jetbrains.dokka.android.transformers + +import org.jetbrains.dokka.base.transformers.documentables.SuppressedByTagDocumentableFilterTransformer +import org.jetbrains.dokka.model.Documentable +import org.jetbrains.dokka.model.dfs +import org.jetbrains.dokka.model.doc.CustomTagWrapper +import org.jetbrains.dokka.plugability.DokkaContext + +class HideTagDocumentableFilter(val dokkaContext: DokkaContext) : + SuppressedByTagDocumentableFilterTransformer(dokkaContext) { + override fun shouldBeSuppressed(d: Documentable): Boolean = + d.documentation.any { (_, docs) -> docs.dfs { it is CustomTagWrapper && it.name.trim() == "hide" } != null } +}
\ No newline at end of file diff --git a/plugins/android-documentation/src/main/resources/META-INF/services/org.jetbrains.dokka.plugability.DokkaPlugin b/plugins/android-documentation/src/main/resources/META-INF/services/org.jetbrains.dokka.plugability.DokkaPlugin new file mode 100644 index 00000000..ee7f92e0 --- /dev/null +++ b/plugins/android-documentation/src/main/resources/META-INF/services/org.jetbrains.dokka.plugability.DokkaPlugin @@ -0,0 +1 @@ +org.jetbrains.dokka.android.AndroidDocumentationPlugin |