GenerateLexerTask

@CacheableTask
abstract class GenerateLexerTask : JavaExec

A Gradle task for generating a lexer using JFlex for the IntelliJ Platform. This task takes a Flex definition file as an input, generates the lexer, and saves it in the specified output directory. It also optionally purges old files and allows specifying a custom skeleton file.

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
@get:Input
@get:Optional
abstract val packageName: Property<String>

The name of the package where the lexer shall be created. By default, the task tries to detect the package from the content of sourceFile. You may set the value to the empty string (""), if no subdirectory shall be created. The empty string represents the unnamed package.

Link copied to clipboard
open val path: String?
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 lexer. By default, old files are purged from the resolved lexer output directory unless you are using the deprecated property targetOutputDir. 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)
@get:Optional
abstract val skeleton: RegularFileProperty

An optional path to the skeleton file to use for the generated lexer. The path will be provided as --skel option. By default, it uses the idea-flex.skeleton skeleton file.

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

Required. The source Flex file to generate the lexer 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
@get:Optional
abstract val targetOutputDir: DirectoryProperty

The output directory for the generated lexer. The Java file is created directly below the given directory. The value of packageName is ignored. Stale files in the given directory are not deleted during task execution, unless purgeOldFiles is explicitly set to true.

Link copied to clipboard
@get:OutputDirectory
@get:Optional
abstract val targetRootOutputDir: DirectoryProperty

The output directory for the generated lexer. The Java file for the lexer is created in a subdirectory matching the packageName. Stale files in the resolved lexer output directory are deleted during task execution, unless purgeOldFiles is explicitly set to false.

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
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 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
fun targetFile(lexerClass: String): Provider<RegularFile>
fun targetFile(lexerClass: Provider<String>): Provider<RegularFile>

The location of the lexer class computed from the targetOutputDir. Because the lexer class is defined in the flex file, it needs to be passed here too.

Link copied to clipboard
open fun usesService(service: Provider<out BuildService<*>?>?)
Link copied to clipboard
open fun workingDir(dir: Any?): JavaExec?