Эквивалент svnExists в NANT

#svn #ant #continuous-integration #nant

#svn #ant #непрерывная интеграция #nant

Вопрос:

Мне нужно завершить сборку nant, если URL-адрес SVN уже существует. По сути, я прекращаю дальнейшие сборки из выпущенного кода. В ANT я бы запустил

     <if>
        <svnExists target="svn url"  refid="svn.settings"/>
        <then>
            <fail>Can not give this build to QA - this number was already released to Operations</fail>
        </then>
        <else>
            <echo message="good to go"/>
        </else>
    </if>
  

Но я не могу найти эквивалентный способ сделать это для NANT, который мне нужно использовать для этого проекта. Идеи?

Ответ №1:

Вы можете сделать это с помощью программы svn и задачи exec.

 <exec program="svn" resultproperty="zero_if_url_exists.prop" failonerror="false">
   <arg value="info"/>
   <arg value="http://my.svn.server/branches/foobar"/>
</exec>

<if test="${int::parse(zero_if_url_exists.prop) == 0}">
    <echo message="The url exists."/>
</if>
<if test="${int::parse(zero_if_url_exists.prop) != 0}">
    <echo message="The url doesn't exist."/>
</if>