Я пытаюсь написать плагин Gradle и зарегистрировать задачи для вариантов выпуска и отладки. Я следую официальным инструкциям здесь.
Я не совсем понимаю, как получить конфигурацию Android из проекта. Этот не компилируется:
Я пытаюсь написать плагин Gradle и зарегистрировать задачи для вариантов выпуска и отладки. Я следую официальным инструкциям здесь. Я не совсем понимаю, как получить конфигурацию Android из проекта. Этот не компилируется: [code] val variants = if (project.extensions.findByName("android")?.hasProperty("applicationVariants") == true) { project.extensions.findByName("android")?.applicationVariants } else { project.extensions.findByName("android")?.libraryVariants }
// Ensure variants is non-null before proceeding (variants as? Iterable)?.all { variant -> val variantUpper = variant.name.capitalize()
project.tasks.register("buildCargoNdk$variantUpper", CargoNdkBuildTask::class.java) { group = "Build" description = "Build rust library for variant ${variant.name}" setVariant(variant.name) extension = ext } }
project.tasks.whenTaskAdded { task -> (variants as? Iterable)?.forEach { variant -> val variantName = variant.name val variantUpper = variantName.capitalize() val preTasks = listOf("compile${variantUpper}Sources", "merge${variantUpper}JniLibFolders")
if (task.name in preTasks) { task.dependsOn("buildCargoNdk$variantUpper") } } } [/code] Идея состоит в том, чтобы переписать эту версию Groovy на Kotlin DSL. Есть какие-нибудь указания?