IntelliJ Platform Plugin SDK Help

Repositories Extension

This is an extension class for managing IntelliJ Platform repositories in a Gradle build script. It's applied to the RepositoryHandler.

Available in both Project scope and Gradle Settings for DependencyResolutionManagement.

It provides methods to add:

  • IntelliJ Platform repositories (for releases, snapshots, and nightly builds)

  • JetBrains Marketplace repository (for dependencies on non-bundled plugins)

  • JetBrains Runtime repository

  • Android Studio and IntelliJ Platform binary release repositories (for IntelliJ Plugin Verifier)

  • Ivy local repository (for access to local dependencies)

Example:

Setup Maven Central and defaultRepositories() repositories:

repositories { mavenCentral() intellijPlatform { defaultRepositories() } }

Default Repositories

The default repository definition suitable for most plugins.

Function

Description

defaultRepositories()

Applies a set of recommended repositories required for building plugins and running the most common tasks.

It includes:

  • releases() and snapshots() — IntelliJ Platform releases channels

  • marketplace() — JetBrains Marketplace plugins repository

  • localPlatformArtifacts() — required to use plugins bundled with IntelliJ Platform or refer to a local IDE

  • intellijDependencies() — required for resolving extra IntelliJ Platform dependencies used for running specific tasks

  • binaryReleases() — JetBrains IDEs releases required for running the IntelliJ Plugin Verifier

IDE Releases

The following IntelliJ Platform repositories contain not only the IntelliJ Platform releases in stable, snapshot, and nightly versions, but also various dependencies, such as:

Function

Description

releases()

Adds a repository for accessing IntelliJ Platform stable releases.

snapshots()

Adds a repository for accessing IntelliJ Platform snapshot releases.

nightly()

Adds a repository for accessing IntelliJ Platform nightly releases, not available publicly.

See also:

Binary IDE Releases

Function

Description

binaryReleases()

Adds a repository for accessing IntelliJ Platform IDE binary releases for use with IntelliJ Plugin Verifier.

binaryReleasesAndroidStudio()

Adds a repository for accessing Android Studio binary releases for use with IntelliJ Plugin Verifier.

See also:

Additional Repositories

Function

Description

localPlatformArtifacts()

Certain dependencies, such as the local IntelliJ Platform instance and bundled IDE plugins, need extra pre-processing before they can be correctly used by the IntelliJ Platform Gradle Plugin and loaded by Gradle.

This pre-processing involves generating XML files that detail these specific artifacts. Once created, these are stored in a unique custom Ivy repository directory.

intellijDependencies()

Adds a repository for accessing IntelliJ Platform dependencies.

jetbrainsRuntime()

Adds a repository for accessing JetBrains Runtime releases.

marketplace()

Adds a repository for accessing plugins hosted on JetBrains Marketplace.

See also:

Last modified: 09 May 2024