2017-11-30 16 views
0

의 결과를 바탕으로, 우리 <copy> 대상 디렉토리에 파일 집합 한 다음 <exec>를 통해 그들을 aspnet_compiler 실행합니다.조건부 <exec>는 웹 기반 응용 프로그램에 대한 우리의 NANT 빌드 스크립트에서 <copy>

<copy>은 변경된 파일 만 복사하지만 여기서는이 정보를 <exec>에 전달할 방법이 없으며 실제로 아무 것도 변경되지 않은 경우 aspnet_compiler를 실행하지 않도록하고 싶습니다.

옵션 찾기 시도 : <copy> 파일 복사 후 속성을 설정하면 <if>으로 확인할 수 있습니다. 복사하기 전에 파일을 만들고 <if test="any-file-newer-than(targetdir, timestampfile)">과 같은 작업을 수행 할 수 있습니다. <copy>이 전체 트리를 처리하는 것을 피하기 위해 반복 할 수있는 복사 된 파일의 목록을 반환 할 수 있다면 더 좋을 것입니다.하지만 너무 많이 묻는 것 같아요.

지금까지 비어있는 부분을 그렸습니다. 맞춤 확장 프로그램을 작성하지 않고도 찾고자하는 것이 무엇입니까?

답변

0

단순히 복사 작업을 robocopy로 바꾸지 않는 이유는 무엇입니까? (당신이 바로, 윈도우에있어?)

있는 Robocopy 다른 성공 복사 상황에 다른 종료 코드를 반환한다 : 예를 들어 https://ss64.com/nt/robocopy-exit.html

:

  • 0 - 좋아, 아무것도 복사되지
  • 1 - 확인되었습니다. 복사 된 내용이 있습니다.

<exec program="robocopy.exe" commandline="${SourceDir} ${DestDir}" failonerror="false" resultproperty="ExitCode" /> 
 
<fail unless="${ExitCode &lt; 8}" message="Failed to copy"/> <!-- Anything between 0..7 is OK for robocopy --> 
 
<exec unless="${ExitCode == 0}" ...