正在删除蚂蚁路径中缺少的条目

  • 本文关键字:删除 蚂蚁 路径 ant bnd
  • 更新时间 :
  • 英文 :


我遇到了一种情况,我们正在生成一个Ant <path>,它可能包含一些实际上并不存在的目录。不幸的是,这正被输入到bnd中,如果路径中缺少任何东西,它就会爆炸。

所以我想要的是一种过滤<path>的方法,只保留那些实际存在的路径元素。

在Ant中有没有一种简单的方法来表达这一点,或者我必须写一个任务?

我相信我已经找到了答案:

    <path id="bnd.cp.existing">
        <restrict>
            <path refid="bnd.cp"/>
            <exists/>
        </restrict>
    </path>
    <!-- To see when it happens, add the following: -->
    <echo message="bnd classpath is: ${toString:bnd.cp.existing}"/>
    <iff>
        <not>
           <equals arg1="${toString:bnd.cp.existing}"
                   arg2="${toString:bnd.cp}"/>
        </not>
        <then>
           <echo message="    trimmed from: ${toString:bnd.cp}"/>
        </then>
    </iff>

restrict操作可以将一个path-like structure作为输入,并返回一个应用了请求筛选的版本——在这种情况下,只保留实际存在的路径元素。然后将其重新绑定到新的ID以供<bnd>操作使用。

相关内容

  • 没有找到相关文章

最新更新