@@ -5,17 +5,18 @@ package io.embrace.android.gradle.plugin.instrumentation
55import com.android.build.api.instrumentation.FramesComputationMode
66import com.android.build.api.variant.AndroidComponentsExtension
77import io.embrace.android.gradle.plugin.config.PluginBehavior
8- import io.embrace.android.gradle.plugin.extension.EmbraceExtensionInternal
8+ import io.embrace.android.gradle.plugin.instrumentation.config.model.VariantConfig
99import org.gradle.api.Project
10- import org.gradle.api.UnknownDomainObjectException
10+ import org.gradle.api.provider.ListProperty
1111
1212/* *
1313 * Registers an ASM class visitor for all build variants, which ensures that the
1414 * relevant classes are instrumented.
1515 */
1616fun registerAsmTasks (
1717 project : Project ,
18- behavior : PluginBehavior
18+ behavior : PluginBehavior ,
19+ variantConfigurationsListProperty : ListProperty <VariantConfig >,
1920) {
2021 // register for asm
2122 project.extensions.getByType(AndroidComponentsExtension ::class .java).onVariants { variant ->
@@ -33,27 +34,10 @@ fun registerAsmTasks(
3334 scope
3435 ) { params: BytecodeInstrumentationParams ->
3536 project.logger.debug(" Configuring ASM instrumentation" )
36- val embraceExtensionInternal = checkNotNull(
37- project.extensions.findByType(EmbraceExtensionInternal ::class .java)
38- )
3937
4038 params.config.set(
41- project.provider {
42- val variantExtension = try {
43- embraceExtensionInternal.variants.getByName(variant.name)
44- } catch (exc: UnknownDomainObjectException ) {
45- project.logger.lifecycle(
46- " Variant ${variant.name} not found in EmbraceExtensionInternal." +
47- " Following variants are available: ${
48- embraceExtensionInternal.variants.asMap.values.joinToString(
49- " ,"
50- )
51- } "
52- )
53- throw exc
54- }
55-
56- variantExtension.config.get()
39+ variantConfigurationsListProperty.map { variantConfigs ->
40+ variantConfigs.first { it.variantName == variant.name }
5741 }
5842 )
5943 params.logLevel.set(
0 commit comments