JextractGenerateTask

@CacheableTask
abstract class JextractGenerateTask : JextractBaseTask(source)

Uses Jextract to generate Java bindings for a given native library

Constructors

Link copied to clipboard
constructor()

Properties

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

An optional arg file for includes filtering

Link copied to clipboard
@get:Input
abstract val definedMacros: ListProperty<String>

All macros defined for this library, conforming to the <name>=<value> pattern or <name> where <value> will be 1

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

If true, this instructs Jextract 21 and older to generate source files instead of class files

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

Name of the generated header class (derived from header file name if missing)

Link copied to clipboard
@get:Input
abstract val libraries: ListProperty<String>

The names of the libraries that should be loaded by the generated header class

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

The directory where to place the generated source files

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

The package name for the generated classes (unnamed if missing).

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

If true, this instructs Jextract to load the shared libraries in the loader symbol lookup

Link copied to clipboard
@get:Input
abstract val whitelist: MapProperty<String, Set<String>>

All symbols to be included in the generated bindings, grouped by their category