diff options
Diffstat (limited to 'dokka-subprojects/analysis-kotlin-symbols/README.md')
-rw-r--r-- | dokka-subprojects/analysis-kotlin-symbols/README.md | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/dokka-subprojects/analysis-kotlin-symbols/README.md b/dokka-subprojects/analysis-kotlin-symbols/README.md new file mode 100644 index 00000000..7c84ffc5 --- /dev/null +++ b/dokka-subprojects/analysis-kotlin-symbols/README.md @@ -0,0 +1,18 @@ +# Analysis: Kotlin symbols + +An internal symbols-based implementation for [analysis-kotlin-api](../analysis-kotlin-api). This implementation is +also known as K2 or "the new compiler". + +Contains no stable public API and must not be used by anyone directly, only via [analysis-kotlin-api](../analysis-kotlin-api). + +Can be added as a runtime dependency by the runner. + +## Shadowing + +The `.jar` produced by this project shadows all dependencies. There are several reasons for it: + +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. |