Sustainability of dependencies #3127
Labels
enhancement
An issue for a feature or an overall improvement
epic
A large body of work that is broken down into smaller issues
tech-debt
A technical issue that is not observable by the users, but improves maintainers quality of life
Background
Dokka has a number of dependencies used for analyzing projects. Half of these dependencies must be updated every Kotlin release (like the Kotlin compiler and KGP). Unfortunately, not all of these dependencies (or their API) are stable or even meant to be used externally.
This past year, almost every single release, Dokka's maintainers had to spend a lot of time on resolving compatibility issues and transitive bugs that arise due to the updates. This leads to maintainers being frustrated and having to waste their time on fighting the dependencies rather than improving the product. And it leads to Dokka's users being frustrated because their projects also (as a consequence) start experiencing issues or get simply broken (#2977, #3081, #3038).
Goals
The main goal of this epic is to get Dokka's dependencies under control, to stabilize them as much as possible (or migrate to the stable API), and to identify upstream problems as soon as they are introduced, not months later.
More specifically,
Dependencies
Evaluation of Dokka's hard dependencies:
org.jetbrains.kotlin:kotlin-compiler
artifact.Dokka depends heavily on(not anymore, addressed in Get rid of the dependency on Kotlin IDE plugins #2889)org.jetbrains.kotlin:idea
and related artifactscom.jetbrains.intellij
package.kotlin-compiler
also updates it, as parts of it are used and bundled in the compiler, and our versions need to match. Happens rarely.org.jetbrains:markdown
artifact.JPS(removed as part of Get rid of the dependency on Kotlin IDE plugins #2889)An internal build tool for IntelliJ IDEsCompletely unrelated, not used and not needed by DokkaCame as a transitive dependency with IDE artifactsSubtasks
The text was updated successfully, but these errors were encountered: