TestFixtures

interface TestFixtures : GeneratesAar, HasAndroidResources, Component

Summary

Inherited functions

ResValue.Key makeResValueKey(type: String, name: String)

Make a ResValue.Key to interact with resValues's MapProperty

Unit setAsmFramesComputationMode(mode: FramesComputationMode)

Sets the frame computation mode that will be applied to the bytecode of the classes instrumented by ASM visitors registered through transformClassesWith. The default mode is to copy frames.

When setting this multiple times, the mode with the highest enum value will be selected.

Unit transformClassesWith(classVisitorFactoryImplClass: Class<out AsmClassVisitorFactory<ParamT>>, scope: InstrumentationScope, instrumentationParamsConfig: (ParamT) -> Unit)

Registers an asm class visitor to instrument the classes defined by the given scope. An instance of the factory will be instantiated and used to create visitors for each class.

Example:

androidComponentsExtension.onVariants(selector().all(), {
    transformClassesWith(AsmClassVisitorFactoryImpl.class,
                         InstrumentationScope.Project) { params ->
        params.x = "value"
    }
    setAsmFramesComputationMode(COMPUTE_FRAMES_FOR_INSTRUMENTED_METHODS)
})

This API is experimental and subject to breaking change and we strongly suggest you don't publish plugins that depend on it yet.

Inherited properties

AarMetadata aarMetadata

Variant's aar metadata, initialized by merging the corresponding com.android.build.api.dsl.AarMetadata DSL elements.

Artifacts artifacts

Access to the variant's buildable artifacts for build customization.

String? buildType

Build type name, might be replaced with access to locked DSL object once ready.

String? flavorName

The multi-flavor name of the variant.

This does not include the build type. If no flavors are present, this will return null

The full name of the variant is queried via name.

String name

Component's name.

List<Pair<String, String>> productFlavors

List of flavor names, might be replaced with access to locked DSL objects once ready.

The order is properly sorted based on the associated dimension order.

Property<Boolean> pseudoLocalesEnabled

Variant's is pseudo locales enabled, initialized by the corresponding DSL elements.

MapProperty<ResValue.Key, ResValue> resValues

Variant's ResValue which will be generated.