IDEA Plugin Dev - Dependency
Table of Contents
About
dependency Management on classes from other plugins, either bundled, third-party or your own.
See also: IDEA Plugin Dev - Order Entry (SDK, Library, Module dependencies)
Articles Related
Steps
- Add the jars of the plugin you’re depending on to the classpath of your IntelliJ Platform SDK.
Do not add the plugin jars as a library: this will fail at runtime because IntelliJ Platform will load two separate copies of the dependency plugin classes.
- Add a <depends> tag to your plugin.xml, adding the ID of the plugin you’re depending on as the contents of the tag. For example: <depends>org.jetbrains.idea.maven</depends>
Module Dependency
module dependency. A module dependency is a <depends> tag where the contents of the tag starts with com.intellij.modules
Modules available in all products based on IntelliJ Platform:
- com.intellij.modules.platform
- com.intellij.modules.lang
- com.intellij.modules.vcs
- com.intellij.modules.xml
- com.intellij.modules.xdebugger
Modules available only in specific products:
Module | Product |
---|---|
com.intellij.modules.java | IntelliJ IDEA |
com.intellij.modules.ultimate | IntelliJ IDEA Ultimate Edition |
com.intellij.modules.androidstudio | Android Studio |
com.intellij.modules.appcode | AppCode |
com.intellij.modules.cidr.lang | AppCode, CLion |
com.intellij.modules.cidr.debugger | AppCode, CLion, RubyMotion |
com.intellij.modules.clion | CLion |
com.intellij.modules.database | IntelliJ IDEA Ultimate Edition, PhpStorm, RubyMine, PyCharm, DataGrip |
com.intellij.modules.python | PyCharm |
com.intellij.modules.ruby | RubyMine |