From 1f73de1df8cce09ac4e760db34759ca70ee12b6d Mon Sep 17 00:00:00 2001 From: Paweł Marks Date: Wed, 1 Jul 2020 19:27:38 +0200 Subject: Add suppression capabilities for plugins --- core/src/main/kotlin/plugability/DokkaContext.kt | 6 ++++++ core/src/main/kotlin/plugability/DokkaPlugin.kt | 4 ++++ 2 files changed, 10 insertions(+) (limited to 'core/src') 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> +} + interface Configurable { val pluginsConfiguration: Map } -- cgit