Гант: Копировать с фильтрацией
У меня есть каталог 'doc', содержащий документацию HTML, и каждый HTML содержит заполнители для версии приложения и версии SVN:
Welcome to the ... V${version} r${buildNumber}
В моем скрипте сборки Grails/Gant мы создаем пакет документов, для которого сначала копируем каталог документов в промежуточную область, а затем архивируем его. Теперь я хочу заменить эти заполнители такими значениями (предположим, что переменные appVersion
а также svnRevision
установлены правильно:
ant.mkdir(dir: "${baseDocDir}")
ant.copy(todir: "${baseDocDir}") {
fileset(dir: "./src/main/doc", includes: '*.html')
filterset {
filter ( token : 'version' , value: appVersion )
filter ( token : 'buildNumber' , value : svnRevision )
}
}
Копия работает, но как-то не работает фильтр!
1 ответ
Решение
Я могу ответить на вопрос сам сейчас. Следующий код работает:
ant.copy(todir: "${baseDocDir}") {
filterset(begintoken: "\${", endtoken: "}") {
filter(token: "version", value: appVersion)
filter(token: "buildNumber", value: svnRevision)
}
fileset(dir: "./src/main/doc/", includes: "**/*.html")
}