Как получить параметры отличного класса внутри build.gradle(app) в пользовательский плагин gradleAndroid

Форум для тех, кто программирует под Android
Anonymous
Как получить параметры отличного класса внутри build.gradle(app) в пользовательский плагин gradle

Сообщение Anonymous »

Я создал собственный плагин Gradle для Android, написанный на Kotlin. Плагин работает корректно. Одна вещь, которой мне не хватает, - это получение параметров из класса внутри моего приложения build.gradle (уровень приложения).
Поэтому я применяю MyPlugin к приложению.
build.gradle (уровень приложения)

Код: Выделить всё

plugins{
id 'com.example.MyPlugin'
}
....
....
ArchiveConfig{
username 'James'
password '12345678'
debugApk false
}
внутри MyPlugin.kt в проекте MyPlugin

Код: Выделить всё

open class MyPlugin : Plugin
{

val archiveConfig: ArchiveConfig = project.extensions.create("ArchiveConfig", ArchiveConfig())

override fun apply(p : Project) {
//some code
}
}

//I believe here I should somehow fetch that ArchiveConfig values from build.gradle which is inside

open class ArchiveConfig(var username: String? = null
var password: String? = null
vardebugApk: Boolean = false) : GroovyObjectSupport() {
//do something with data in plugin
}
Если я воспользуюсь описанным подходом, я получу ошибку.

Не удалось найти метод ArchiveConfig() для аргументов [ ...]

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/669 ... custom-gra

Вернуться в «Android»