verifying_plugin_compatibility.md: cleanup

This commit is contained in:
Yann Cébron 2025-04-24 15:21:11 +02:00
parent 83430ed899
commit 866af0d988

View File

@ -26,9 +26,11 @@ See also [](build_number_ranges.md#multipleIDEVersions).
</tldr>
Plugin Verifier checks the binary compatibility between IntelliJ-based IDE builds and IntelliJ Platform plugins.
### Using with Gradle
Integration in [Gradle build](creating_plugin_project.md) is available out-of-the box via dedicated Gradle tasks.
Integration in [Gradle build](creating_plugin_project.md) is available out-of-the box via a dedicated Gradle task.
<tabs>
<tab title="IntelliJ Platform Gradle Plugin (2.x)">
@ -44,11 +46,12 @@ Use [`runPluginVerifier`](tools_gradle_intellij_plugin.md#tasks-runpluginverifie
</tabs>
Integration with Continuous Integration (CI) environments is as simple as running the corresponding Gradle task as another quality check step.
See the IntelliJ Platform Plugin Template [GitHub workflow configuration file](https://github.com/JetBrains/intellij-platform-plugin-template/blob/main/.github/workflows/build.yml) as reference.
See the IntelliJ Platform Plugin Template [GitHub workflow configuration file](https://github.com/JetBrains/intellij-platform-plugin-template/blob/main/.github/workflows/build.yml) as a reference.
#### Navigation in the IDE
<primary-label ref="2023.3"/>
Reported places are highlighted and linked to the plugin's source code in the <control>Gradle</control> tool window output (2023.3+).
Reported places are highlighted and linked to the plugin's source code in the <control>Gradle</control> tool window output.
### JetBrains Marketplace
@ -69,19 +72,20 @@ Use highlighting available via dedicated [IDE inspections](https://www.jetbrains
- `@ApiStatus.Experimental` is considered unstable and may break or be removed.
- `@ApiStatus.Internal` must not be used by plugins, see [](api_internal.md) for more details and replacements.
- `@ApiStatus.ScheduledForRemoval` denotes API that will be removed in a future version.
- `@ApiStatus.ScheduledForRemoval` denotes an API that will be removed in a future version.
Inspection: <control>JVM languages | Unstable API Usage</control> and <control>JVM languages | Unstable type is used in signature</control>
### Obsolete API
<primary-label ref="2023.1"/>
API annotated with `@ApiStatus.Obsolete` has been replaced with a better alternative and must not be used for new code.
Inspection: <control>Plugin DevKit | Code | Usages of ApiStatus.@Obsolete</control> (2023.1)
Inspection: <control>Plugin DevKit | Code | Usages of ApiStatus.@Obsolete</control>
### Non-Extendable API
API annotated with `@ApiStatus.NonExtendable` must not be extended, implemented or overridden.
API annotated with `@ApiStatus.NonExtendable` must not be extended, implemented, or overridden.
Inspection: <control>JVM languages | Class, interface, or method should not be extended</control>
@ -102,6 +106,6 @@ Inspection: <control>Plugin DevKit | Plugin descriptor | Plugin.xml validity</co
A plugin might specify a [compatibility range](build_number_ranges.md) including releases where some API is not available.
Under the hood, it uses an artifact containing generated data via `@ApiStatus.AvailableSince`, which is automatically attached to the project.
> If values are not specified directly in [<path>plugin.xml</path>](plugin_configuration_file.md) (e.g., when providing values via `patchPluginXml` Gradle task (Reference: [2.x](tools_intellij_platform_gradle_plugin_tasks.md#patchPluginXml), [1.x](tools_gradle_intellij_plugin.md#tasks-patchpluginxml))), they must be set explicitly in the inspection's settings.
Inspection: <control>Plugin DevKit | Code | Usage of IntelliJ API not available in older IDEs</control>
> If values are not specified directly in [<path>plugin.xml</path>](plugin_configuration_file.md) (e.g., when providing values via `patchPluginXml` Gradle task (Reference: [2.x](tools_intellij_platform_gradle_plugin_tasks.md#patchPluginXml), [1.x](tools_gradle_intellij_plugin.md#tasks-patchpluginxml))), they must be set explicitly in the inspection's settings.