Google is committed to advancing racial equity for Black communities. See how.

AnnotationProcessorOptions

@Incubating interface AnnotationProcessorOptions
com.android.build.api.dsl.AnnotationProcessorOptions

Options for configuring Java annotation processor.

Summary

Public methods

abstract Unit
argument(key: String, value: String)

Adds an argument that represent primitive types for annotation processors.

abstract Unit
arguments(arguments: Map<String, String>)

Adds arguments that represent primitive types for annotation processors.

abstract Unit
className(className: String)

Adds an annotation processor class to run.

abstract Unit
classNames(vararg classNames: String)

Adds annotation processor classes to run.

abstract Unit

Adds an argument for annotation processors that you want to pass to the Android plugin using the CommandLineArgumentProvider class.

abstract Unit
compilerArgumentProviders(vararg compilerArgumentProviders: CommandLineArgumentProvider)

Adds arguments for annotation processors that you want to pass to the Android plugin using the CommandLineArgumentProvider class.

Properties

abstract MutableMap<String, String>

Specifies arguments that represent primitive types for annotation processors.

abstract MutableList<String>

Specifies the annotation processor classes to run.

abstract MutableList<CommandLineArgumentProvider>

Specifies arguments for annotation processors that you want to pass to the Android plugin using the CommandLineArgumentProvider class.

Public methods

argument

abstract fun argument(
    key: String,
    value: String
): Unit

Adds an argument that represent primitive types for annotation processors.

If one or more arguments represent files or directories, you must instead use compilerArgumentProviders.

arguments

abstract fun arguments(arguments: Map<String, String>): Unit

Adds arguments that represent primitive types for annotation processors.

If one or more arguments represent files or directories, you must instead use compilerArgumentProviders.

className

abstract fun className(className: String): Unit

Adds an annotation processor class to run.

By default, this property is empty and the plugin automatically discovers and runs annotation processors that you add to the annotation processor classpath. To learn more about adding annotation processor dependencies to your project, read Add annotation processors.

classNames

abstract fun classNames(vararg classNames: String): Unit

Adds annotation processor classes to run.

By default, this property is empty and the plugin automatically discovers and runs annotation processors that you add to the annotation processor classpath. To learn more about adding annotation processor dependencies to your project, read Add annotation processors.

compilerArgumentProvider

abstract fun compilerArgumentProvider(compilerArgumentProvider: CommandLineArgumentProvider): Unit

Adds an argument for annotation processors that you want to pass to the Android plugin using the CommandLineArgumentProvider class.

The benefit of using this class is that it allows you or the annotation processor author to improve the correctness and performance of incremental and cached clean builds by applying incremental build property type annotations.

To learn more about how to use this class to annotate arguments for annotation processors and pass them to the Android plugin, read Pass arguments to annotation processors.

compilerArgumentProviders

abstract fun compilerArgumentProviders(vararg compilerArgumentProviders: CommandLineArgumentProvider): Unit

Adds arguments for annotation processors that you want to pass to the Android plugin using the CommandLineArgumentProvider class.

The benefit of using this class is that it allows you or the annotation processor author to improve the correctness and performance of incremental and cached clean builds by applying incremental build property type annotations.

To learn more about how to use this class to annotate arguments for annotation processors and pass them to the Android plugin, read Pass arguments to annotation processors.

Properties

arguments

abstract val arguments: MutableMap<String, String>

Specifies arguments that represent primitive types for annotation processors.

If one or more arguments represent files or directories, you must instead use compilerArgumentProviders.

classNames

abstract val classNames: MutableList<String>

Specifies the annotation processor classes to run.

By default, this property is empty and the plugin automatically discovers and runs annotation processors that you add to the annotation processor classpath. To learn more about adding annotation processor dependencies to your project, read Add annotation processors.

compilerArgumentProviders

abstract val compilerArgumentProviders: MutableList<CommandLineArgumentProvider>

Specifies arguments for annotation processors that you want to pass to the Android plugin using the CommandLineArgumentProvider class.

The benefit of using this class is that it allows you or the annotation processor author to improve the correctness and performance of incremental and cached clean builds by applying incremental build property type annotations.

To learn more about how to use this class to annotate arguments for annotation processors and pass them to the Android plugin, read Pass arguments to annotation processors.