aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/kotlin/plugability/DokkaContext.kt6
-rw-r--r--core/src/main/kotlin/plugability/DokkaPlugin.kt4
2 files changed, 10 insertions, 0 deletions
diff --git a/core/src/main/kotlin/plugability/DokkaContext.kt b/core/src/main/kotlin/plugability/DokkaContext.kt
index 5c595c75..e7028ccf 100644
--- a/core/src/main/kotlin/plugability/DokkaContext.kt
+++ b/core/src/main/kotlin/plugability/DokkaContext.kt
@@ -167,6 +167,12 @@ private class DokkaContextConfigurationImpl(
plugins[plugin::class] = plugin
plugin.context = this
plugin.internalInstall(this, this.configuration)
+
+ if (plugin is WithUnsafeExtensionSuppression) {
+ plugin.extensionsSuppressed.forEach {
+ suppressedExtensions.listFor(it) += Suppression.ByPlugin(plugin)
+ }
+ }
}
override fun installExtension(extension: Extension<*, *, *>) {
diff --git a/core/src/main/kotlin/plugability/DokkaPlugin.kt b/core/src/main/kotlin/plugability/DokkaPlugin.kt
index 671cefad..2c755a49 100644
--- a/core/src/main/kotlin/plugability/DokkaPlugin.kt
+++ b/core/src/main/kotlin/plugability/DokkaPlugin.kt
@@ -44,6 +44,10 @@ abstract class DokkaPlugin {
}
}
+interface WithUnsafeExtensionSuppression {
+ val extensionsSuppressed: List<Extension<*, *, *>>
+}
+
interface Configurable {
val pluginsConfiguration: Map<String, String>
}