IntelliJPluginExtension

abstract class IntelliJPluginExtension @Inject constructor(objectFactory: ObjectFactory, dependenciesDownloader: DependenciesDownloader)

Configuration options for the IntelliJPlugin.

Constructors

Link copied to clipboard
@Inject
fun IntelliJPluginExtension(objectFactory: ObjectFactory, dependenciesDownloader: DependenciesDownloader)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
fun addPluginDependency(pluginDependency: PluginDependency)
Link copied to clipboard
fun getIdeaDependency(project: Project): IdeaDependency
Link copied to clipboard
Link copied to clipboard
fun getVersionNumber(): Provider<String>
Link copied to clipboard
fun getVersionType(): Provider<String>
Link copied to clipboard

Configure multiple repositories for downloading plugins.

Properties

Link copied to clipboard
abstract val configureDefaultDependencies: Property<Boolean>

If enabled, automatically configures the default IntelliJ Platform dependencies in the current project. Otherwise, the intellij, intellijPlugin, and intellijPlugins functions could be used for an explicit configuration.

Link copied to clipboard
abstract val downloadSources: Property<Boolean>

Download IntelliJ Platform sources. Enabled by default if not on CI environment.

Link copied to clipboard
abstract val extraDependencies: ListProperty<String>

Configure extra dependency artifacts from the IntelliJ repository. The dependencies on them could be configured only explicitly using the intellijExtra function in the dependencies block.

Link copied to clipboard
abstract val ideaDependency: Property<IdeaDependency>
Link copied to clipboard
abstract val ideaDependencyCachePath: Property<String>

Path to the directory where IntelliJ IDEA dependency cache is stored. If not set, the dependency will be extracted next to the downloaded ZIP archive in Gradle cache directory.

Link copied to clipboard
abstract val instrumentCode: Property<Boolean>

Instrument Java classes with nullability assertions and compile forms created by IntelliJ GUI Designer.

Link copied to clipboard
abstract val intellijRepository: Property<String>

The IntelliJ-based IDE distributions repository URL.

Link copied to clipboard
abstract val jreRepository: Property<String>

URL of repository for downloading JetBrains Runtime.

Link copied to clipboard
abstract val localPath: Property<String>

The path to the locally installed IDE distribution that should be used to build the plugin.

Link copied to clipboard
abstract val localSourcesPath: Property<String>

The path to local archive with IDE sources.

Link copied to clipboard
abstract val pluginDependencies: ListProperty<PluginDependency>
Link copied to clipboard
abstract val pluginName: Property<String>

The name of the generated ZIP archive distribution, e.g. /build/distributions/PluginName-1.0.0.zip.

Link copied to clipboard
abstract val plugins: ListProperty<Any>

The list of bundled IDE plugins and plugins from the JetBrains Marketplace or configured pluginsRepositories.

Link copied to clipboard
abstract val sameSinceUntilBuild: Property<Boolean>

Patches plugin.xml with the patchPluginXml.untilBuild with the value of org.jetbrains.intellij.tasks.PatchPluginXmlTask.sinceBuild used with * wildcard, like sinceBuild.*, e.g., 220.*.

Link copied to clipboard
abstract val sandboxDir: Property<String>

The path of sandbox directory that is used for running IDE with developed plugin.

Link copied to clipboard
abstract val type: Property<String>

The type of the IntelliJ-based IDE distribution. The type may also be specified as a prefix of the value for the version property.

Link copied to clipboard
abstract val updateSinceUntilBuild: Property<Boolean>

Defines if the plugin.xml should be patched with the values of org.jetbrains.intellij.tasks.PatchPluginXmlTask.sinceBuild and org.jetbrains.intellij.tasks.PatchPluginXmlTask.untilBuild properties.

Link copied to clipboard
abstract val version: Property<String>

Required. The version of the IntelliJ Platform IDE that will be used to build the plugin. Please see Plugin Compatibility topic in SDK docs for more details.