2012-03-28 2 views
3

를 검색 어떻게 이와 같은 개미 작업 :ANT - 현재 작업 이름

<target name="mytask"> 
    <echo>processing ${blabla}</echo> 
</target> 

인쇄 processing mytask?

blabla으로 대체해야하는 항목은 무엇입니까? 아니면 실제로 가능합니까? 여기

은 예입니다 : 여기

<project default="test"> 

    <target name="test" depends="mytask-silent, mytask-echo"/> 

    <target name="mytask-echo"> 
     <echo>processing</echo> 
    </target> 

    <target name="mytask-silent"/> 

</project> 

출력된다

C:\tmp\ant>ant 
Buildfile: c:\tmp\ant\build.xml 

mytask-silent: 

mytask-echo: 
    [echo] processing 

test: 

BUILD SUCCESSFUL 
Total time: 0 seconds 
+0

사용 사례가 무엇인가요? Ant가 이미 작업을 수행 할 수 있기 때문에 작업 시작/완료시 인쇄 할 필요가 있습니다. – skaffman

+0

아니, 그건 단지 예일뿐입니다. 대상 이름으로 파일을 만들고 싶습니다. –

+0

파일 작성자가 Ant 또는 외부 (출력 읽기)입니까? – sudocode

답변

3

자바 스크립트 지원이 포함 된 최신 버전 인 경우 바닐라 앤티와 함께 ​​사용할 수 있습니다.

<scriptdef name="currenttarget" language="javascript"> 
    <attribute name="property"/> 
    <![CDATA[ 
    importClass(java.lang.Thread); 

    project.setProperty(
     attributes.get("property"), 
     project.getThreadTask(
      Thread.currentThread()).getTask().getOwningTarget().getName()); 
    ]]> 
</scriptdef> 

<target name="foobar"> 
    <currenttarget property="my_target" /> 
    <echo message="${my_target}" /> 
</target> 

scriptdef 세트까지 당신이 맞는 볼 당신이 다음 사용할 수있는 속성의 현재 목표를 얻기 위해 사용할 수있는 작업 currenttarget.

+0

감사합니다. –

+0

그것은 아름답습니다. –

0

작업 이름은 개미에 의해 콘솔에 항상 출력 ANT 태스크를 작성하거나 다음과 같이 groovy script을 사용하십시오.

<target name="mytask" depends="init"> 
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/> 

    <groovy> 
     println "processing ${target}" 
    </groovy> 
</target> 
+0

이렇게하면 원래 질문에 대한 답변을 얻을 수 있지만 실제 요구 사항은 주석으로 업데이트되지 않습니다. – sudocode

+0

실제로. 고마워요,하지만 당신의 대답은 도움이되지 않습니다. –

0

내가 할 알고있는 유일한 방법

관련 문제