IntelliJ Platform Plugin SDK Help

Types

This page lists various types used to configure Tasks.

FailureLevel

VerifyPluginTask.FailureLevel

Enum class describing the failure level of the IntelliJ Plugin Verifier CLI tool run with the verifyPlugin task.

Name

Description

COMPATIBILITY_WARNINGS

Compatibility warnings detected against the specified IDE version.

COMPATIBILITY_PROBLEMS

Compatibility problems detected against the specified IDE version.

DEPRECATED_API_USAGES

Plugin uses API marked as deprecated (@Deprecated).

SCHEDULED_FOR_REMOVAL_API_USAGES

Plugin uses API marked as scheduled for removal (@ApiStatus.ScheduledForRemoval).

EXPERIMENTAL_API_USAGES

Plugin uses API marked as experimental (@ApiStatus.Experimental).

INTERNAL_API_USAGES

Plugin uses API marked as internal (@ApiStatus.Internal).

OVERRIDE_ONLY_API_USAGES

Override-only API is used incorrectly (@ApiStatus.OverrideOnly).

NON_EXTENDABLE_API_USAGES

Non-extendable API is used incorrectly (@ApiStatus.NonExtendable).

PLUGIN_STRUCTURE_WARNINGS

The structure of the plugin is not valid.

MISSING_DEPENDENCIES

Plugin has some dependencies missing.

INVALID_PLUGIN

Provided plugin artifact is not valid.

NOT_DYNAMIC

Plugin probably cannot be enabled or disabled without IDE restart

ALL

Contains all possible options.

NONE

Contains no option.

See also:

IntelliJPlatformType

IntelliJPlatformType

Describes all IntelliJ Platform types available to be used for plugin development, dependency resolution, and plugin verification.

Each entry is composed of a product code and coordinates used for dependency and binary release resolution.

Name

Code

Artifact Coordinates

Binary release

AndroidStudio

AI

-

Aqua

QA

-

CLion

CL

com.jetbrains.intellij.clion:clion

DataGrip

DB

-

DataSpell

DS

-

FleetBackend

FLIJ

com.jetbrains.intellij.fleetBackend:fleetBackend

Gateway

GW

com.jetbrains.intellij.gateway:gateway

GoLand

GO

com.jetbrains.intellij.goland:goland

IntellijIdeaCommunity

IC

com.jetbrains.intellij.idea:ideaIC

IntellijIdeaUltimate

IU

com.jetbrains.intellij.idea:ideaIU

MPS

MPS

-

PhpStorm

PS

com.jetbrains.intellij.phpstorm:phpstorm

PyCharmProfessional

PY

com.jetbrains.intellij.pycharm:pycharmPY

PyCharmCommunity

PC

com.jetbrains.intellij.pycharm:pycharmPC

Rider

RD

com.jetbrains.intellij.rider:riderRD

RubyMine

RM

-

RustRover

RR

com.jetbrains.intellij.rustrover:RustRover

WebStorm

WS

com.jetbrains.intellij.webstorm:webstorm

Writerside

WRS

com.jetbrains.intellij.idea:writerside

PluginBean

PluginBean

Describes the content of the plugin.xml file.

See also:

ProductInfo

ProductInfo

Represents information about the IntelliJ Platform product.

The information is retrieved from the product-info.json file in the IntelliJ Platform directory.

Name

Description

name

The product's name, like "IntelliJ IDEA".

version

The marketing version of the product, like "2023.2".

versionSuffix

The suffix of the version, like "EAP".

buildNumber

The build number of the product, like "232.8660.185".

productCode

The product code, like "IU".

dataDirectoryName

The directory name of the product data.

svgIconPath

The path to the SVG icon of the product.

productVendor

The vendor of the product.

launch

The list of OS- and arch-specific launch configurations for the product.

customProperties

The list of custom properties of the product.

bundledPlugins

The list of bundled plugins provided with the current release.

fileExtensions

The list of file extensions associated with the product.

modules

The list of modules of the product.

layout

The modules and plugins dependencies mapping.

validateSupportedVersion()

Validates that the resolved IntelliJ Platform is supported by checking against the minimal supported IntelliJ Platform version.

If the provided version is lower, an IllegalArgumentException is thrown with an appropriate message.

Throws

IllegalArgumentException

ProductRelease.Channel

ProductRelease.Channel

List of available channels used by JetBrains IDEs and Android Studio for describing binary releases.

Name

JetBrains IDEs

Android Studio

RELEASE

EAP

MILESTONE

BETA

CANARY

PATCH

RC

PREVIEW

See also:

ProductReleasesValueSource.FilterParameters

ProductReleasesValueSource.FilterParameters

Interface that provides a clear way to filter binary product releases for IntelliJ Plugin Verifier.

Name

Description

sinceBuild

Build number from which the binary IDE releases will be matched.

untilBuild

Build number until which the binary IDE releases will be matched.

types

A list of IntelliJPlatformType types to match.

channels

A list of ProductRelease.Channel types of binary releases to search in.

See also:

SplitModeAware.SplitModeTarget

SplitModeAware.SplitModeTarget

Describes a part of the product where the developed plugin can be installed when running in splitMode handled by SplitModeAware.

Name

Description

BACKEND

Install plugin in the backed IDE.

FRONTEND

Install plugin in the frontend IDE.

BOTH

Install plugin in both backend and frontend IDEs.

Subsystems

VerifyPluginTask.Subsystems

Specify which subsystems of the IDE should be checked by the IntelliJ Plugin Verifier CLI tool run with the verifyPlugin task.

Name

Description

ALL

Verify all code.

ANDROID_ONLY

Verify only code related to Android support.

WITHOUT_ANDROID

Exclude problems related to Android support.

See also:

TestFrameworkType

TestFrameworkType

Allows for adding test-framework testing library variants. See Dependencies Extension: Testing.

Platform Test Frameworks

Generic test frameworks for the IntelliJ Platform.

Name

Coordinates

Platform

com.jetbrains.intellij.platform:test-framework

See "Known Issues" below

JUnit5

com.jetbrains.intellij.platform:test-framework-junit5

See "Known Issues" below

Bundled

Adds [platformPath]/lib/testFramework.jar file

See "Using Bundled" below

Metrics

com.jetbrains.intellij.tools:ide-metrics-benchmark


com.jetbrains.intellij.tools:ide-metrics-collector


com.jetbrains.intellij.tools:ide-util-common

Starter

com.jetbrains.intellij.tools:ide-starter-squashed


com.jetbrains.intellij.tools:ide-starter-junit5


com.jetbrains.intellij.tools:ide-starter-driver


com.jetbrains.intellij.driver:driver-client


com.jetbrains.intellij.driver:driver-sdk


com.jetbrains.intellij.driver:driver-model

Plugin Test Frameworks

Some plugins offer dedicated test frameworks, for example, Plugin.Java when using Java/JVM-related functionality.

Name

Coordinates

Reference

Plugin.Go

com.jetbrains.intellij.go:go-test-framework

GoLand Plugin Development

Plugin.JavaScript

com.jetbrains.intellij.javascript:javascript-test-framework

WebStorm Plugin Development

Plugin.Java

com.jetbrains.intellij.java:java-test-framework

IntelliJ IDEA Plugin Development

Plugin.Maven

com.jetbrains.intellij.maven:maven-test-framework

Plugin.ReSharper

com.jetbrains.intellij.resharper:resharper-test-framework

Rider Plugin Development

Plugin.Ruby

com.jetbrains.intellij.idea:ruby-test-framework

RubyMine Plugin Development

VerificationReportsFormats

VerifyPluginTask.VerificationReportsFormats

Enum class describing the type of the results produced by the IntelliJ Plugin Verifier CLI tool run with the verifyPlugin task.

Name

Description

PLAIN

Plain text file.

HTML

HTML formatted output file.

MARKDOWN

Markdown file.

ALL

Contains all possible options.

NONE

Contains no options.

See also:

Last modified: 28 November 2024