我正在尋找一種方法來告訴NAnt 而不是執行指定的目標。我沒有在網上找到任何東西,所以我沒有希望,但也許SO的好人可以提供幫助。是否可以從NAnt構建中排除目標?
這種情況是:我們的目標是A, B, C, D,
以及一個調用所有其他目標的總體目標T
。 A
是獨立於其他人,所以並不是真的有必要;認爲這是一種昂貴的理智檢查。
我希望能夠運行T
但排除A
- 因此它只會運行B, C, D
。 這是可能的,還是我必須申報一個專門運行這些工作的新目標?
我正在尋找一種方法來告訴NAnt 而不是執行指定的目標。我沒有在網上找到任何東西,所以我沒有希望,但也許SO的好人可以提供幫助。是否可以從NAnt構建中排除目標?
這種情況是:我們的目標是A, B, C, D,
以及一個調用所有其他目標的總體目標T
。 A
是獨立於其他人,所以並不是真的有必要;認爲這是一種昂貴的理智檢查。
我希望能夠運行T
但排除A
- 因此它只會運行B, C, D
。 這是可能的,還是我必須申報一個專門運行這些工作的新目標?
@如果要排除的目標NotAgain的回答是有用的是在開始或結束的鏈條,但它確實涉及建立一個新的目標,或至少編輯現有的目標。
迄今爲止找到的最佳解決方案是使用條件邏輯表達式。 例子:
<property name="runThis" value="true" />
<target name="runIfPropTrue" if="${runThis}">
<exec program="test.bat" />
</target>
這樣你可以設置你不妨排除通過編輯屬性,或者在將它作爲替代參數上和關閉它們的任何目標。 我假設你可以很容易地使用unless
表達式,但我沒有測試過它。
我在想很簡單的方法。你的情況可能會有所不同。
我會讓T只取決於B,C和D.
時也需要一個我可以調用它的形式:
楠構建文件:Blah.build AT
這將工作,但不會幫助,如果我想排除B或C.我找到了部分解決方案,很快發佈答案。 – Alex