androidovshchik
@androidovshchik
I mount my soul at /dev/null

ComponentRegistrar класс не вызывается при билде?

Привет
Есть проект с кастомным плагином Gradle, но при сборке модуль компилятора не отвечает
Я аннотировал класс ComponentRegistrar с помощью @Autoservice и опубликовал в локальном maven (и он существует), но он не работает
KotlinGradleSubplugin отвечает и работает, однако
Заранее спасибо

Немного кода
// Relative path: buildSrc/src/main/kotlin/kt/angular/AngularKtGradleSubplugin.kt
@AutoService(KotlinGradleSubplugin::class)
class AngularKtGradleSubplugin : KotlinGradleSubplugin<AbstractCompile> {

    override fun apply(
        project: Project,
        kotlinCompile: AbstractCompile,
        javaCompile: AbstractCompile?,
        variantData: Any?,
        androidProjectHandler: Any?,
        kotlinCompilation: KotlinCompilation<KotlinCommonOptions>?
    ) = emptyList<SubpluginOption>()

    override fun isApplicable(project: Project, task: AbstractCompile) =
        project.plugins.hasPlugin(AngularKtGradlePlugin::class.java)

    override fun getCompilerPluginId() = "AngularKtPlugin"

    override fun getPluginArtifact() = SubpluginArtifact(
        groupId = "kt.angular",
        artifactId = "compiler",
        version = "0.0"
    )
}

// Relative path: compiler/src/main/kotlin/kt/angular/CommonComponentRegistrar.kt
@AutoService(ComponentRegistrar::class)
class CommonComponentRegistrar : ComponentRegistrar {

    override fun registerProjectComponents(
        project: MockProject,
        configuration: CompilerConfiguration
    ) {
        println("I am alive")
    }
}
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы