From fa871ac4602474164374009f56fbc8c3a533b504 Mon Sep 17 00:00:00 2001 From: ingo Date: Wed, 6 Jan 2016 16:25:34 +0100 Subject: gradle plugin: The "includes" and "samples" properties now accept relative file names and the list-typed properties are now more robust. --- README.md | 19 ++++++++++++++++++- dokka-gradle-plugin/src/main/kotlin/main.kt | 12 ++++++------ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index ed2f8975..f955a386 100644 --- a/README.md +++ b/README.md @@ -132,10 +132,17 @@ buildscript { apply plugin: 'org.jetbrains.dokka' ``` -To configure plugin use dokka lambda in the root scope. For example: +The plugin adds a task named "dokka" to the project. The available configuration +options are shown below: ```groovy dokka { + moduleName = 'data' + outputFormat = 'javadoc' + outputDirectory = "$buildDir/javadoc" + processConfigurations = ['compile', 'extra'] + includes = ['packages.md', 'extra.md'] + samples = ['samples/basic.kt', 'samples/advanced.kt'] linkMapping { dir = "src/main/kotlin" url = "https://github.com/cy6erGn0m/vertx3-lang-kotlin/blob/master/src/main/kotlin" @@ -150,6 +157,16 @@ To get it generated use gradle `dokka` task ./gradlew dokka ``` +More dokka tasks can be added to a project like this: + +```groovy +task dokkaJavadoc(type: org.jetbrains.dokka.gradle.DokkaTask) { + outputFormat = 'javadoc' + outputDirectory = "$buildDir/javadoc" +} +``` + + Please see the [Dokka Gradle example project](https://github.com/JetBrains/kotlin-examples/tree/master/gradle/dokka-gradle-example) for an example. ## Dokka Internals diff --git a/dokka-gradle-plugin/src/main/kotlin/main.kt b/dokka-gradle-plugin/src/main/kotlin/main.kt index 28600a6b..c214a08e 100644 --- a/dokka-gradle-plugin/src/main/kotlin/main.kt +++ b/dokka-gradle-plugin/src/main/kotlin/main.kt @@ -34,13 +34,13 @@ public open class DokkaTask : DefaultTask() { var outputFormat: String = "html" var outputDirectory: String = "" @Input - var processConfigurations: ArrayList = arrayListOf("compile") + var processConfigurations: List = arrayListOf("compile") @Input - var includes: ArrayList = arrayListOf() + var includes: List = arrayListOf() @Input var linkMappings: ArrayList = arrayListOf() @Input - var samples: ArrayList = arrayListOf() + var samples: List = arrayListOf() fun linkMapping(closure: Closure) { val mapping = LinkMapping() @@ -65,7 +65,7 @@ public open class DokkaTask : DefaultTask() { val classpath = processConfigurations - .map { allConfigurations?.getByName(it) ?: throw IllegalArgumentException("No configuration $it found") } + .map { allConfigurations?.getByName(it.toString()) ?: throw IllegalArgumentException("No configuration $it found") } .flatMap { it } if (sourceDirectories.isEmpty()) { @@ -77,8 +77,8 @@ public open class DokkaTask : DefaultTask() { DokkaGradleLogger(logger), classpath.map { it.absolutePath }, sourceDirectories.map { it.absolutePath }, - samples, - includes, + samples.filterNotNull().map { project.file(it).absolutePath }, + includes.filterNotNull().map { project.file(it).absolutePath }, moduleName, outputDirectory, outputFormat, -- cgit