Skip to content

Commit

Permalink
Make dokka-analysis dependency compileOnly in base plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
vmishenev committed Jun 6, 2022
1 parent 73f78dc commit b210387
Show file tree
Hide file tree
Showing 9 changed files with 13 additions and 5 deletions.
1 change: 1 addition & 0 deletions integration-tests/cli/build.gradle.kts
Expand Up @@ -23,6 +23,7 @@ val basePluginShadow: Configuration by configurations.creating {

dependencies {
basePluginShadow(project(":plugins:base"))
basePluginShadow(project(":kotlin-analysis")) // compileOnly in base plugin
}
val basePluginShadowJar by tasks.register("basePluginShadowJar", ShadowJar::class) {
configurations = listOf(basePluginShadow)
Expand Down
4 changes: 1 addition & 3 deletions integration-tests/gradle/projects/it-basic/build.gradle.kts
Expand Up @@ -12,9 +12,7 @@ plugins {

buildscript {
dependencies {
classpath("org.jetbrains.dokka:dokka-base:${System.getenv("DOKKA_VERSION")}") {
exclude(group = "org.jetbrains.dokka", module = "dokka-analysis") // Gradle has embeddable Kotlin compiler
}
classpath("org.jetbrains.dokka:dokka-base:${System.getenv("DOKKA_VERSION")}")
}
}

Expand Down
1 change: 1 addition & 0 deletions plugins/all-modules-page/build.gradle.kts
Expand Up @@ -5,6 +5,7 @@ registerDokkaArtifactPublication("dokkaAllModulesPage") {
}

dependencies {
compileOnly(project(":kotlin-analysis"))
implementation(project(":plugins:base"))
implementation(project(":plugins:templating"))
testImplementation(project(":plugins:base"))
Expand Down
4 changes: 3 additions & 1 deletion plugins/base/build.gradle.kts
Expand Up @@ -5,7 +5,7 @@ dependencies {
val coroutines_version: String by project
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version")

api(project(":kotlin-analysis"))
compileOnly(project(":kotlin-analysis"))
val jsoup_version: String by project
implementation("org.jsoup:jsoup:$jsoup_version")

Expand All @@ -20,6 +20,8 @@ dependencies {

val kotlinx_html_version: String by project
implementation("org.jetbrains.kotlinx:kotlinx-html-jvm:$kotlinx_html_version")

testCompileOnly(project(":kotlin-analysis"))
}

val projectDistDir = project(":plugins:base:frontend").file("dist")
Expand Down
1 change: 1 addition & 0 deletions plugins/javadoc/build.gradle.kts
@@ -1,6 +1,7 @@
import org.jetbrains.registerDokkaArtifactPublication

dependencies {
compileOnly(project(":kotlin-analysis"))
implementation("com.soywiz.korlibs.korte:korte-jvm:2.7.0")
implementation(project(":plugins:base"))
implementation(project(":plugins:kotlin-as-java"))
Expand Down
2 changes: 2 additions & 0 deletions plugins/kotlin-as-java/build.gradle.kts
@@ -1,12 +1,14 @@
import org.jetbrains.registerDokkaArtifactPublication

dependencies {
compileOnly(project(":kotlin-analysis"))
implementation(project(":plugins:base"))
testImplementation(project(":plugins:base"))
testImplementation(project(":plugins:base:base-test-utils"))
testImplementation(project(":core:content-matcher-test-utils"))
val jsoup_version: String by project
testImplementation("org.jsoup:jsoup:$jsoup_version")
testCompileOnly(project(":kotlin-analysis"))
}

registerDokkaArtifactPublication("kotlinAsJavaPlugin") {
Expand Down
Expand Up @@ -10,6 +10,7 @@ internal class DokkaArtifacts(private val project: Project) {
private fun fromModuleName(name: String): Dependency =
project.dependencies.create("org.jetbrains.dokka:$name:${DokkaVersion.version}")

val dokkaAnalysis get() = fromModuleName("dokka-analysis")
val allModulesPage get() = fromModuleName("all-modules-page-plugin")
val dokkaCore get() = fromModuleName("dokka-core")
val dokkaBase get() = fromModuleName("dokka-base")
Expand Down
Expand Up @@ -24,6 +24,7 @@ internal fun Project.maybeCreateDokkaPluginConfiguration(dokkaTaskName: String,
extendsFrom(maybeCreateDokkaDefaultPluginConfiguration())
attributes.attribute(Usage.USAGE_ATTRIBUTE, project.objects.named(Usage::class.java, "java-runtime"))
isCanBeConsumed = false
dependencies.add(project.dokkaArtifacts.dokkaAnalysis) // compileOnly in base plugin
dependencies.add(project.dokkaArtifacts.dokkaBase)
dependencies.addAll(additionalDependencies)
}
Expand Down
3 changes: 2 additions & 1 deletion runners/maven-plugin/src/main/kotlin/DokkaMojo.kt
Expand Up @@ -257,7 +257,8 @@ abstract class AbstractDokkaMojo(private val defaultDokkaPlugins: List<Dependenc
offlineMode = offlineMode,
cacheRoot = cacheRoot?.let(::File),
sourceSets = listOf(sourceSet),
pluginsClasspath = getArtifactByMaven("org.jetbrains.dokka", "dokka-base", dokkaVersion) +
pluginsClasspath = getArtifactByMaven("org.jetbrains.dokka", "dokka-analysis", dokkaVersion) + // compileOnly in base plugin
getArtifactByMaven("org.jetbrains.dokka", "dokka-base", dokkaVersion) +
dokkaPlugins.map { getArtifactByMaven(it.groupId, it.artifactId, it.version ?: dokkaVersion) }
.flatten(),
pluginsConfiguration = pluginsConfiguration.toMutableList(),
Expand Down

0 comments on commit b210387

Please sign in to comment.