2014-06-03 4 views
0

Поэтому мне нужно написать скрипт Ant, который выполняет итерацию через файл свойств и использует ключи из этого файла, чтобы извлекать значения из нескольких других файлов свойств (используя тот же ключ).Итерация через файл свойств в Ant

Я не смог найти какие-либо примеры удаленно похожим на то, что я пытаюсь выполнить. Это что-то правдоподобное с Ant? Я знаю его довольно старый. Я никогда не использовал Maven, но я считаю, что наша платформа сможет поддерживать это, если это невозможно в Ant

+0

Но имейте в виду, что свойства один набор неизменны в муравья. Таким образом, вытягивание значения с тем же именем (= ключ) в качестве уже установленного свойства всегда будет возвращать одно и то же значение. – Rebse

+0

.. что означает «тянуть значения»? Вы должны предоставить более подробную информацию. – Rebse

+0

@Rebse, у меня есть 3 файла свойств, все они имеют одинаковые ключи, но разные значения. Мне нужно выполнить итерацию по одному из них, содержащему true/false для значений, и использовать ключи, где значение истинно для поиска значений в двух других файлах свойств. – Gus

ответ

1

Используя команду <script>, вы можете выполнить код arbirary java/javascript и не поддерживать код. В вашем случае, возможно, некоторые похожи на:

<scriptdef name="iterateprops" language="javascript"> 
    <attribute name="src" /> 
    <![CDATA[ 
     importClass(java.util.Properties); 
     importClass(java.io.FileInputStream); 
     var src = attributes.get("src"); 
     var properties = new Properties(); 
     properties.load(new FileInputStream(src)); 
     var names = properties.propertyNames(); 
     while(names.hasMoreElements()) { 
      println (names.nextElement()); 
     } 

    ]]> 
</scriptdef> 

позже использовать:

<iterateprops src="file.properties" /> 
+0

Спасибо! Это выглядит как лучший способ сделать это! – Gus

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