From ee425e0b1e39245f5e1106bbb0888e557e6fbfcd Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Tue, 9 Jun 2020 13:40:03 +0200 Subject: Implement "failOnWarning" option --- runners/cli/src/main/kotlin/cli/main.kt | 4 ++++ .../src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt | 4 ++++ .../org/jetbrains/dokka/gradle/configurationImplementations.kt | 1 + runners/maven-plugin/src/main/kotlin/DokkaMojo.kt | 6 +++++- 4 files changed, 14 insertions(+), 1 deletion(-) (limited to 'runners') diff --git a/runners/cli/src/main/kotlin/cli/main.kt b/runners/cli/src/main/kotlin/cli/main.kt index d217f83e..2ef08c2e 100644 --- a/runners/cli/src/main/kotlin/cli/main.kt +++ b/runners/cli/src/main/kotlin/cli/main.kt @@ -46,6 +46,10 @@ open class GlobalArguments(parser: DokkaArgumentsParser) : DokkaConfiguration { "Offline mode (do not download package lists from the Internet)" ) + override val failOnWarning: Boolean by parser.singleFlag( + listOf("-failOnWarning"), "Fail dokka task if at least one warning was reported" + ) + override val passesConfigurations: List by parser.repeatableFlag( listOf("-pass"), "Single dokka pass" diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt index cad5e34f..2f821209 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt @@ -85,6 +85,9 @@ open class DokkaTask : DefaultTask(), Configurable { @Input var disableAutoconfiguration: Boolean = false + @Input + var failOnWarning: Boolean = false + @Input var offlineMode: Boolean = false @@ -199,6 +202,7 @@ open class DokkaTask : DefaultTask(), Configurable { passesConfigurations = defaultModulesConfiguration pluginsClasspath = pluginsClasspathConfiguration.resolve().toList() pluginsConfiguration = this@DokkaTask.pluginsConfiguration + failOnWarning = this@DokkaTask.failOnWarning } } diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt index 2787bb4e..3e08d27d 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt @@ -131,6 +131,7 @@ class GradleDokkaConfigurationImpl: DokkaConfiguration { override var pluginsClasspath: List = emptyList() override var pluginsConfiguration: Map = mutableMapOf() override var modules: List = emptyList() + override var failOnWarning: Boolean = false } class GradlePackageOptionsImpl: PackageOptions, Serializable { diff --git a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt index 71fe5b40..5a739d5e 100644 --- a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt +++ b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt @@ -167,6 +167,9 @@ abstract class AbstractDokkaMojo : AbstractMojo() { @Parameter var includeNonPublic: Boolean = false + @Parameter + var failOnWarning: Boolean = false + @Parameter var dokkaPlugins: List = emptyList() @@ -250,7 +253,8 @@ abstract class AbstractDokkaMojo : AbstractMojo() { pluginsClasspath = getArtifactByAether("org.jetbrains.dokka", "dokka-base", dokkaVersion) + dokkaPlugins.map { getArtifactByAether(it.groupId, it.artifactId, it.version) }.flatten(), pluginsConfiguration = mutableMapOf(), //TODO implement as it is in Gradle - modules = emptyList() + modules = emptyList(), + failOnWarning = failOnWarning ) val gen = DokkaGenerator(configuration, logger) -- cgit