проблема со свойствами ant-скрипта - PullRequest
1 голос
/ 01 июня 2011

Вот мой муравейный скрипт:

<project name="nightly_build" default="main" basedir="C:\Work\6.70_Extensions\NightlyBuild">
    <target name="init">
        <sequential>
            <exec executable="C:/Work/Searchlatestversion.exe">
                <arg line='"/SASE Lab Tools" "6.70_Extensions/6.70.102/ANT_SASE_RELEASE_"'/>
            </exec>
            <property file="C:/Work/latestbuild.properties"/>
            <sleep seconds="10"/>
            <echo message="The product version is ${Product_Version}"/>
            <exec executable="C:/Work/checksnapshot.exe">
                <arg line='"ANT_SASE_RELEASE_${Product_Version}_SASE Lab Tools-NightlyBuild" ANT_SASE_RELEASE_${Product_Version}_AnalyzerCommon-NightlyBuild ${Product_Version}-AppsMerge' />
            </exec> 
            <property file="C:/Work/checksnapshot.properties"/>
            <tstamp>
                <format property="suffix" pattern="ddMMyyyyHHmm"/>
            </tstamp>
        </sequential>
    </target>
    <target name="main" depends="init">
            <echo message="loading properties files.." />
            <sleep seconds="10"/>
            <echo message="Backing up folder" />
            <move file="C:\NightlyBuild\NightlyBuild" tofile="C:\NightlyBuild\NightlyBuild.${suffix}" failonerror="false" />
            <parallel>
                <exec executable="C:/Work/sortfolder.exe">
                    <arg line="6" />
                </exec>
                <exec executable="C:/Work/6.70_Extensions/NightlyBuild/antc.bat">
                </exec>
            </parallel>
    </target>
</project>

В основном последовательность выглядит примерно так:

  1. Я буду запускать Searchlatestversion.exe и писать latestbuild.properties
  2. Используя latestbuild.properties, я получу ${Product_Version} и хотел бы разрешить checknapshot.exe доступ к latestbuild.properties и получить ${Product_Version}
  3. checksnapshot.exe сгенерирует checksnapshot.properties, который затем будет использоваться целью в основном antc.bat

я что-то здесь не так делаю? Похоже, что ${Product_Version} плохо воспринимается checksnapshot.exe

Ответы [ 2 ]

1 голос
/ 01 июня 2011

У вас, кажется, есть жестко заданный период ожидания 10 секунд для Searchlatestversion для записи вашего файла.Если исполняемый файл не завершается в течение этого времени, ${Product_Version} не может быть прочитан из файла.

Рассматривали ли вы использование Waitfor Ant Task?Как следует из названия, это будет ждать определенного условия, прежде чем позволит остальной части задачи выполнить.Вы могли бы сделать что-то вроде

<property name="props.file" value="C:/Work/latestbuild.properties"/>
<waitfor maxwait="10" maxwaitunit="second">
  <available file="${props.file}"/>
</waitfor>
<property file="${props.file}"/>
0 голосов
/ 01 июня 2011

Производит ли Searchlatestversion.exe файл C: /Work/latestbuild.properties?

Если это так, не следует ли вам спать / ждать до загрузки этого файла свойств?

У вас есть это:

        <exec .../>
        <property file="C:/Work/latestbuild.properties"/>
        <sleep seconds="10"/>

Если у вас нет этого:

        <exec ... />
        <sleep seconds="10"/>
        <property file="C:/Work/latestbuild.properties"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...