2010-06-21 65 views
4

如何在構建文件中執行此操作?說我只想<echo/>這個名字?打印/訪問當前執行的Ant目標的名稱

+0

是 - 我做了一個macrodef到Ant目標轉發給其他腳本,將是很好的做這樣的事情: <屬性名=「目標」默認值=「@ enclosing.target.name「/> ... – peterk 2013-04-07 17:15:18

回答

2

當前正在執行的目標名稱沒有內置屬性。一些辯論on this is here

如果使用log4j作爲監聽器來配置ant,輸出將顯示每個目標的開始和結束,如下所示。調用ant build

D:\apache-ant-1.8.0RC1\bin>ant -lib D:\log4j\log4j\1.2.13 -listener org.apache.tools.ant.listener.Log4jListener build 
Buildfile: D:\apache-ant-1.8.0RC1\bin\build.xml 
11:39:34 INFO Build started. 

build: 
11:39:34 INFO Target "build" started. 
     [echo] 100 
11:39:34 INFO Updating property file: D:\abc.properties 
[propertyfile] Updating property file: D:\abc.properties 
11:39:35 INFO Target "build" finished. 

BUILD SUCCESSFUL 
Total time: 0 seconds 
+0

感謝您的討論鏈接,它有助於閱讀獲得一個觀點。不幸的是,我不認爲聽衆是我所追求的。我曾經假設,既然項目名稱和被調用的目標是可以獲得的,那麼目前的目標也是如此,並且我只是在某個地方錯過了一個屬性。 – 2010-06-22 16:29:12

1

我覺得這answer以幾乎相同的問題是比較滿意的,有現成的使用宏在必要時提取價值。