aboutsummaryrefslogtreecommitdiff
path: root/plugins/android-documentation/src/main
diff options
context:
space:
mode:
authorMarcin Aman <marcin.aman@gmail.com>2021-03-01 11:57:30 +0100
committerGitHub <noreply@github.com>2021-03-01 11:57:30 +0100
commitc01e49eec9558736959d12820361624a3c3e41e5 (patch)
treea88ee64c5ba5a8d4c9ff037fdfbea6a3527349fe /plugins/android-documentation/src/main
parent201a9785a04d631fae65a3af3b495962e4f16d14 (diff)
downloaddokka-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')
-rw-r--r--plugins/android-documentation/src/main/kotlin/AndroidDocumentationPlugin.kt13
-rw-r--r--plugins/android-documentation/src/main/kotlin/transformers/HideTagDocumentableFilter.kt13
-rw-r--r--plugins/android-documentation/src/main/resources/META-INF/services/org.jetbrains.dokka.plugability.DokkaPlugin1
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