2012-08-01 73 views
2

一个简单的问题,但可能是一个没有答案(或至少一个答案,我想):蚂蚁:导入特定的环境变量

我想只导入一组特定的环境变量的成Ant脚本。我知道我可以通过<property environment="env"/>任务导入整个环境。不过,我使用的詹金斯和它只是似乎愚蠢的导入整个环境,因为我要像$BUILD_NUMER几个变量和$JOB_NAME

我知道我可以做这样的事情:

$ ant -DBUILD_NUMBER=$BUILD_NUMBER package 

我想有人可能已经想通过资源收集来实现这一点。如果没有,我只需要接受所有环境变量都被导入的事实。

回答

1

可能作弊...使用scriptdef

<scriptdef name="envproperty" language="javascript"> 
    <attribute name="name" /> 
    <attribute name="fromenv" /> 
<![CDATA[ 
    importClass(java.lang.System); 
    project.setProperty(
     attributes.get("name"), 
     System.getenv(attributes.get("fromenv")) 
    ); 
]]> 
</scriptdef> 

<envproperty name="BUILD_NUMBER" fromenv="BUILD_NUMBER" /> 
<envproperty name="JOB_NAME" fromenv="JOB_NAME" /> 
+0

有趣的想法。 – 2012-08-02 03:32:51