Как получить пользовательский метод внутри блока с Kotlin Gradle DSL?
Я перевожу одно приложение из Gradle Groovy в Котлин. Это приложение использует Dexguard и использует метод getDefaultDexGuardFile
загрузить файл конфигурации.
release {
signingConfig signingConfigs.upload
proguardFiles getDefaultDexGuardFile('dexguard-release-aggressive.pro')
proguardFiles 'dexguard-rules.pro'
}
Но при переходе на Kotlin я не могу найти способ, чтобы он распознал эту опцию:
getByName("release") {
signingConfig = signingConfigs.getByName("upload")
proguardFiles(
"getDefaultDexGuardFile"("dexguard-release-aggressive.pro"), // ?
getDefaultDexGuardFile("dexguard-release-aggressive.pro"), // ?
"dexguard-rules.pro",
)
}
IDE не предлагает какой-либо импорт, поэтому я не знаю, как это сделать. В банке Dexguard я увидел две ссылки на этот метод:
public class C0867Pp extends Closure implements GeneratedClosure
а также
public class C0828PC implements GroovyObject
1 ответ
Немного поиграв с настройками плагина, я нашел это решение:
getByName("release") {
signingConfig = signingConfigs.getByName("upload")
proguardFiles(
extraDexguardMethods.getDefaultDexGuardFile("dexguard-release-aggressive.pro"),
"dexguard-rules.pro",
)
}