Как получить параметры отличного класса внутри 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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