Package-level declarations

Types

Link copied to clipboard
@RequiresOptIn(level = RequiresOptIn.Level.ERROR, message = "This is a dangerous API and its use requires extreme caution. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.")
annotation class DangerousMetroGradleApi(val message: String)

Marks declarations in the Metro Gradle API that are dangerous — they are extremely experimental, unstable, and should be regarded as wholly unproven in production. Carefully read documentation and message of any declaration marked as DangerousMetroGradleApi.

Link copied to clipboard
@RequiresOptIn(level = RequiresOptIn.Level.WARNING, message = "This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.")
annotation class DelicateMetroGradleApi(val message: String)

Marks declarations in the Metro Gradle API that are delicate — they have narrow use-cases and should be used with care in general code. Carefully read documentation and message of any declaration marked as DelicateMetroGradleApi.

Link copied to clipboard
@RequiresOptIn(level = RequiresOptIn.Level.WARNING, message = "This is an experimental API and may change or be removed in the future. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.")
annotation class ExperimentalMetroGradleApi

Marks declarations in the Metro Gradle API that are experimental — they are incubating and may be removed or changed in the future. Carefully read documentation of any declaration marked as ExperimentalMetroGradleApi.

Link copied to clipboard
Link copied to clipboard
class MetroGradleSubplugin @Inject constructor(problems: Problems) : KotlinCompilerPluginSupportPlugin
Link copied to clipboard
abstract class MetroPluginExtension @Inject constructor(compilerVersion: Provider<KotlinToolingVersion>, layout: ProjectLayout, objects: ObjectFactory, providers: ProviderFactory)
Link copied to clipboard

Controls the behavior of optional bindings on a per-compilation basis.

Link copied to clipboard
@RequiresOptIn(level = RequiresOptIn.Level.WARNING, message = "Marks declarations in the Metro Gradle API that require IDE support to be enabled to be useful in a project. If you are willing to do this, you can opt in this annotation! See https://zacsweers.github.io/metro/latest/installation/#ide-support for setup instructions.")
annotation class RequiresIdeSupport

Marks declarations in the Metro Gradle API that require IDE support to be enabled to be useful in a project. If you are willing to do this, you can opt in this annotation!