ausführen von Ant-task, wenn ZWEI Bedingungen erfüllt sind

Die oben - Skript implementiert if dir_is_empty then git-clone else git-fetch mit Hilfe von Ant-1.7.1 Kernaussagen:

<target name="update" depends="git.clone, git.fetch" />

<target name="check.dir">
  <fileset dir="${dir}" id="fileset"/>
  <pathconvert refid="fileset" property="dir.contains-files" setonempty="false"/>
</target>

<target name="git.clone" depends="check.dir" unless="dir.contains-files">
  <exec executable="git">
    <arg value="clone"/>
    <arg value="${repo}"/>
    <arg value="${dir}"/>
  </exec>
</target>

<target name="git.fetch" depends="check.dir" if="dir.contains-files" >
  <exec executable="git" dir="${dir}">
    <arg value="fetch"/>
  </exec>
</target>

(siehe meine andere post)


Aber wie implementieren einer target aktiviert ist, indem Sie zwei Bedingungen?

if dir_does_not_exist or dir_is_empty then git-clone else git-fetch

mein Aktueller Versuch:

<target name="git.clone" 
        depends="chk.exist, chk.empty" 
        unless="!dir.exist || dir.noempty" >
  [...]
</target>

<target name="chk.exist">
  <condition property="dir.exist">
    <available file="${dir}/.git" type="dir"/>
  </condition>
</target>

[...]

Ich würde es vorziehen, Ant-1.7.1 wesentliche Aussagen. Aber ich bin offen über andere Möglichkeiten als Ant contrib, oder das eingebettete script... Feel free to post your ideas...

Werden(siehe auch Frage Ausführen von ANT-task nur aus, wenn eine Bedingung erfüllt ist)

InformationsquelleAutor olibre | 2013-08-07
Schreibe einen Kommentar