SplitModeAware

When you develop a plugin, you may want to check how it works in remote development mode, when one machine is running the backend part and another is running a frontend part (JetBrains Client) which connects to the backend.

This property allows running the IDE with backend and frontend parts running in separate processes. The developed plugin installation target is configured with pluginInstallationTarget.

Split Mode requires the IntelliJ Platform in the version 241.14473 or later.

Inheritors

Types

Link copied to clipboard

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

Link copied to clipboard

Properties

Link copied to clipboard

Resolves the effective plugin installation target.

Link copied to clipboard
@get:InputFiles
@get:PathSensitive(value = PathSensitivity.RELATIVE)
abstract val intelliJPlatformConfiguration: ConfigurableFileCollection

Holds the Configurations.INTELLIJ_PLATFORM_DEPENDENCY configuration with the IntelliJ Platform dependency added. It should not be directly accessed.

Link copied to clipboard
@get:InputFiles
@get:PathSensitive(value = PathSensitivity.RELATIVE)
abstract val intelliJPlatformPluginConfiguration: ConfigurableFileCollection

Holds the Configurations.INTELLIJ_PLATFORM_PLUGIN_DEPENDENCY configuration with the optional custom IntelliJ Platform plugins dependencies added. It should not be directly accessed.

@get:InputFiles
@get:PathSensitive(value = PathSensitivity.RELATIVE)
abstract val intelliJPlatformTestRuntimeFixClasspathConfiguration: ConfigurableFileCollection

Holds the Configurations.INTELLIJ_PLATFORM_TEST_RUNTIME_FIX_CLASSPATH configuration with the custom IntelliJ Platform core dependency required for running tests. It should not be directly accessed.

Link copied to clipboard
@get:Internal
open val platformPath: Path

Provides access to the IntelliJ Platform dependency artifact path.

Link copied to clipboard
@get:Internal
open val productInfo: ProductInfo

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

Link copied to clipboard
@get:Internal
abstract val sandboxConfigDirectory: DirectoryProperty

A configuration directory located within the sandboxDirectory.

Link copied to clipboard
@get:Internal
abstract val sandboxConfigFrontendDirectory: DirectoryProperty

A frontend configuration directory located within the sandboxDirectory.

Link copied to clipboard
@get:Internal
abstract val sandboxDirectory: DirectoryProperty

The directory containing content read and produced by the running IDE.

Link copied to clipboard
@get:Internal
abstract val sandboxLogDirectory: DirectoryProperty

A log directory located within the sandboxDirectory.

Link copied to clipboard
@get:Internal
abstract val sandboxLogFrontendDirectory: DirectoryProperty

A frontend log directory located within the sandboxDirectory.

Link copied to clipboard
@get:Internal
abstract val sandboxPluginsDirectory: DirectoryProperty

A plugins directory located within the sandboxDirectory.

Link copied to clipboard
@get:Internal
abstract val sandboxPluginsFrontendDirectory: DirectoryProperty

A frontend plugins directory located within the sandboxDirectory.

Link copied to clipboard
@get:Internal
abstract val sandboxSystemDirectory: DirectoryProperty

A system directory located within the sandboxDirectory.

Link copied to clipboard
@get:Internal
abstract val sandboxSystemFrontendDirectory: DirectoryProperty

A frontend system directory located within the sandboxDirectory.

Link copied to clipboard
@get:Input
abstract val splitMode: Property<Boolean>

Enables Split Mode when running the IDE.

Link copied to clipboard
@get:Internal
open val splitModeBackendPidFile: Provider<RegularFile>

Path to a file storing the OS process identifier (PID) of the running split-mode backend process.

Link copied to clipboard
@get:Internal
open val splitModeFrontendJoinLinkFile: Provider<RegularFile>

Path to a file storing the current split-mode frontend join link.

Link copied to clipboard
@get:Internal
open val splitModeFrontendPidFile: Provider<RegularFile>

Path to a file storing the OS process identifier (PID) of the running split-mode frontend process.

Link copied to clipboard
@get:Internal
open val splitModeFrontendProperties: Provider<RegularFile>

Path to a properties file which will be used to configure the frontend process if the IDE is started in Split Mode.

Link copied to clipboard
@get:Input
@get:Optional
abstract val splitModeTarget: Property<SplitModeAware.SplitModeTarget>

Deprecated alias for pluginInstallationTarget.

Link copied to clipboard
@get:Internal
abstract val testSandbox: Property<Boolean>

Defines if the current sandbox is related to testing.

Functions

Link copied to clipboard

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

Link copied to clipboard

Validates that the resolved IntelliJ Platform supports Split Mode.