2016-03-07 2 views
0

Я пытаюсь использовать ANT встроенный (так что не contrib), чтобы создать файл конфигурации.ANT замените все маркеры в файле

Что я хочу сделать, если установлено свойство из файла .properties, ANT заменит соответствующий токен в файле конфигурации.

Но так как я получаю 2 (или более) группы свойств, сначала мне нужно их отфильтровать.

Для Exemple:

build.properties : 

test.p1=valueTestA 
test.p2=valueTestB 
prod.p2=valueProdA 
prod.p3=valueProdB 

base cfg file : 

var1 = "@[email protected]"; 
var2 = "@[email protected]"; 
var3 = "@[email protected]"; 

В конце концов, в зависимости, если я использую тестовую или лезвие группы свойств, только @ p1 @ @ р2 @ ИЛИ @ р2 @ @ р3 @ будет заменен (и другой игнорируется)

Я попытался использовать <propertyref> и <mapper>, чтобы фильтровать, но похоже, что я делаю это действительно неправильно.

Любая идея, чтобы помочь мне сделать это?

+0

Возможный дубликат [Замена всех токенов на основе файла свойств с ANT] (http://stackoverflow.com/questions/4508122/replacing-all-tokens-based-on-properties-file-with-ant) –

ответ

1

объявить фильтр в одиночку не достаточно,

вы должны использовать что-то вроде

<filter filtersfile="build.properties"/> 
<copy file="basecfgfile" tofile="${dest.file}" filtering="true" /> 

и в этом случае, ум, что маркер текст должен был бы соответствовать, т.е. «p1» вместо «прод .p1.

Любая конкретная причина или ограничение, почему бы не использовать ant-contrib?

Смежные вопросы