2013-04-25 57 views

回答

1

您可以使用scriptcondition(見ant manual conditions),帶有內置的JavaScript引擎
(包含在Java的> = 1.6.x版),F.E. :

<project> 
<property name="foo" value="26"/> 
<fail message="Value of $${foo} not in range => [${foo}] !"> 
    <condition> 
    <scriptcondition language="javascript"> 
    var foo = parseInt(project.getProperty("foo")); 
    self.setValue(foo &lt;= 20 || foo &gt;= 25); 
    </scriptcondition> 
</fail> 
</project> 
+0

由於這有助於雖然我不得不使用它的一個修改版本進行字符串比較 '<屬性名= 「check_Env」 值= 「$ {deployment.plan.environment}」/>'' – 2013-04-25 17:44:46

+0

[$ {check_Env }] 「> \t \t \t \t變種check_Env = project.getProperty(」 check_Env「)!; \t \t self.setValue(true); \t \t如果(check_Env == 「刺」 || check_Env == 「測試」 || check_Env == 「dev的」){ \t \t \t self.setValue(假); \t \t} \t \t ' – 2013-04-25 17:50:46

+0

忘記scriptconditon的默認值是假的,所以簡單地使用和刪除該行self.setValue (真正);在你的scriptcondition裏面 – Rebse 2013-04-25 21:39:57