MetroPluginExtension

abstract class MetroPluginExtension @Inject constructor(layout: ProjectLayout, objects: ObjectFactory, providers: ProviderFactory)(source)

Constructors

Link copied to clipboard
@Inject
constructor(layout: ProjectLayout, objects: ObjectFactory, providers: ProviderFactory)

Types

Link copied to clipboard
abstract class InteropHandler @Inject constructor(objects: ObjectFactory)

Properties

Link copied to clipboard
val debug: Property<Boolean>

If enabled, the Metro compiler plugin will emit extremely noisy debug logging.

Link copied to clipboard
val enabled: Property<Boolean>

Controls whether Metro's compiler plugin will be enabled on this project.

Link copied to clipboard

Enable/disable Kotlin version compatibility checks. Defaults to true or the value of the metro.version.check gradle property.

Link copied to clipboard

Enables whether the Metro compiler plugin can inject top-level functions. See the kdoc on Inject for more details.

Link copied to clipboard

Enables whether the Metro compiler plugin will automatically generate assisted factories for injected constructors with assisted parameters. See the kdoc on AssistedFactory for more details.

Link copied to clipboard

Enable/disable hint property generation in IR for contributed types. Enabled by default.

Link copied to clipboard
Link copied to clipboard

Configures the Metro compiler plugin to warn, error, or do nothing when it encounters public provider callables. See the kdoc on Provides for more details.

Link copied to clipboard
val reportsDestination: DirectoryProperty

If set, the Metro compiler will dump report diagnostics about resolved dependency graphs to the given destination.

Link copied to clipboard

Enable/disable automatic transformation of providers to be private. Enabled by default.

Functions

Link copied to clipboard

Configures interop to support in generated code, usually from another DI framework.