Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research list of "common" third-party libraries bundled with IDE clashing with those provided by plugin (transitively) #1824

Open
YannCebron opened this issue Nov 11, 2024 · 1 comment

Comments

@YannCebron
Copy link
Member

Describe the need of your request

Prevent "weird" behaviour at runtime or even runtime errors/failures (e.g. #1740).
We already have a check for kotlinx-coroutines which seems to be one of the most popular affected libraries.

Proposed solution

Expand the existing solution for kotlinx-coroutines to validate against a (configurable?) set of known dependencies which will cause issues.

Candidates: SLF4J, ???

Alternatives you've considered

No response

Additional context

No response

@hsz
Copy link
Member

hsz commented Nov 18, 2024

List of libraries to be excluded automatically:

  • org.slf4j
  • ch.qos.logback
  • org.apache.logging.log4j
  • Kotlinx Coroutines (org.jetbrains.kotlinx, com.intellij.platform)
    • see:
      private val explicitExclusions = setOf(
      Coordinates("junit", "junit"),
      Coordinates("org.jetbrains", "jetCheck"),
      Coordinates("org.hamcrest", "hamcrest-core"),
      Coordinates("org.jetbrains.teamcity", "serviceMessages"),
      // Kotlin
      Coordinates("org.jetbrains.kotlin", "kotlin-stdlib"),
      Coordinates("org.jetbrains.kotlin", "kotlin-stdlib-jdk8"),
      // KotlinX Coroutines
      Coordinates("org.jetbrains.kotlinx", "kotlinx-coroutines-core-jvm"),
      Coordinates("org.jetbrains.kotlinx", "kotlinx-coroutines-jdk8"),
      Coordinates("org.jetbrains.kotlinx", "kotlinx-coroutines-core"),
      Coordinates("org.jetbrains.kotlinx", "kotlinx-coroutines-debug"),
      Coordinates("org.jetbrains.kotlinx", "kotlinx-coroutines-guava"),
      Coordinates("org.jetbrains.kotlinx", "kotlinx-coroutines-slf4j"),
      Coordinates("org.jetbrains.kotlinx", "kotlinx-coroutines-test"),
      // KotlinX Coroutines repacked in IntelliJ Platform
      Coordinates("com.intellij.platform", "kotlinx-coroutines-core-jvm"),
      Coordinates("com.intellij.platform", "kotlinx-coroutines-jdk8"),
      Coordinates("com.intellij.platform", "kotlinx-coroutines-core"),
      Coordinates("com.intellij.platform", "kotlinx-coroutines-debug"),
      Coordinates("com.intellij.platform", "kotlinx-coroutines-guava"),
      Coordinates("com.intellij.platform", "kotlinx-coroutines-slf4j"),
      Coordinates("com.intellij.platform", "kotlinx-coroutines-test"),
      )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants