extract plugin_compatibility.md topic

This commit is contained in:
Yann Cébron 2022-07-14 15:24:04 +02:00
parent 912e648bdc
commit 014bfae8d9
3 changed files with 27 additions and 23 deletions

View File

@ -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.*"/>

View File

@ -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

View 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.