Skip to content

Commit b107171

Browse files
committed
Fix building of dokka multiproject. This also means dokka is no longer
universally applied, but still auto-configured by the project plugin.
1 parent 8fd53b4 commit b107171

File tree

7 files changed

+15
-21
lines changed

7 files changed

+15
-21
lines changed

benchmark/build.gradle.kts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import net.devrieze.gradle.ext.addNativeTargets
2-
31
/*
42
* Copyright (c) 2024.
53
*
@@ -26,7 +24,7 @@ plugins {
2624
id("projectPlugin")
2725
alias(libs.plugins.kotlinSerialization)
2826
alias(libs.plugins.allopen)
29-
alias(libs.plugins.dokka)
27+
// alias(libs.plugins.dokka)
3028
// alias(libs.plugins.jmh)
3129
signing
3230
}

build.gradle.kts

+3-10
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,11 @@
1818
* under the License.
1919
*/
2020

21-
import net.devrieze.gradle.ext.configureDokka
22-
import net.devrieze.gradle.ext.envAndroid
23-
import net.devrieze.gradle.ext.envJvm
2421
import org.gradle.plugins.ide.idea.model.IdeaLanguageLevel
2522
import org.jetbrains.dokka.gradle.DokkaMultiModuleTask
26-
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
27-
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
28-
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
2923
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
3024
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
3125
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask
32-
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin
33-
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnRootExtension
34-
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
35-
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
3626

3727
buildscript {
3828
repositories {
@@ -114,3 +104,6 @@ idea {
114104
contentRoot = projectDir
115105
}
116106
}
107+
108+
tasks.withType<DokkaMultiModuleTask>().configureEach {
109+
}

core/base/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ import org.jetbrains.kotlin.gradle.dsl.JsSourceMapEmbedMode
3030
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
3131

3232
plugins {
33+
alias(libs.plugins.dokka)
3334
id("projectPlugin")
3435
kotlin("multiplatform")
3536
alias(libs.plugins.kotlinSerialization)
3637
`maven-publish`
3738
signing
38-
alias(libs.plugins.dokka)
3939
idea
4040
alias(libs.plugins.binaryValidator)
4141
}

core/compat/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
2525
import org.jetbrains.kotlin.gradle.dsl.HasConfigurableKotlinCompilerOptions
2626

2727
plugins {
28+
alias(libs.plugins.dokka)
2829
id("projectPlugin")
2930
kotlin("multiplatform")
3031
`maven-publish`
3132
signing
32-
alias(libs.plugins.dokka)
3333
idea
3434
}
3535

project-plugins/src/main/kotlin/io/github/xmlutil/plugin/ProjectPlugin.kt

+5-2
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,13 @@ class ProjectPlugin: Plugin<Project> {
186186
}
187187

188188
}
189+
190+
is DokkaPlugin -> {
191+
project.logger.info("Automatically configuring dokka from the project plugin for ${project.name}")
192+
project.configureDokka(e.dokkaModuleName, e.dokkaVersion)
193+
}
189194
}
190195
}
191-
project.plugins.apply(DokkaPlugin::class.java)
192-
project.configureDokka(e.dokkaModuleName, e.dokkaVersion)
193196
}
194197

195198
private fun KotlinCommonCompilerOptions.configureCompilerOptions(project: Project, name: String) {

project-plugins/src/main/kotlin/net/devrieze/gradle/ext/dokka.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import org.gradle.api.Project
2424
import org.gradle.api.provider.Provider
2525
import org.gradle.kotlin.dsl.assign
2626
import org.gradle.kotlin.dsl.withType
27-
import org.jetbrains.dokka.gradle.AbstractDokkaLeafTask
27+
import org.jetbrains.dokka.gradle.DokkaTask
2828
import org.jetbrains.dokka.gradle.GradleDokkaSourceSetBuilder
2929
import java.net.URI
3030
import java.net.URL
@@ -34,7 +34,7 @@ fun Project.configureDokka(
3434
myModuleVersion: Provider<String>
3535
) {
3636
logger.info("Configuring dokka for project($name)")
37-
tasks.withType<AbstractDokkaLeafTask> {
37+
tasks.withType<DokkaTask>() {
3838
moduleName.convention(myModuleName)
3939
moduleVersion.convention(myModuleVersion)
4040

schemaTests/build.gradle.kts

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ plugins {
2424
kotlin("multiplatform")
2525
id("projectPlugin")
2626
alias(libs.plugins.kotlinSerialization)
27-
alias(libs.plugins.dokka)
28-
signing
27+
// alias(libs.plugins.dokka)
28+
// signing
2929
}
3030

3131
base {

0 commit comments

Comments
 (0)