Skip to content

Commit 16c932f

Browse files
committed
Use variantConfigurationListProperty instead of EmbraceExtensionInternal in AsmTasks
1 parent ac5d621 commit 16c932f

File tree

2 files changed

+7
-23
lines changed

2 files changed

+7
-23
lines changed

embrace-gradle-plugin/src/main/java/io/embrace/android/gradle/plugin/EmbraceGradlePluginDelegate.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class EmbraceGradlePluginDelegate {
5151
)
5252

5353
// bytecode instrumentation must be registered before project evaluation
54-
registerAsmTasks(project, behavior)
54+
registerAsmTasks(project, behavior, variantConfigurationsListProperty)
5555

5656
val embraceVariantConfigurationBuilder =
5757
EmbraceVariantConfigurationBuilder(

embrace-gradle-plugin/src/main/java/io/embrace/android/gradle/plugin/instrumentation/AsmTasks.kt

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@ package io.embrace.android.gradle.plugin.instrumentation
55
import com.android.build.api.instrumentation.FramesComputationMode
66
import com.android.build.api.variant.AndroidComponentsExtension
77
import 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
99
import 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
*/
1616
fun 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

Comments
 (0)