2013-04-25 59 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