Я хочу написать строку версии в моем файле манифеста, используя Gradle.Для этого я использую git describe
.Чтобы получить эту строку, я написал задачу exec
:
task gitVersion(type: Exec) {
commandLine 'git', 'describe'
standardOutput = new ByteArrayOutputStream()
ext.output = {
return standardOutput.toString()
}
}
Она работает, если я использую ее для обработки ресурсов, например:
processResources {
dependsOn gitVersion
filesMatching('build.properties') {
expand 'buildVersion': "${gitVersion.output()}"
}
}
К сожалению, это не таксработает, если я попробую это в задаче jar
.
jar {
manifest {
attributes(
// Other attributes
'Implementation-Version': "${gitVersion.output()}" // Not working
)
}
}
Как я понял, Gradle Build Lifecycle , это потому, что задача jar
- это "фаза конфигурации" иexec
Задача "фаза выполнения".
Есть ли способ выполнить задачу exec
на этапе настройки?