이 outofdate
taskant-contrib에서의 좋은 사용 사례입니다 : 이것은 generatedFolder
에서 모든 파일에 대해 definitionFolder
에서 모든 파일을 검사합니다
<outofdate>
<sourcefiles>
<fileset dir="${definitionFolder}" />
</sourcefiles>
<targetfiles>
<fileset dir="${generatedFolder}" />
</targetfiles>
<sequential>
<exec executable="${codeGenTool-path}">
<arg value="${definitionFolder}" />
<arg value="${generatedFolder}" />
</exec>
</sequential>
</outofdate>
이 - 당신이보다 긴밀하게 예를 파일 세트를 제한 할 수 있습니다 includes="**/*.def"
또는 관련 파일 확장명을 사용하십시오.
"타사"작업을 피하려면 dependset
작업을 사용하여 원본 파일과 대상 파일을 비교할 수 있습니다.
<target name="generate" depends="check.generate, do.generate" />
<target name="check.generate">
<dependset>
<srcfileset dir="${definitionFolder}" />
<targetfileset dir="${generatedFolder}" />
</dependset>
<condition property="gen.required">
<resourcecount count="0" when="equal">
<fileset dir="${generatedFolder}" />
</resourcecount>
</condition>
</target>
<target name="do.generate" if="gen.required">
<exec ....>
</target>
는 dependset
작업은 그들 중 소스 파일의보다 오래된 경우 모든 대상 파일을 삭제, 그래서 우리는 do.generate
조건부 할 수 있습니다 - generatedFolder
에는 파일이없는 경우 실행됩니다 이전에 실행 된 적이 없거나 생성 된 파일의 유효 기간이 만료 된 경우에 해당됩니다.