У меня есть следующий Gradle BuildПопробуйте ExpandProperties в filesMatching в моем Gradle построить
./build.gradle
defaultTasks 'build'
task build(type: Copy){
// read the properties from the versions.properties file
Properties props = new Properties()
props.load(new FileInputStream("../versions.properties"))
props.each() { k, v ->
ant.properties[k] = v
}
// copy files and replace placeholders
from('ansible'){
filesMatching('**/*.ini') {
filter(org.apache.tools.ant.filters.ExpandProperties, project: ant.project)
}
filesMatching('**/*.yml') {
println it
filter(org.apache.tools.ant.filters.ExpandProperties, project: ant.project)
}
filesMatching('**/*.xml') {
println it
filter(org.apache.tools.ant.filters.ExpandProperties, project: ant.project)
}
}
into 'build/pkg/ansible'
includeEmptyDirs = true
}
Я хочу, чтобы заменить все "$ {имяПеременной}" со значением определяется в ../versions.properties для этой переменной во всех файлах * .xml, * .ini и * .yml и скопировать все файлы в новую папку.
Например: ../versions.properties
versionA=1.3
versionB=2.3
./ansible/example-file.yml
replace this version. => ${versionA}
ожидается выход в ./build/pkg/ansible/example- file.yml
replace this version. => 1.3
Результатом вышеуказанной сборки является то, что все файлы скопированы вправо местоположения, но никаких изменений в свойствах не было. :-(
Где моя ошибка?
Cheers, д.