PrepareSandboxTask

Prepares a sandbox environment with the plugin and its dependencies installed. The sandbox directory is required by tasks that run IDE and tests in isolation from other instances, like when multiple IntelliJ Platforms are used for testing with RunIdeTask, TestIdeTask, TestIdeUiTask, or TestIdePerformanceTask tasks. The sandbox directory is created within the container configurable with IntelliJPlatformExtension.sandboxContainer.

Tasks based on the PrepareSandboxTask are sandbox producers and can be associated with sandbox consumers. To define the consumer task, make it extend from SandboxAware and apply the consumer.applySandboxFrom(producer) function.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion : Registrable

Properties

Link copied to clipboard
@get:Internal
val conventionMapping: ConventionMapping
Link copied to clipboard
@get:Internal
abstract val defaultDestinationDirectory: DirectoryProperty

Specifies the default sandbox destination directory where plugin files will be copied.

Link copied to clipboard
@get:Internal
abstract val disabledPlugins: SetProperty<String>

An internal field to hold a list of plugins to be disabled within the current sandbox.

Link copied to clipboard
@get:Internal
var enabled: Boolean
Link copied to clipboard
Link copied to clipboard
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.

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

Provides access to the IntelliJ Platform dependency artifact path.

Link copied to clipboard
@get:OutputDirectory
abstract val pluginDirectory: DirectoryProperty

Specifies the directory where the plugin artifacts are to be placed.

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

Specifies the output of the Jar task. The proper Jar.archiveFile picked depends on whether code instrumentation is enabled.

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

Specifies a list of dependencies on external plugins resolved from the Configurations.INTELLIJ_PLATFORM_PLUGIN configuration added with IntelliJPlatformDependenciesExtension.plugin and IntelliJPlatformDependenciesExtension.bundledPlugin.

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:Classpath
abstract val runtimeClasspath: ConfigurableFileCollection

Dependencies defined with the JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME configuration.

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 sandboxSuffix: Property<String>

Represents the suffix used i.e., for test-related or custom tasks.

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 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 splitModeTarget: Property<SplitModeAware.SplitModeTarget>

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

Link copied to clipboard
val state: TaskStateInternal
Link copied to clipboard
val timeout: Property<Duration>

Functions

Link copied to clipboard
open override fun acceptServiceReferences(serviceReferences: MutableSet<ServiceReferenceSpec>)
Link copied to clipboard
open override fun appendParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open operator override fun compareTo(other: Task): Int
Link copied to clipboard
open override fun configure(closure: Closure<*>): Task
Link copied to clipboard
open fun conventionMapping(property: String, mapping: Closure<Any>): Task
open fun conventionMapping(property: String, mapping: Callable<*>): Task
Link copied to clipboard
open override fun dependsOn(vararg paths: Any): Task
Link copied to clipboard
open override fun dirPermissions(configureAction: Action<in ConfigurableFilePermissions>): CopyProcessingSpec
Link copied to clipboard
open override fun doFirst(action: Closure<Any>): Task
open override fun doFirst(action: Action<in Task>): Task
open override fun doFirst(actionName: String, action: Action<in Task>): Task
Link copied to clipboard
open override fun doLast(action: Closure<Any>): Task
open override fun doLast(action: Action<in Task>): Task
open override fun doLast(actionName: String, action: Action<in Task>): Task
Link copied to clipboard
open override fun doNotTrackState(reasonNotToTrackState: String)
Link copied to clipboard
open override fun eachFile(closure: Closure<Any>): AbstractCopyTask
open override fun eachFile(action: Action<in FileCopyDetails>): AbstractCopyTask
Link copied to clipboard
open override fun exclude(excludeSpec: Closure<Any>): AbstractCopyTask
open override fun exclude(vararg excludes: String): AbstractCopyTask
open override fun exclude(excludes: MutableIterable<String>): AbstractCopyTask
open override fun exclude(excludeSpec: Spec<FileTreeElement>): AbstractCopyTask
Link copied to clipboard
open override fun expand(properties: MutableMap<String, *>): AbstractCopyTask
open override fun expand(properties: MutableMap<String, *>, action: Action<in ExpandDetails>): AbstractCopyTask
Link copied to clipboard
open override fun filePermissions(configureAction: Action<in ConfigurableFilePermissions>): CopyProcessingSpec
Link copied to clipboard
open override fun filesMatching(pattern: String, action: Action<in FileCopyDetails>): AbstractCopyTask
open override fun filesMatching(patterns: MutableIterable<String>, action: Action<in FileCopyDetails>): AbstractCopyTask
Link copied to clipboard
open override fun filesNotMatching(pattern: String, action: Action<in FileCopyDetails>): AbstractCopyTask
open override fun filesNotMatching(patterns: MutableIterable<String>, action: Action<in FileCopyDetails>): AbstractCopyTask
Link copied to clipboard
open override fun filter(closure: Closure<Any>): AbstractCopyTask
open override fun filter(filterType: Class<out FilterReader>): AbstractCopyTask
open override fun filter(transformer: Transformer<String, String>): AbstractCopyTask
open override fun filter(properties: MutableMap<String, *>, filterType: Class<out FilterReader>): AbstractCopyTask
Link copied to clipboard
open override fun finalizedBy(vararg paths: Any): Task
Link copied to clipboard
open override fun from(vararg sourcePaths: Any): AbstractCopyTask
open override fun from(sourcePath: Any, c: Closure<Any>): AbstractCopyTask
open override fun from(sourcePath: Any, configureAction: Action<in CopySpec>): AbstractCopyTask
Link copied to clipboard
open override fun getActions(): MutableList<Action<in Task>>
Link copied to clipboard
open override fun getAnt(): AntBuilder
Link copied to clipboard
@Internal
open override fun getAsDynamicObject(): DynamicObject
Link copied to clipboard
@Internal
open override fun getConvention(): Convention
Link copied to clipboard
open override fun getDependsOn(): MutableSet<Any>
Link copied to clipboard
open override fun getDescription(): String?
Link copied to clipboard
open override fun getDestinationDir(): File
Link copied to clipboard
open override fun getDestroyables(): TaskDestroyables
Link copied to clipboard
open override fun getDidWork(): Boolean
Link copied to clipboard
@Internal
open override fun getDirMode(): Int?
Link copied to clipboard
@Internal
open override fun getDirPermissions(): Property<ConfigurableFilePermissions>
Link copied to clipboard
@Internal
open override fun getDuplicatesStrategy(): DuplicatesStrategy
Link copied to clipboard
@Internal
open override fun getExcludes(): MutableSet<String>
Link copied to clipboard
open override fun getExtensions(): ExtensionContainer
Link copied to clipboard
@Internal
open override fun getFileMode(): Int?
Link copied to clipboard
@Internal
open override fun getFilePermissions(): Property<ConfigurableFilePermissions>
Link copied to clipboard
@Internal
open override fun getFilteringCharset(): String
Link copied to clipboard
open override fun getFinalizedBy(): TaskDependency
Link copied to clipboard
open override fun getGroup(): String?
Link copied to clipboard
open override fun getIdentityPath(): Path
Link copied to clipboard
@Internal
open override fun getIncludeEmptyDirs(): Boolean
Link copied to clipboard
@Internal
open override fun getIncludes(): MutableSet<String>
Link copied to clipboard
open override fun getInputs(): TaskInputsInternal
Link copied to clipboard
@Internal
open override fun getLifecycleDependencies(): TaskDependencyInternal
Link copied to clipboard
open override fun getLocalState(): TaskLocalState
Link copied to clipboard
open override fun getLogger(): Logger
Link copied to clipboard
open override fun getLogging(): LoggingManager
Link copied to clipboard
open override fun getMustRunAfter(): TaskDependency
Link copied to clipboard
open override fun getName(): String
Link copied to clipboard
open override fun getOnlyIf(): Spec<in TaskInternal>
Link copied to clipboard
open override fun getOutputs(): TaskOutputsInternal
Link copied to clipboard
open override fun getPath(): String
Link copied to clipboard
@Internal
open fun getPreserve(): PatternFilterable
Link copied to clipboard
open override fun getProject(): Project
Link copied to clipboard
Link copied to clipboard
open override fun getRequiredServices(): TaskRequiredServices
Link copied to clipboard
open override fun getRootSpec(): DestinationRootCopySpec
Link copied to clipboard
open override fun getSharedResources(): MutableList<ResourceLock>
Link copied to clipboard
open override fun getShouldRunAfter(): TaskDependency
Link copied to clipboard
@Internal
open fun getSource(): FileCollection
Link copied to clipboard
open override fun getStandardOutputCapture(): StandardOutputCapture
Link copied to clipboard
open override fun getTaskActions(): MutableList<InputChangesAwareTaskAction>
Link copied to clipboard
open override fun getTaskDependencies(): TaskDependencyInternal
Link copied to clipboard
open override fun getTaskIdentity(): TaskIdentity<*>
Link copied to clipboard
open override fun getTemporaryDir(): File
Link copied to clipboard
open override fun getTemporaryDirFactory(): Factory<File>
Link copied to clipboard
open override fun hasProperty(propertyName: String): Boolean
Link copied to clipboard
open override fun hasTaskActions(): Boolean
Link copied to clipboard
open override fun include(includeSpec: Closure<Any>): AbstractCopyTask
open override fun include(vararg includes: String): AbstractCopyTask
open override fun include(includes: MutableIterable<String>): AbstractCopyTask
open override fun include(includeSpec: Spec<FileTreeElement>): AbstractCopyTask
Link copied to clipboard
open override fun into(destDir: Any): AbstractCopyTask
open override fun into(destPath: Any, configureClosure: Closure<Any>): AbstractCopyTask
open override fun into(destPath: Any, copySpec: Action<in CopySpec>): CopySpec
Link copied to clipboard
fun intoChild(destinationDir: Any): CopySpec
Link copied to clipboard
@Internal
open override fun isCaseSensitive(): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun mustRunAfter(vararg paths: Any): Task
Link copied to clipboard
open override fun notCompatibleWithConfigurationCache(reason: String)
Link copied to clipboard
open override fun onlyIf(onlyIfClosure: Closure<Any>)
open override fun onlyIf(spec: Spec<in Task>)
open override fun onlyIf(onlyIfReason: String, spec: Spec<in Task>)
Link copied to clipboard
open override fun prependParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open fun preserve(action: Action<in PatternFilterable>): Sync
Link copied to clipboard
open override fun property(propertyName: String): Any?
Link copied to clipboard
open override fun rename(closure: Closure<Any>): AbstractCopyTask
open override fun rename(renamer: Transformer<String, String>): AbstractCopyTask
open override fun rename(sourceRegEx: Pattern, replaceWith: String): AbstractCopyTask
open override fun rename(sourceRegEx: String, replaceWith: String): AbstractCopyTask
Link copied to clipboard
open override fun setActions(replacements: MutableList<Action<in Task>>)
Link copied to clipboard
open override fun setCaseSensitive(caseSensitive: Boolean)
Link copied to clipboard
open override fun setDependsOn(dependsOn: MutableIterable<*>)
Link copied to clipboard
open override fun setDescription(description: String?)
Link copied to clipboard
open fun setDestinationDir(destinationDir: File)
Link copied to clipboard
open override fun setDidWork(didWork: Boolean)
Link copied to clipboard
open override fun setDirMode(@Nullable mode: Int?): AbstractCopyTask
Link copied to clipboard
open override fun setDuplicatesStrategy(strategy: DuplicatesStrategy)
Link copied to clipboard
open override fun setExcludes(excludes: MutableIterable<String>): AbstractCopyTask
Link copied to clipboard
open override fun setFileMode(@Nullable mode: Int?): AbstractCopyTask
Link copied to clipboard
open override fun setFilteringCharset(charset: String)
Link copied to clipboard
open override fun setFinalizedBy(finalizedByTasks: MutableIterable<*>)
Link copied to clipboard
open override fun setGroup(group: String?)
Link copied to clipboard
open override fun setIncludeEmptyDirs(includeEmptyDirs: Boolean)
Link copied to clipboard
open override fun setIncludes(includes: MutableIterable<String>): AbstractCopyTask
Link copied to clipboard
open override fun setMustRunAfter(mustRunAfterTasks: MutableIterable<*>)
Link copied to clipboard
open override fun setOnlyIf(onlyIfClosure: Closure<Any>)
open override fun setOnlyIf(spec: Spec<in Task>)
open override fun setOnlyIf(onlyIfReason: String, spec: Spec<in Task>)
Link copied to clipboard
open override fun setProperty(name: String, value: Any)
Link copied to clipboard
open override fun setShouldRunAfter(shouldRunAfterTasks: MutableIterable<*>)
Link copied to clipboard
open override fun shouldRunAfter(vararg paths: Any): TaskDependency
Link copied to clipboard
open override 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 override fun with(vararg sourceSpecs: CopySpec): CopySpec