![JAR search and dependency download from the Maven repository](/logo.png)
com.jetbrains.pluginverifier.usages.javaPlugin.JavaPluginApiCompatibilityIssueAnalyzer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of verifier-intellij Show documentation
Show all versions of verifier-intellij Show documentation
JetBrains Plugin Verifier Classes for IntelliJ Platform integration with API usage detection and reporting.
package com.jetbrains.pluginverifier.usages.javaPlugin
import com.jetbrains.pluginverifier.verifiers.CompatibilityIssueAnalyzer
import com.jetbrains.pluginverifier.verifiers.PluginVerificationContext
/**
* Requires explicit dependency on the Java plugin via `com.intellij.modules.java `.
*
* See [Java Functionality extracted as a plugin](https://blog.jetbrains.com/platform/2019/06/java-functionality-extracted-as-a-plugin).
*/
class JavaPluginApiCompatibilityIssueAnalyzer : CompatibilityIssueAnalyzer {
override fun analyze(context: PluginVerificationContext, usage: JavaPluginClassUsage) {
val idePlugin = context.idePlugin
if (idePlugin.dependencies.none { it.id == "com.intellij.modules.java" || it.id == "com.intellij.java" }) {
val undeclaredJavaPluginDependencyProblem = context.compatibilityProblems
.filterIsInstance()
.firstOrNull() ?: UndeclaredDependencyOnJavaPluginProblem().also {
context.compatibilityProblems += it
}
undeclaredJavaPluginDependencyProblem.javaPluginClassUsages += usage
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy