#gradle #gradle-kotlin-dsl
#gradle #gradle-kotlin-dsl
Вопрос:
Я пытаюсь перенести a build.gradle
на build.gradle.kts
и застрял с этой ошибкой:
Line 036: ext.pluginInfo.licenses = ["Apache-2.0"]
^ Unresolved reference: pluginInfo
Оригинал build.gradle
«включает» другой скрипт, а затем ссылки pluginInfo
из этого скрипта:
apply from: "rubyUtils.gradle"
pluginInfo.licenses = ["Apache-2.0"]
Это (сокращенная) часть, rubyUtils.gradle
которая предоставляет pluginInfo
(я думаю):
ext {
pluginInfo = new PluginInfo()
}
Вот что я придумал в Kotlin. Это вызывает ошибку, упомянутую в начале:
apply(from = "rubyUtils.gradle")
ext.pluginInfo.licenses = ["Apache-2.0"]
Вопросы:
- Возможно ли вообще «импортировать» скрипт Groovy Gradle в скрипт Kotlin (применить плагин Groovy script в скрипте Kotlin)?
- Если это возможно: как мне правильно ссылаться
pluginInfo
? - И что это вообще за «ext»? 🙂
Ответ №1:
- Да, вы можете импортировать скрипты Groovy в Kotlin и наоборот. К сожалению, вы можете столкнуться с проблемами загрузки классов.
val pluginInfo by extra
является ли обозначение, которое вы ищете, в соответствии с документацией- Короче говоря, это система расширений, которая уже давно находится в Gradle и должна использоваться с осторожностью. Опять же, взгляните на документацию, связанную выше, для получения более подробной информации.