2014-08-28 3 views
0

Привет, я новичок в nant и хочу сделать какую-то функцию/задачу, которая группирует кучу обычных nant-задач.Как написать пользовательские задачи Nant для задач Nant

В принципе у меня есть 3 вебов-сайтов с web.config файлами, которые мне нужно написать ConnectionString и imageDir значения 2, только путь к файлу изменение

В настоящее время я шлейфовый в CSV путей файлов для достижения этой цели, но хотел бы вытащить код из цикла и сделать его задачей/функцией/целью или чем-то еще. Каков наилучший подход.

 <foreach item="String" in="${webConfig.includedFilePaths}" delim="," property="File.Path"> 
      <do> 
       <xmlpoke 
        file="${File.Path}" 
        xpath="${connectionString.XPath}" 
        value="${connectionString.Value}" /> 
       <xmlpoke 
        file="${File.Path}" 
        xpath="${imageDir.XPath}" 
        value="${imageDir.Value}" /> 
      </do> 
     </foreach> 

Я надеюсь, что-то вроде:

<writeWebConfig file=${file.Path}" 

ответ

0

Вы можете создать задачу пользовательских NANT со свойством, как:

<target name="UpdateConfig"> 
    <property name="config.filepath" value="" /> 
    <!-- Rest of the task code here --> 
    </target> 

И тогда вы можете назвать эту задачу, как много раз как вы хотите с пользовательским значением свойства config.filepath. Вы можете изменить значение свойства из командной строки с помощью -Д, как:

-D:config.filepath=D:\TestWeb\web.config 
+0

Спасибо, я в конечном итоге с использованием мишени, то просто вызвать его из другого целевого использования Nant задача – eweb

+0

Законченное используя подобный подход и использовать задачу NANT для выполнения цели с другой цели. – eweb

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