2015-04-13 3 views
0

У меня есть сценарий, в котором используется ANT Script Мне нужно получить коды от SVN с использованием файла свойств.Извлечь коды из SVN с помощью файла свойств

Файлы свойств имеют свойство projectlib, где библиотеки, используемые в модуле, перечислены как значения, разделенные запятой, и соответствующие номера их версий перечислены в свойстве projectlib.revision ниже.

Мне нужно получить проектлиб с соответствующим номером ревизии.

Файл свойств выглядит, как показано ниже:

projectliblist=XXXXLib1,XXXXLib2 
projectlibrevision=3195,3289  

Для примера, здесь я должен принести XXXXLib1 из 3195 и XXXXLib2 от 3289.

Мне нужна логика, чтобы соответствовать projectlib с соответствующим номером ревизии, а не полным скриптом для этого сценария.

Я пробовал использовать список For, но я не знаю, как индексировать список параметров.

+0

Поскольку это Ant, я предполагаю, что это Java, и вы пытаетесь связать файлы Jar? Это верно? Если это так, вы должны изучить использование [Ivy] (http://ant.apache.org/ivy) или [Maven] (http://maven.apache.org). Айви работает с Ant, поэтому, если у вас уже есть 'build.xml', включение Ivy в вашу текущую сборку не так уж сложно. Обычно это работает лучше, чем писать собственные схемы управления библиотекой. –

ответ

0

Проблема, с которой вы столкнетесь, с двумя свойствами списка, которые вы показываете, заключается в том, что (по крайней мере, используя ant-contrib: for) у вас нет возможности перекрестно ссылаться на них.

This answer показывает, как можно легко перекрестно передать свойства, используя ant-contrib: for/macrodef и может быть полезным в качестве примера.

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

projectliblist=XXXXLib1,XXXXLib2 
projectlib.XXXXLib1.revision=3195 
projectlib.XXXXLib2.revision=3289 

, которые вы могли бы потреблять по образцу в ответ я связан выше, или возможно:

projectliblist=XXXXLib1/3195,XXXXLib2/3289 

, которые вы могли бы потреблять в цикле, который расщепляет каждый элемент списка на две части и проходит в macrodef с двумя атрибутами.

+0

Спасибо за ваше время. Я попробую изменить структуру свойств – Balas

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