Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Ant中反转路径的元素?_Ant - Fatal编程技术网

如何在Ant中反转路径的元素?

如何在Ant中反转路径的元素?,ant,Ant,我在Ant中有一个路径集合,我需要以相反的顺序遍历它。 我将AntContrib的用于循环,如下所示: <for param="foo"> <path refid="bar" /> <sequential> ... </sequantial> </for> ... 我需要以相反的顺序遍历条的元素。我无法改变最初创建路径的方式。我总是可以用Java编写自定义Ant任务,但我的构建目前运行时没有任何自定义任务,对于这样一

我在Ant中有一个路径集合,我需要以相反的顺序遍历它。 我将AntContrib的
用于
循环,如下所示:

<for param="foo">
   <path refid="bar" />
   <sequential> ... </sequantial>
</for>

... 
我需要以相反的顺序遍历
的元素。我无法改变最初创建路径的方式。我总是可以用Java编写自定义Ant任务,但我的构建目前运行时没有任何自定义任务,对于这样一个看似简单的任务,我宁愿避免这样做

Ant JavaScript能够做到这一点吗?(如果是,怎么做?)

任何帮助都将不胜感激

我认为“纯蚂蚁”解决方案可能有点扭曲,但您可以按照您的建议使用

这将设置一个属性
baz
,该属性包含引用id为
bar
的路径的反向

<script language="javascript"><![CDATA[
    project.setProperty( "baz", project.getReference( "bar" )
        .toString().split( ":" ).reverse( ).join( ":" ) );
]]></script>

希望能够适应您的精确需求。

创建一个变量(“Ant Contrib中的var”类型),以相反的顺序存储path元素

然后,使用for循环将路径作为嵌套路径,在条件中使用“equals”检查变量是否为空

之后,如果是,只需将for循环参数的值复制到变量中,否则将for循环参数的值复制到变量中,后跟分隔符和变量的值(即进行串联)

最后,您可以通过使用“list”属性和“delimiter”属性在for循环中使用创建的变量


你可以从我自己的源代码中看出我的意思。

工作起来很有魅力!我所要做的就是将for循环从遍历路径转换为遍历结果属性中的分隔列表。谢谢