mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
extract plugin_compatibility.md topic
This commit is contained in:
parent
912e648bdc
commit
014bfae8d9
1
ijs.tree
1
ijs.tree
@ -366,6 +366,7 @@
|
|||||||
accepts-web-file-names="api_reference.html,feature_extractor.html,plugin_details.html,custom_channels.html,plugins_list.html,maven_interface.html,plugin_upload.html,plugin_developers.html"/>
|
accepts-web-file-names="api_reference.html,feature_extractor.html,plugin_details.html,custom_channels.html,plugins_list.html,maven_interface.html,plugin_upload.html,plugin_developers.html"/>
|
||||||
</toc-element>
|
</toc-element>
|
||||||
<toc-element toc-title="Appendix II — API Changes">
|
<toc-element toc-title="Appendix II — API Changes">
|
||||||
|
<toc-element id="plugin_compatibility.md"/>
|
||||||
<toc-element id="api_changes_list.md" toc-title="Incompatible API Changes"
|
<toc-element id="api_changes_list.md" toc-title="Incompatible API Changes"
|
||||||
accepts-web-file-names="api-changes-list-2016.html,api-changes-list-2017.html,api-changes-list-2018.html">
|
accepts-web-file-names="api-changes-list-2016.html,api-changes-list-2017.html,api-changes-list-2018.html">
|
||||||
<toc-element id="api_changes_list_2022.md" toc-title="2022.*"/>
|
<toc-element id="api_changes_list_2022.md" toc-title="2022.*"/>
|
||||||
|
@ -64,29 +64,7 @@ NOTE: Entries not starting with code quotes (`name`) can be added to document no
|
|||||||
|
|
||||||
IntelliJ API may be occasionally changed between releases, leading to existing plugins' incompatibilities with newer IDE builds.
|
IntelliJ API may be occasionally changed between releases, leading to existing plugins' incompatibilities with newer IDE builds.
|
||||||
|
|
||||||
## Verifying Compatibility
|
Please see [](plugin_compatibility.md) on how to use Plugin Verifier and IDE inspections to check such problems.
|
||||||
|
|
||||||
### Plugin Verifier
|
|
||||||
Compatibility with newer IDEs can easily be verified for plugins hosted on the [JetBrains Marketplace](https://plugins.jetbrains.com) using the built-in [Plugin Verifier](https://blog.jetbrains.com/platform/2018/07/plugins-repository-now-integrates-with-the-plugin-verification-tool/).
|
|
||||||
|
|
||||||
For local verification or non-public plugins, [intellij-plugin-verifier](https://github.com/JetBrains/intellij-plugin-verifier) can be used standalone as well.
|
|
||||||
|
|
||||||
Integration in [Gradle build](gradle_build_system.md) is available using the [`runPluginVerifier`](tools_gradle_intellij_plugin.md#runpluginverifier-task) task, please see [Gradle IntelliJ Plugin - Plugin Verifier](tools_gradle_intellij_plugin.md#runpluginverifier-task) for details.
|
|
||||||
|
|
||||||
You can easily integrate it within your CI by running that task as another quality check step.
|
|
||||||
Check the IntelliJ Platform Plugin Template [GitHub workflow configuration file](https://github.com/JetBrains/intellij-platform-plugin-template/blob/main/.github/workflows/build.yml) as sample.
|
|
||||||
|
|
||||||
If your plugin is hosted on GitHub and you are _not_ using Gradle, consider using third-party GitHub Actions [IntelliJ Platform Plugin Verifier](https://github.com/marketplace/actions/intellij-platform-plugin-verifier) or [IntelliJ Plugin Verifier](https://github.com/marketplace/actions/intellij-plugin-verifier).
|
|
||||||
|
|
||||||
### IDE Support
|
|
||||||
Consider using the following [IDE inspections](https://www.jetbrains.com/help/idea/code-inspection.html) to get additional alerts about code that uses unstable API features:
|
|
||||||
|
|
||||||
- <control>JVM languages | Unstable API Usage</control>
|
|
||||||
- <control>JVM languages | Unstable type is used in signature</control>
|
|
||||||
|
|
||||||
Usage of [Extension Points](plugin_extensions.md) which are deprecated or annotated with [`org.jetbrains.annotations.ApiStatus`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java) `@Experimental`/`@Internal` is highlighted in <path>plugin.xml</path> files.
|
|
||||||
|
|
||||||
For API annotated with `ApiStatus.@Internal`, see [](api_internal.md) for more details and replacements.
|
|
||||||
|
|
||||||
## Known Breaking Changes
|
## Known Breaking Changes
|
||||||
|
|
||||||
|
25
topics/appendix/plugin_compatibility.md
Normal file
25
topics/appendix/plugin_compatibility.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
[//]: # (title: Plugin Compatibility)
|
||||||
|
|
||||||
|
## Plugin Verifier
|
||||||
|
|
||||||
|
Compatibility with newer IDEs can easily be verified for plugins hosted on the [JetBrains Marketplace](https://plugins.jetbrains.com) using the built-in [Plugin Verifier](https://blog.jetbrains.com/platform/2018/07/plugins-repository-now-integrates-with-the-plugin-verification-tool/).
|
||||||
|
|
||||||
|
For local verification or non-public plugins, [intellij-plugin-verifier](https://github.com/JetBrains/intellij-plugin-verifier) can be used standalone as well.
|
||||||
|
|
||||||
|
Integration in [Gradle build](gradle_build_system.md) is available using the [`runPluginVerifier`](tools_gradle_intellij_plugin.md#runpluginverifier-task) task, please see [Gradle IntelliJ Plugin - Plugin Verifier](tools_gradle_intellij_plugin.md#runpluginverifier-task) for details.
|
||||||
|
|
||||||
|
You can easily integrate it within your CI by running this task as another quality check step.
|
||||||
|
Check the IntelliJ Platform Plugin Template [GitHub workflow configuration file](https://github.com/JetBrains/intellij-platform-plugin-template/blob/main/.github/workflows/build.yml) as sample.
|
||||||
|
|
||||||
|
If your plugin is hosted on GitHub and you are _not_ using Gradle, consider using third-party GitHub Actions [IntelliJ Platform Plugin Verifier](https://github.com/marketplace/actions/intellij-platform-plugin-verifier) or [IntelliJ Plugin Verifier](https://github.com/marketplace/actions/intellij-plugin-verifier).
|
||||||
|
|
||||||
|
## IDE Support
|
||||||
|
|
||||||
|
Consider using the following [IDE inspections](https://www.jetbrains.com/help/idea/code-inspection.html) to get additional alerts about code that uses unstable API features:
|
||||||
|
|
||||||
|
- <control>JVM languages | Unstable API Usage</control>
|
||||||
|
- <control>JVM languages | Unstable type is used in signature</control>
|
||||||
|
|
||||||
|
Usage of [Extension Points](plugin_extensions.md) which are deprecated or annotated with [`org.jetbrains.annotations.ApiStatus`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java) `@Experimental`/`@Internal` is highlighted in <path>plugin.xml</path> files.
|
||||||
|
|
||||||
|
For API annotated with `ApiStatus.@Internal`, see [](api_internal.md) for more details and replacements.
|
Loading…
x
Reference in New Issue
Block a user