Фильтровать strings.xml с помощью gradle-android-plugin? - PullRequest
2 голосов
/ 22 мая 2011

Как бы я отфильтровал файл res / values ​​/ strings.xml?

Что-то вроде:

<resources>
    <string name="version_name">${version}</string>
...

${version} будет расширен до значения version из файла build.gradle

Ответы [ 2 ]

3 голосов
/ 23 мая 2011

Вы можете использовать ReplaceTokens с методом фильтра, если ваш токен имеет следующий формат: @token@

Итак, если ваш файл выглядит так:

<resources>
   <string name="version_name">@version@</string>
...

, тогда вы можете сделать:

import org.apache.tools.ant.filters.ReplaceTokens

def version = '1.0'

processResources{
 filter(ReplaceTokens, tokens: ['version': version])
}

Вы можете сделать это для любой задачи, которая поддерживает методы фильтрации (которая выглядит как любая задача, которая расширяет AbstractCopyTask).

Я не уверен, как вы это сделаете, если выхочу сохранить формат ${token}.Возможно, вы сможете использовать другой фильтр или установить фильтр на ReplaceTokens.Похоже, в муравье можно установить жетоны начала и конца.

0 голосов
/ 18 июня 2013

С пазухой, если вы предпочитаете без внешнего муравья:

filter {
    line -> line.replace('${version}', version)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...