2011-10-11 3 views
1

파일의 모든 대상을 나열하는 ant 명령이 있습니까?파일의 모든 대상을 나열하는 ant 명령이 있습니까?

지금은 조금 파워 쉘 스크립트를 사용하여 <target이 포함 된 라인을 일치 시키지만 그다지 좋은 해결책은 아닙니다. 어떤 종류의 명령어가 내장되어 있습니까?

+0

[가능한 대상을 어떻게 볼 수 있습니까?] (http://stackoverflow.com/questions/3913638/how-do-i-see-the-available-targets) – brandizzi

답변

1

가장 가까운 값은 ant -p (또는 자세한 내용은 ant -p -v)입니다. 이것은 대상 종속성을 나열하지는 않지만 문제가되지는 않습니다. 종속성은 최종 사용자에게 중요하지 않습니다. 대상 종속성은 대상 작동 방식을 알려줍니다.

이 중요한 것은 대상이 설명에 있어야 무엇을하는 무엇이다 :

<target name="foo" depends="bar" description="Does the foo operation"> 
    ... 
</target> 

은 당신이 정말 원하는 것은 당신이 할 수있는 최선입니다 xml 파일을 읽는 대상 종속성입니다 I.

+0

감사합니다.이 명령은 훌륭합니다. – tjb

0

없음이되지 않습니다하지만 당신은 이런 식으로 작업을 수행 할 수 있습니다

<target name="list.targets"> 
    <xslt in="${basedir}\{build.file}" 
      out="tmp" 
      style="${display.targets.xsl}"> 
    </xslt> 
    <delete file="tmp"/> 
</target> 

다음을 끝내고 .xsl 파일 $ {display.targets.xsl} 포인트 :

<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> 
    <xsl:output method='text'/> 

    <xsl:template match="/"> 
     <xsl:for-each select="//target"> 
      <xsl:sort data-type="text" select="@name"/> 
      <xsl:message terminate="no"> 
Target : <xsl:value-of select="@name"/><xsl:if test="@depends"> depends on : <xsl:value-of select="@depends"/> 
       </xsl:if> 
       <xsl:if test="@description"> 
Description : <xsl:value-of select="@description"/> 
       </xsl:if> 
      </xsl:message> 
     </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 

그리고 $ {basedir} {build.file}은 현재 build.xml 파일을 가리 킵니다. 출력은 다음과 같습니다.

[xslt] Loading stylesheet D:\Tools\StackOverFlow\test.xslt 
[xslt] 
[xslt] Target : build 
[xslt] 
[xslt] Target : modify.trs 
[xslt] Description : Modifies .trs file targets 
[xslt] 
[xslt] Target : regex depends on : modify.trs 

물론 build.xml에 따라 다릅니다.

0

search for "ant dependency graph"의 경우, GraphViz가 시각적 그래프로 렌더링 할 수있는 빌드 파일에서 .dot 파일을 만드는 방법에 대한 몇 가지 제안을 찾을 수 있습니다.

관련 문제