Гант: Копировать с фильтрацией

У меня есть каталог '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")
}
Другие вопросы по тегам