GenerateParserTask

@CacheableTask
abstract class GenerateParserTask : JavaExec

Task to generate a parser for the IntelliJ Platform Grammar Kit.

This task runs a Java process to generate parser and PSI files using a provided BNF file. It supports purging old files before generation, as well as specifying paths for outputs relative to a root output directory.

This task is part of the IntelliJ Platform plugin development process and integrates with Gradle for task registration and execution.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion : Registrable

Properties

Link copied to clipboard
open var actions: List<Action<in Task?>?>?
Link copied to clipboard
open 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
open 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:Internal
open val conventionMapping: ConventionMapping?
Link copied to clipboard
open var debug: Boolean
Link copied to clipboard
open val debugOptions: JavaDebugOptions?
Link copied to clipboard
open 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
Link copied to clipboard
open var enabled: Boolean
Link copied to clipboard
@get:Internal
open var environment: Map<String?, Any?>?
Link copied to clipboard
@get:Internal
open var errorOutput: OutputStream?
Link copied to clipboard
@get:Internal(value = "covered by getJavaVersion")
open var executable: @Nullable String?
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: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
open var jvmArgs: List<String?>?
Link copied to clipboard
open 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 var maxHeapSize: @Nullable String?
Link copied to clipboard
open var minHeapSize: @Nullable String?
Link copied to clipboard
open val modularity: ModularitySpec?
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:Input
@get:Optional
abstract val pathToParser: Property<String>

The location of the generated parser class, relative to the targetRootOutputDir. For backwards compatibility, setting this property changes the default of purgeOldFiles to false. Otherwise, the value of this property is only used when purgeOldFiles is set to true. When this property is set, only the given file or directory is deleted before re-generating the parser.

Link copied to clipboard
@get:Input
@get:Optional
abstract val pathToPsiRoot: Property<String>

The location of the generated PSI files, relative to the targetRootOutputDir. For backwards compatibility, setting this property changes the default of purgeOldFiles to false. Otherwise, the value of this property is only used when purgeOldFiles is set to true. When this property is set, only the given file or directory is deleted before re-generating the parser.

Link copied to clipboard
open val project: Project?
Link copied to clipboard
@get:Input
@get:Optional
abstract val purgeOldFiles: Property<Boolean>

Purge old files from the target directory before generating the parser. By default, old files are purged unless pathToParser and pathToPsiRoot have been specified. If you want to disable this option because the output directory is shared with another task, note that you may run into issues with stale files. Also note that overlapping task outputs are discouraged by Gradle and may cause issues when using the build cache.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val requiredServices: TaskRequiredServices?
Link copied to clipboard
open val sharedResources: List<ResourceLock?>?
Link copied to clipboard
open val shouldRunAfter: TaskDependency?
Link copied to clipboard
@get:InputFile
@get:PathSensitive(value = PathSensitivity.RELATIVE)
abstract val sourceFile: RegularFileProperty

Required. The source BNF file to generate the parser from.

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 var systemProperties: Map<String?, @Nullable Any?>?
Link copied to clipboard
@get:OutputDirectory
abstract val targetRootOutputDir: DirectoryProperty

Required. The output root directory.

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
open val timeout: Property<Duration?>?
Link copied to clipboard
@get:Internal
open 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 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()
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 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
fun parserFile(): Provider<RegularFile>

The output parser file computed from the pathToParser property.

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
fun psiDir(): Provider<Directory>

The output PSI directory computed from the pathToPsiRoot property.

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 setArgsString(args: String?): JavaExec?
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<*>?)
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<*>?)
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 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
open fun workingDir(dir: Any?): JavaExec?