diff --git a/booster-gradle-plugin/src/main/kotlin/com/didiglobal/booster/gradle/BoosterPlugin.kt b/booster-gradle-plugin/src/main/kotlin/com/didiglobal/booster/gradle/BoosterPlugin.kt index fa26c6b27..921ae13ec 100644 --- a/booster-gradle-plugin/src/main/kotlin/com/didiglobal/booster/gradle/BoosterPlugin.kt +++ b/booster-gradle-plugin/src/main/kotlin/com/didiglobal/booster/gradle/BoosterPlugin.kt @@ -4,6 +4,7 @@ import com.android.build.gradle.AppExtension import com.android.build.gradle.BaseExtension import com.android.build.gradle.LibraryExtension import com.android.build.gradle.api.BaseVariant +import com.didiglobal.booster.task.spi.VariantProcessor import org.gradle.api.GradleException import org.gradle.api.Plugin import org.gradle.api.Project @@ -22,6 +23,17 @@ class BoosterPlugin : Plugin { project.gradle.addListener(BoosterTransformTaskExecutionListener(project)) } + val processors = loadVariantProcessors(project) + if (project.state.executed) { + project.setup(processors) + } else { + project.afterEvaluate { + project.setup(processors) + } + } + } + + private fun Project.setup(processors: List) { val android = project.getAndroid() when (android) { is AppExtension -> android.applicationVariants @@ -29,24 +41,13 @@ class BoosterPlugin : Plugin { else -> emptyList() }.takeIf>(Collection::isNotEmpty)?.let { variants -> android.registerTransform(BoosterTransform.newInstance(project)) - if (project.state.executed) { - project.setup(variants) - } else { - project.afterEvaluate { - project.setup(variants) + variants.forEach { variant -> + processors.forEach { processor -> + processor.process(variant) } } } } - private fun Project.setup(variants: Collection) { - val processors = loadVariantProcessors(this) - variants.forEach { variant -> - processors.forEach { processor -> - processor.process(variant) - } - } - } - }