aboutsummaryrefslogtreecommitdiff
path: root/runners/gradle-plugin/MIGRATION.md
diff options
context:
space:
mode:
authorsebastian.sellmair <sebastian.sellmair@jetbrains.com>2020-08-24 15:52:48 +0200
committerPaweł Marks <Kordyjan@users.noreply.github.com>2020-08-25 16:20:30 +0200
commit3724b1bbaf488de7b0b27214c99e570ca7f570e0 (patch)
tree049e3e2f1ee62aa9942e03c4d08d0b4b5a0f6f62 /runners/gradle-plugin/MIGRATION.md
parentcd3f48ec64e60221bd63720fa24cff8fd7afe6c7 (diff)
downloaddokka-3724b1bbaf488de7b0b27214c99e570ca7f570e0.tar.gz
dokka-3724b1bbaf488de7b0b27214c99e570ca7f570e0.tar.bz2
dokka-3724b1bbaf488de7b0b27214c99e570ca7f570e0.zip
Add first version of MIGRATION.md to help users migrating to new dokka
Diffstat (limited to 'runners/gradle-plugin/MIGRATION.md')
-rw-r--r--runners/gradle-plugin/MIGRATION.md165
1 files changed, 165 insertions, 0 deletions
diff --git a/runners/gradle-plugin/MIGRATION.md b/runners/gradle-plugin/MIGRATION.md
new file mode 100644
index 00000000..555ce66e
--- /dev/null
+++ b/runners/gradle-plugin/MIGRATION.md
@@ -0,0 +1,165 @@
+### Configuring a dokka task
+Dokka 1.4.x will create dedicated tasks for each format.
+You can expect the following formats being registered and configured by default:
+- `dokkaHtml`
+- `dokkaJavadoc`
+- `dokkaGfm`
+- `dokkaJekyll`
+
+Therefore, you need to either select specifically which task you want to configure or configure all with Type `DokkaTask`
+
+```kotlin
+/* 0.10.x */
+tasks.dokka.configure { /*...*/ }
+
+/* 1.4.x */
+// configure all formats
+tasks.withType<DokkaTask>().configureEach { /*...*/ }
+
+// configure only html format e.g.
+tasks.dokkaHtml.configure { /*...*/ }
+```
+
+#### properties
+```kotlin
+/* 0.10.x */ outputFormat = "html"
+/* 1.4.x No equivalent.
+ Formats are only configured by plugins.
+ See `dokkaHtml`, `dokkaJavadoc`,... tasks */
+
+/* 0.10.x */ outputDirectory = "$buildDir/javadoc"
+/* 1.4.x */ outputDirectory.set(buildDir.resolve("javadoc"))
+
+
+/* 0.10.x */ subProjects = ["subproject1", "subproject2"]
+/* 1.4.x No equivalent.
+ See `DokkaCollectorTask` and `DokkaMultiModuleTask` */
+
+
+/* 0.10.x */ disableAutoconfiguration = false
+/* 1.4.x No equivalent.
+ Source sets are synced with Kotlin Model by default.
+ All settings can still be overridden */
+
+/* 0.10.x */ cacheRoot = "default"
+/* 1.4.x */ cacheRoot.set(file("default"))
+
+```
+
+### Configure a source set
+```kotlin
+/* 0.10.x */
+tasks.dokka.configure {
+ configuration {
+ // ...
+ }
+}
+
+/* 1.4.x */
+tasks.dokkaHtml.configure {
+ dokkaSourceSets {
+ named("main") { /* configure main source set */ }
+ configureEach { /* configure all source sets */ }
+ register("custom") { /* register custom source set */ }
+ }
+}
+```
+
+#### Properties
+```kotlin
+/* 0.10.x */ moduleName = "myModule"
+/* 1.4.x */ moduleDisplayName.set("myModule")
+
+/* 0.10.x */ includeNonPublic = false
+/* 1.4.x */ includeNonPublic.set(false)
+
+/* 0.10.x */ skipDeprecated = false
+/* 1.4.x */ skipDeprecated.set(false)
+
+/* 0.10.x */ reportUndocumented = true
+/* 1.4.x */ reportUndocumented.set(true)
+
+/* 0.10.x */ skipEmptyPackages = true
+/* 1.4.x */ skipEmptyPackages.set(true)
+
+/* 0.10.x */ targets = ["JVM"]
+/* 1.4.x */ /* No equivalent */
+ /* Use platform and displayName instead */
+
+/* 0.10.x */ platform = "JVM"
+/* 1.4.x */ platform.set(org.jetbrains.dokka.Platform.jvm)
+/* 1.4.x */ platform.set(Platform.jvm) // with import
+
+/* 0.10.x */ classpath = [new File("$buildDir/other.jar")]
+/* 1.4.x */ classpath.setFrom(buildDir.resolve("other.jar")) // setting classpath
+/* 1.4.x */ classpath.from(buildDir.resolve("other.jar")) // adding to existing classpath
+
+/* 0.10.x */ sourceRoots = [files("src/main/kotlin")]
+/* 1.4.x */ sourceRoots.setFrom(file("src/main/kotlin")) // setting all source roots
+/* 1.4.x */ sourceRoots.from(file("src/main/kotlin")) // adding to existing source roots
+
+/* 0.10.x */ includes = ["packages.md", "extra.md"]
+/* 1.4.x */ includes.setFrom(files("packages.md", "extra.md")) // setting all includes
+/* 1.4.x */ includes.from(files("packages.md", "extra.md")) // adding to existing includes
+
+/* 0.10.x */ samples = ["samples/basic.kt", "samples/advanced.kt"]
+/* 1.4.x */ samples.setFrom(files("samples/basic.kt", "samples/advanced.kt"))
+/* 1.4.x */ samples.from(files("samples/basic.kt", "samples/advanced.kt"))
+
+/* 0.10.x */ kotlinTasks { /* ... */ }
+/* 1.4.x */ /* No *direct* equivalent */
+ /* Source sets synced with Kotlin Gradle Plugin will be configured properly */
+ /* Custom source sets can use extension `kotlinSourceSet(...)` */
+
+/* 0.10.x */ jdkVersion = 6
+/* 1.4.x */ jdkVersion.set(6)
+
+/* 0.10.x */ noStdlibLink = false
+/* 1.4.x */ noStdlibLink.set(false)
+
+/* 0.10.x */ noJdkLink = false
+/* 1.4.x */ noJdkLink.set(false)
+
+sourceLink {
+ /* 0.10.x */ path = "src/main/kotlin"
+ /* 1.4.x */ localDirectory.set(file("src/main/kotlin"))
+
+ /* 0.10.x */ url = "https://github.com/myproject/blob/master/src/main/kotlin"
+ /* 1.4.x */ remoteUrl.set(java.net.URL("https://github.com/myproject/blob/master/src/main/kotlin"))
+ /* 1.4.x */ remoteUrl.set(uri("https://github.com/myproject/blob/master/src/main/kotlin").toURL())
+
+ /* 0.10.x */ lineSuffix = "#L"
+ /* 1.4.x */ remoteLineSuffix.set("#L")
+}
+
+
+externalDocumentationLink {
+ /* 0.10.x */ url = URL("https://example.com/docs/")
+ /* 1.4.x */ url.set(URL("https://example.com/docs/"))
+
+ /* 0.10.x */ packageListUrl = URL("file:///home/user/localdocs/package-list")
+ /* 1.4.x */ packageListUrl.set(URL("file:///home/user/localdocs/package-list"))
+}
+
+// Allows to customize documentation generation options on a per-package basis
+// Repeat for multiple packageOptions
+perPackageOption {
+ /* 0.10.x */ prefix = "kotlin"
+ /* 1.4.x */ prefix.set("kotlin")
+
+ /* 0.10.x */ skipDeprecated = false
+ /* 1.4.x */ skipDeprecated.set(false)
+
+ /* 0.10.x */ reportUndocumented = true
+ /* 1.4.x */ reportUndocumented.set(true)
+
+ /* 0.10.x */ includeNonPublic = false
+ /* 1.4.x */ includeNonPublic.set(false)
+
+ /* 0.10.x */ suppress = true
+ /* 1.4.x */ suppress.set(true)
+
+}
+```
+
+For more information or help, feel free to ask questions in the [official Kotlin Slack Channel](https://kotlinlang.slack.com/)