RunIdeTask

@UntrackedTask(because = "Should always run")
abstract class RunIdeTask : JavaExec, RunnableIdeAware, SplitModeAware, PluginInstallationTargetAware, IntelliJPlatformVersionAware, ComposeHotReloadAware

Runs the IDE instance using the currently selected IntelliJ Platform with the built plugin loaded. It directly extends the JavaExec Gradle task, which allows for an extensive configuration (system properties, memory management, etc.).

This task runs against the IntelliJ Platform and plugins specified in project dependencies. To register a customized task, use IntelliJPlatformTestingExtension.runIde.

Inheritors

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion : Registrable
Link copied to clipboard

Properties

Link copied to clipboard
open var actions: List<Action<in Task?>?>?
Link copied to clipboard
open override var allJvmArgs: List<String?>?
Link copied to clipboard
open val ant: AntBuilder?
Link copied to clipboard
open var args: List<String?>?
Link copied to clipboard
open val argumentProviders: List<CommandLineArgumentProvider?>?
Link copied to clipboard
@get:Internal
open val asDynamicObject: DynamicObject
Link copied to clipboard
@get:Internal
abstract val autoReload: Property<Boolean>

Enables auto-reload of dynamic plugins. Dynamic plugin will be reloaded automatically when its content is modified.

Link copied to clipboard
open override var bootstrapClasspath: FileCollection?
Link copied to clipboard
open var classpath: FileCollection?
Link copied to clipboard
@get:Internal
open val commandLine: List<String?>?
Link copied to clipboard
@get:Input
@get:Optional
abstract val composeHotReload: Property<Boolean>

Enables auto-reload of Compose UIs after code changes for the task. This allows a much faster development cycle by avoiding a full restart of the development instance after code changes.

Link copied to clipboard
@get:Classpath
abstract val composeHotReloadAgentConfiguration: ConfigurableFileCollection

Hot Reload Agent configuration.

Link copied to clipboard
@get:Internal
open val conventionMapping: ConventionMapping?
Link copied to clipboard
@get:Internal
@get:Optional
abstract val coroutinesJavaAgentFile: RegularFileProperty

The path to the coroutines Java Agent file.

Link copied to clipboard
open override var debug: Boolean
Link copied to clipboard
open override val debugOptions: JavaDebugOptions?
Link copied to clipboard
open override var defaultCharacterEncoding: @Nullable String?
Link copied to clipboard
open val dependsOn: Set<Any?>?
Link copied to clipboard
open var description: @Nullable String?
Link copied to clipboard
open val destroyables: TaskDestroyables?
Link copied to clipboard
open var didWork: Boolean
Link copied to clipboard

Resolves the effective plugin installation target.

Link copied to clipboard
open override var enableAssertions: Boolean
Link copied to clipboard
open var enabled: Boolean
Link copied to clipboard
@get:Internal
open override var environment: Map<String?, Any?>?
Link copied to clipboard
@get:Internal
open var errorOutput: OutputStream?
Link copied to clipboard
@get:Inject
abstract val execOperations: ExecOperations
Link copied to clipboard
@get:Internal(value = "covered by getJavaVersion")
open override var executable: @Nullable String?
Link copied to clipboard
@get:Internal
abstract val executionMode: Property<RunIdeTask.ExecutionMode>
Link copied to clipboard
@get:Internal
open val executionResult: Provider<ExecResult?>?
Link copied to clipboard
open val extensions: ExtensionContainer?
Link copied to clipboard
open val finalizedBy: TaskDependency?
Link copied to clipboard
open var group: @Nullable String?
Link copied to clipboard
open val identityPath: Path?
Link copied to clipboard
Link copied to clipboard
open val inputs: TaskInputsInternal?
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 var isEnabled: Boolean
Link copied to clipboard
Link copied to clipboard
@get:Input
open var isIgnoreExitValue: Boolean
Link copied to clipboard
abstract val javaLauncher: Property<JavaLauncher?>?
Link copied to clipboard
@get:Internal(value = "covered by getJavaLauncher().getMetadata().getLanguageVersion()")
open val javaVersion: JavaVersion?
Link copied to clipboard
@get:Internal
abstract val jetbrainsRuntimeConfiguration: ConfigurableFileCollection

Holds the Configurations.JETBRAINS_RUNTIME configuration with the JetBrains Runtime dependency added. It should not be directly accessed.

Link copied to clipboard
open override var jvmArgs: List<String?>?
Link copied to clipboard
open override val jvmArgumentProviders: List<CommandLineArgumentProvider?>?
Link copied to clipboard
open val jvmArguments: ListProperty<String?>?
Link copied to clipboard
@get:Internal
open val lifecycleDependencies: TaskDependencyInternal?
Link copied to clipboard
open val localState: TaskLocalState?
Link copied to clipboard
open val logger: Logger?
Link copied to clipboard
open val logging: LoggingManager?
Link copied to clipboard
abstract val mainClass: Property<String?>?
Link copied to clipboard
abstract val mainModule: Property<String?>?
Link copied to clipboard
open override var maxHeapSize: @Nullable String?
Link copied to clipboard
open override var minHeapSize: @Nullable String?
Link copied to clipboard
open val modularity: ModularitySpec?
Link copied to clipboard
@get:Internal
abstract val module: Property<Boolean>

Indicates if the current project represents an IntelliJ Platform plugin module.

Link copied to clipboard
open val mustRunAfter: TaskDependency?
Link copied to clipboard
open val name: String?
Link copied to clipboard
open val onlyIf: Spec<in TaskInternal?>?
Link copied to clipboard
open val outputs: TaskOutputsInternal?
Link copied to clipboard
open val path: String?
Link copied to clipboard
@get:Internal
open val platformPath: Path

Provides access to the IntelliJ Platform dependency artifact path.

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

Specifies in which part of the product the developed plugin should be installed.

Link copied to clipboard
@get:InputFile
@get:PathSensitive(value = PathSensitivity.RELATIVE)
@get:Optional
abstract val pluginXml: RegularFileProperty

Holds the path to the patched plugin.xml file.

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
open val project: Project?
Link copied to clipboard
@get:Input
abstract val purgeOldLogDirectories: Property<Boolean>

Removes stale log directories before launching runIde, runIdeBackend, or runIdeFrontend.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val requiredServices: TaskRequiredServices?
Link copied to clipboard
@get:Internal
abstract val runtimeArchitecture: Property<String>

An architecture of the Java Runtime currently used for running Gradle.

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

Java Runtime parent directory.

Link copied to clipboard
@get:Internal
abstract val runtimeLauncher: Property<JavaLauncher>

A custom JavaLauncher instance configured with the resolved runtimeDirectory.

Link copied to clipboard
@get:Internal
abstract val runtimeMetadata: MapProperty<String, String>

Metadata object of the Java Runtime currently used for running Gradle.

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
open val sharedResources: List<ResourceLock?>?
Link copied to clipboard
open val shouldRunAfter: TaskDependency?
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
abstract val splitModeFrontendBootstrapClasspath: ConfigurableFileCollection
Link copied to clipboard
@get:Optional
@get:Input
abstract val splitModeFrontendJoinLink: Property<String>

Advanced override for the join link passed to the frontend task when launched directly.

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
abstract val splitModeServerPort: Property<Int>

The backend port used by split-mode backend/frontend tasks; runIdeBackend passes it to serverMode -p.

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

Deprecated alias for pluginInstallationTarget.

Link copied to clipboard
@get:Internal
open var standardInput: InputStream?
Link copied to clipboard
@get:Internal
open var standardOutput: OutputStream?
Link copied to clipboard
open val standardOutputCapture: StandardOutputCapture?
Link copied to clipboard
open val state: TaskStateInternal?
Link copied to clipboard
open override var systemProperties: Map<String?, @Nullable Any?>?
Link copied to clipboard
open val taskActions: List<InputChangesAwareTaskAction?>?
Link copied to clipboard
open val taskDependencies: TaskDependencyInternal?
Link copied to clipboard
open val taskIdentity: TaskIdentity<*>?
Link copied to clipboard
open val temporaryDir: File?
Link copied to clipboard
open val temporaryDirFactory: Factory<File?>?
Link copied to clipboard
@get:Internal
abstract val testSandbox: Property<Boolean>

Defines if the current sandbox is related to testing.

Link copied to clipboard
open val timeout: Property<Duration?>?
Link copied to clipboard
@get:Internal
open override var workingDir: File?

Functions

Link copied to clipboard
open fun acceptServiceReferences(serviceReferences: Set<ServiceReferenceSpec?>?)
Link copied to clipboard
open fun appendParallelSafeAction(action: Action<in Task?>?)
Link copied to clipboard
open fun Task.applyFrontendSandboxFrom(sandboxProducerTaskProvider: TaskProvider<PrepareSandboxTask>)
Link copied to clipboard
open fun Task.applySandboxFrom(sandboxProducerTaskProvider: TaskProvider<PrepareSandboxTask>)
Link copied to clipboard
open fun args(args: Iterable<*>?): JavaExecSpec?
open fun args(vararg args: Any?): JavaExec?
Link copied to clipboard
open fun bootstrapClasspath(vararg classpath: @Nullable Any?): JavaExec?
Link copied to clipboard
open fun classpath(vararg paths: @Nullable Any?): JavaExec?
Link copied to clipboard
open operator fun compareTo(otherTask: Task?): Int
Link copied to clipboard
open fun configure(closure: Closure<*>?): Task?
Link copied to clipboard
open fun conventionMapping(property: String?, mapping: Closure<*>?): Task?
open fun conventionMapping(property: String?, mapping: Callable<*>?): Task?
Link copied to clipboard
open fun copyTo(options: JavaForkOptions?): JavaExec?
open fun copyTo(target: ProcessForkOptions?): JavaExec?
Link copied to clipboard
open fun debugOptions(action: Action<JavaDebugOptions?>?)
Link copied to clipboard
open fun dependsOn(vararg paths: Any?): Task?
Link copied to clipboard
open fun doFirst(action: Closure<*>?): Task?
open fun doFirst(action: Action<in Task?>?): Task?
open fun doFirst(actionName: String?, action: Action<in Task?>?): Task?
Link copied to clipboard
open fun doLast(action: Closure<*>?): Task?
open fun doLast(action: Action<in Task?>?): Task?
open fun doLast(actionName: String?, action: Action<in Task?>?): Task?
Link copied to clipboard
open fun doNotTrackState(reasonNotToTrackState: String?)
Link copied to clipboard
open fun doNotTrackStateIf(reason: String?, spec: Spec<in TaskInternal?>?)
Link copied to clipboard
open fun environment(environmentVariables: Map<String?, *>?): JavaExec?
open fun environment(name: String?, value: Any?): JavaExec?
Link copied to clipboard
open override fun exec()

Executes the task, configures, and runs the IDE.

Link copied to clipboard
open fun executable(executable: Any?): JavaExec?
Link copied to clipboard
open fun finalizedBy(vararg paths: Any?): Task?
Link copied to clipboard
open fun getAllJvmArgs(): List<String?>?
Link copied to clipboard
open fun getBootstrapClasspath(): FileCollection?
Link copied to clipboard
open fun getDebug(): Boolean
Link copied to clipboard
open fun getDebugOptions(): JavaDebugOptions?
Link copied to clipboard
open fun getDefaultCharacterEncoding(): @Nullable String?
Link copied to clipboard
Link copied to clipboard
@Internal
open fun getEnvironment(): Map<String?, Any?>?
Link copied to clipboard
@Internal(value = "covered by getJavaVersion")
open fun getExecutable(): @Nullable String?
Link copied to clipboard
open fun getJvmArgs(): List<String?>?
Link copied to clipboard
open fun getJvmArgumentProviders(): List<CommandLineArgumentProvider?>?
Link copied to clipboard
open fun getMaxHeapSize(): @Nullable String?
Link copied to clipboard
open fun getMinHeapSize(): @Nullable String?
Link copied to clipboard
open fun getSystemProperties(): Map<String?, @Nullable Any?>?
Link copied to clipboard
@Internal
open fun getWorkingDir(): File?
Link copied to clipboard
open fun hasProperty(propertyName: String?): Boolean
Link copied to clipboard
Link copied to clipboard
open fun jvmArgs(arguments: Iterable<*>?): JavaExec?
open fun jvmArgs(vararg arguments: Any?): JavaExec?
Link copied to clipboard
open fun mustRunAfter(vararg paths: Any?): Task?
Link copied to clipboard
open fun onlyIf(onlyIfClosure: Closure<*>?)
open fun onlyIf(spec: Spec<in Task?>?)
open fun onlyIf(onlyIfReason: String?, spec: Spec<in Task?>?)
Link copied to clipboard
open fun prependParallelSafeAction(action: Action<in Task?>?)
Link copied to clipboard
open fun property(propertyName: String?): Any?
Link copied to clipboard
open fun restoreOnlyIf(onlyIf: Spec<in TaskInternal?>?)
Link copied to clipboard
open fun restoreTaskActions(taskActions: List<InputChangesAwareTaskAction?>?)
Link copied to clipboard
open fun setAllJvmArgs(arguments: Iterable<*>?)
open fun setAllJvmArgs(arguments: List<String?>?)
Link copied to clipboard
open fun setArgsString(args: String?): JavaExec?
Link copied to clipboard
open fun setBootstrapClasspath(classpath: FileCollection?)
Link copied to clipboard
open fun setDebug(enabled: Boolean)
Link copied to clipboard
open fun setDefaultCharacterEncoding(defaultCharacterEncoding: @Nullable String?)
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<*>?)
Link copied to clipboard
open fun setEnableAssertions(enabled: Boolean)
Link copied to clipboard
open fun setEnvironment(environmentVariables: Map<String?, *>?)
Link copied to clipboard
open fun setExecutable(executable: Any?)
open fun setExecutable(executable: String?)
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<*>?)
Link copied to clipboard
open fun setJvmArgs(arguments: Iterable<*>?)
open fun setJvmArgs(arguments: List<String?>?)
Link copied to clipboard
open fun setMaxHeapSize(heapSize: @Nullable String?)
Link copied to clipboard
open fun setMinHeapSize(heapSize: @Nullable String?)
Link copied to clipboard
open fun setMustRunAfter(mustRunAfterTasks: Iterable<*>?)
Link copied to clipboard
open fun setOnlyIf(onlyIfClosure: Closure<*>?)
open fun setOnlyIf(spec: Spec<in Task?>?)
open fun setOnlyIf(onlyIfReason: String?, spec: Spec<in Task?>?)
Link copied to clipboard
open fun setProperty(name: String?, value: Any?)
Link copied to clipboard
open fun setShouldRunAfter(shouldRunAfterTasks: Iterable<*>?)
Link copied to clipboard
open fun setSystemProperties(properties: Map<String?, out @Nullable Any?>?)
Link copied to clipboard
open fun setWorkingDir(dir: File?)
open fun setWorkingDir(dir: Any?)
Link copied to clipboard
open fun shouldRunAfter(vararg paths: Any?): TaskDependency?
Link copied to clipboard
open fun systemProperties(properties: Map<String?, out @Nullable Any?>?): JavaExec?
Link copied to clipboard
open fun systemProperty(name: String?, value: @Nullable Any?): JavaExec?
Link copied to clipboard
open fun usesService(service: Provider<out BuildService<*>?>?)
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.

Link copied to clipboard
open fun workingDir(dir: Any?): JavaExec?