aboutsummaryrefslogtreecommitdiff
path: root/subprojects/analysis-kotlin-descriptors/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/analysis-kotlin-descriptors/build.gradle.kts')
-rw-r--r--subprojects/analysis-kotlin-descriptors/build.gradle.kts52
1 files changed, 0 insertions, 52 deletions
diff --git a/subprojects/analysis-kotlin-descriptors/build.gradle.kts b/subprojects/analysis-kotlin-descriptors/build.gradle.kts
deleted file mode 100644
index 9690ea6b..00000000
--- a/subprojects/analysis-kotlin-descriptors/build.gradle.kts
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
- */
-
-import org.jetbrains.DokkaPublicationBuilder
-import org.jetbrains.registerDokkaArtifactPublication
-
-plugins {
- id("org.jetbrains.conventions.kotlin-jvm")
- id("org.jetbrains.conventions.maven-publish")
- id("com.github.johnrengelman.shadow")
-}
-
-dependencies {
- // to override some interfaces (JvmAnnotationEnumFieldValue, JvmAnnotationConstantValue) from compiler since thet are empty there
- // should be `api` since we already have it in :analysis-java-psi
- api(libs.intellij.java.psi.api) {
- isTransitive = false
- }
- implementation(projects.subprojects.analysisKotlinApi)
- implementation(projects.subprojects.analysisKotlinDescriptors.compiler)
- implementation(projects.subprojects.analysisKotlinDescriptors.ide)
-}
-
-tasks {
- // There are several reasons for shadowing all dependencies in one place:
- // 1. Some of the artifacts Dokka depends on, like com.jetbrains.intellij.java:java-psi, are not
- // published to Maven Central, so the users would need to add custom repositories to their build scripts.
- // 2. There are many intertwining transitive dependencies of different versions, as well as direct copy-paste,
- // that can lead to runtime errors due to classpath conflicts, so it's best to let Gradle take care of
- // dependency resolution, and then pack everything into a single jar in a single place that can be tuned.
- // 3. The compiler and ide modules are internal details that are likely to change, so packing everything into
- // a single jar provides some stability for the CLI users, while not exposing too many internals. Publishing
- // the compiler, ide and other subprojects separately would make it difficult to refactor the project structure.
- shadowJar {
- val dokka_version: String by project
-
- // cannot be named exactly like the artifact (i.e analysis-kotlin-descriptors-VER.jar),
- // otherwise leads to obscure test failures when run via CLI, but not via IJ
- archiveFileName.set("analysis-kotlin-descriptors-all-$dokka_version.jar")
- archiveClassifier.set("")
-
- // service files are merged to make sure all Dokka plugins
- // from the dependencies are loaded, and not just a single one.
- mergeServiceFiles()
- }
-}
-
-registerDokkaArtifactPublication("analysisKotlinDescriptors") {
- artifactId = "analysis-kotlin-descriptors"
- component = DokkaPublicationBuilder.Component.Shadow
-}