ฉันมีสคริปต์สร้าง 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
ของ Kotlin ได้ ฉันพยายามใช้
"${[email protected]}"
แทน (หมายเหตุ: การตัดสตริงพิเศษจะกำจัดข้อผิดพลาดประเภทเพิ่มเติม) แต่ตอนนี้ฉันได้รับ Unresolved reference: @Project
ฉันจะเข้าถึงเวอร์ชันโปรเจ็กต์จากภายในนิพจน์ Kotlin DSL ได้อย่างไร