У меня есть скрипт сборки Gradle 5.3 с использованием Kotlin DSL, похожий на этот:
plugins {
`kotlin-dsl`
`java-library`
}
group = "my.company"
version = "1.2.3"
Здесь version=
разрешается до org.gradle.api.Project.setVersion
.
Теперь, дальше, я бы хотел сделать это (портирование из файла сборки Groovy DSL):
tasks.named<Jar>("jar") {
manifest {
attributes(
"Product-Version" to version
)
}
}
Здесь version
разрешается до AbstractArchiveTask.getVersion
- не то, что я хочу (и также не рекомендуется)!
Подумав, я мог бы использовать квалификацию Котлина this
, я пытался использовать
"${this@Project.version}"
вместо этого (NB: дополнительная перенос строки избавляет от дополнительной ошибки типа), но я получаю Unresolved reference: @Project
сейчас.
Как получить доступ к версии проекта из выражения Kotlin DSL?