aboutsummaryrefslogtreecommitdiff
path: root/dokka-subprojects/analysis-kotlin-symbols/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'dokka-subprojects/analysis-kotlin-symbols/build.gradle.kts')
-rw-r--r--dokka-subprojects/analysis-kotlin-symbols/build.gradle.kts91
1 files changed, 91 insertions, 0 deletions
diff --git a/dokka-subprojects/analysis-kotlin-symbols/build.gradle.kts b/dokka-subprojects/analysis-kotlin-symbols/build.gradle.kts
new file mode 100644
index 00000000..4aae4628
--- /dev/null
+++ b/dokka-subprojects/analysis-kotlin-symbols/build.gradle.kts
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
+ */
+
+import dokkabuild.overridePublicationArtifactId
+
+plugins {
+ id("dokkabuild.kotlin-jvm")
+ id("dokkabuild.publish-shadow")
+}
+
+overridePublicationArtifactId("analysis-kotlin-symbols")
+
+dependencies {
+ compileOnly(projects.dokkaSubprojects.dokkaCore)
+ compileOnly(projects.dokkaSubprojects.analysisKotlinApi)
+
+ implementation(projects.dokkaSubprojects.analysisMarkdownJb)
+ implementation(projects.dokkaSubprojects.analysisJavaPsi)
+
+
+ // ----------- IDE dependencies ----------------------------------------------------------------------------
+
+ listOf(
+ libs.intellij.platform.util.rt,
+ libs.intellij.platform.util.api,
+ libs.intellij.java.psi.api,
+ libs.intellij.java.psi.impl
+ ).forEach {
+ runtimeOnly(it) { isTransitive = false }
+ }
+
+ implementation(libs.intellij.java.psi.api) { isTransitive = false }
+
+
+ // TODO move to toml
+ listOf(
+ "com.jetbrains.intellij.platform:util-class-loader",
+ "com.jetbrains.intellij.platform:util-text-matching",
+ "com.jetbrains.intellij.platform:util-base",
+ "com.jetbrains.intellij.platform:util-xml-dom",
+ "com.jetbrains.intellij.platform:core-impl",
+ "com.jetbrains.intellij.platform:extensions",
+ ).forEach {
+ runtimeOnly("$it:213.7172.25") { isTransitive = false }
+ }
+
+ implementation("com.jetbrains.intellij.platform:core:213.7172.25") {
+ isTransitive = false
+ } // for Standalone prototype
+
+ // ----------- Analysis dependencies ----------------------------------------------------------------------------
+
+ listOf(
+ libs.kotlin.high.level.api.api,
+ libs.kotlin.analysis.api.standalone,
+ ).forEach {
+ implementation(it) {
+ isTransitive = false // see KTIJ-19820
+ }
+ }
+ listOf(
+ libs.kotlin.high.level.api.impl,
+ libs.kotlin.high.level.api.fir,
+ libs.kotlin.high.level.api.fe10,
+ libs.kotlin.low.level.api.fir,
+ libs.kotlin.analysis.project.structure,
+ libs.kotlin.analysis.api.providers,
+ libs.kotlin.symbol.light.classes,
+ ).forEach {
+ runtimeOnly(it) {
+ isTransitive = false // see KTIJ-19820
+ }
+ }
+ // copy-pasted from Analysis API https://github.com/JetBrains/kotlin/blob/a10042f9099e20a656dec3ecf1665eea340a3633/analysis/low-level-api-fir/build.gradle.kts#L37
+ runtimeOnly("com.github.ben-manes.caffeine:caffeine:2.9.3")
+
+ runtimeOnly(libs.kotlinx.collections.immutable)
+ implementation(libs.kotlin.compiler.k2) {
+ isTransitive = false
+ }
+
+ // TODO [beresnev] get rid of it
+ compileOnly(libs.kotlinx.coroutines.core)
+}
+
+tasks.shadowJar {
+ // service files are merged to make sure all Dokka plugins
+ // from the dependencies are loaded, and not just a single one.
+ mergeServiceFiles()
+}