mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-27 16:57:49 +08:00
verifying_plugin_compatibility.md: cleanup
This commit is contained in:
parent
83430ed899
commit
866af0d988
@ -26,9 +26,11 @@ See also [](build_number_ranges.md#multipleIDEVersions).
|
|||||||
|
|
||||||
</tldr>
|
</tldr>
|
||||||
|
|
||||||
|
Plugin Verifier checks the binary compatibility between IntelliJ-based IDE builds and IntelliJ Platform plugins.
|
||||||
|
|
||||||
### Using with Gradle
|
### 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>
|
<tabs>
|
||||||
<tab title="IntelliJ Platform Gradle Plugin (2.x)">
|
<tab title="IntelliJ Platform Gradle Plugin (2.x)">
|
||||||
@ -44,11 +46,12 @@ Use [`runPluginVerifier`](tools_gradle_intellij_plugin.md#tasks-runpluginverifie
|
|||||||
</tabs>
|
</tabs>
|
||||||
|
|
||||||
Integration with Continuous Integration (CI) environments is as simple as running the corresponding Gradle task as another quality check step.
|
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
|
#### 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
|
### 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.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.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>
|
Inspection: <control>JVM languages | Unstable API Usage</control> and <control>JVM languages | Unstable type is used in signature</control>
|
||||||
|
|
||||||
### Obsolete API
|
### 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.
|
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
|
### 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>
|
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.
|
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.
|
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>
|
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.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user