From 34e4d760d4928a9d97179652764b8d74f99436d3 Mon Sep 17 00:00:00 2001 From: Kamil Doległo Date: Wed, 10 Apr 2019 16:55:17 +0200 Subject: Add extension for configuring dokka with one block less when not using multiplatform --- .../src/main/kotlin/configurationImplementations.kt | 2 +- runners/gradle-plugin/src/main/kotlin/dokkaTask.kt | 11 +++++++---- runners/gradle-plugin/src/main/kotlin/main.kt | 1 + 3 files changed, 9 insertions(+), 5 deletions(-) (limited to 'runners/gradle-plugin/src/main') diff --git a/runners/gradle-plugin/src/main/kotlin/configurationImplementations.kt b/runners/gradle-plugin/src/main/kotlin/configurationImplementations.kt index ccfa0b12..3e9db147 100644 --- a/runners/gradle-plugin/src/main/kotlin/configurationImplementations.kt +++ b/runners/gradle-plugin/src/main/kotlin/configurationImplementations.kt @@ -19,7 +19,7 @@ class GradleSourceRootImpl: DokkaConfiguration.SourceRoot, Serializable{ override fun toString(): String = path } -class GradlePassConfigurationImpl(@Transient val name: String = ""): DokkaConfiguration.PassConfiguration { +open class GradlePassConfigurationImpl(@Transient val name: String = ""): DokkaConfiguration.PassConfiguration { override var classpath: List = emptyList() override var moduleName: String = "" override var sourceRoots: MutableList = mutableListOf() diff --git a/runners/gradle-plugin/src/main/kotlin/dokkaTask.kt b/runners/gradle-plugin/src/main/kotlin/dokkaTask.kt index 9abd22ed..ed16a909 100644 --- a/runners/gradle-plugin/src/main/kotlin/dokkaTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/dokkaTask.kt @@ -199,16 +199,19 @@ open class DokkaTask : DefaultTask() { val gson = GsonBuilder().setPrettyPrinting().create() + val passConfigurationList = + ((this.extensions.getByName("passConfigurations") as Iterable) + + (this.extensions.getByName("passConfiguration") as GradlePassConfigurationImpl)) + .toList() + .map { defaultPassConfiguration(it) } + val configuration = GradleDokkaConfigurationImpl() configuration.outputDir = outputDirectory configuration.format = outputFormat configuration.generateIndexPages = true configuration.cacheRoot = cacheRoot configuration.impliedPlatforms = impliedPlatforms - configuration.passesConfigurations = - (this.extensions.getByName("passConfigurations") as Iterable) - .toList() - .map { defaultPassConfiguration(it) } + configuration.passesConfigurations = passConfigurationList bootstrapProxy.configure( BiConsumer { level, message -> diff --git a/runners/gradle-plugin/src/main/kotlin/main.kt b/runners/gradle-plugin/src/main/kotlin/main.kt index bde6458a..a5918b0b 100644 --- a/runners/gradle-plugin/src/main/kotlin/main.kt +++ b/runners/gradle-plugin/src/main/kotlin/main.kt @@ -19,6 +19,7 @@ open class DokkaPlugin : Plugin { project.tasks.withType(DokkaTask::class.java) { task -> val passConfiguration = project.container(GradlePassConfigurationImpl::class.java) task.extensions.add("passConfigurations", passConfiguration) + task.extensions.create("passConfiguration", GradlePassConfigurationImpl::class.java, "") } } } -- cgit