如何使用通配符创建Ant的符号链接?

时间:2018-01-23 17:01:08

标签: ant wildcard symlink fileset

我试图创建一个符号链接,如:

  

<symlink link="${basedir}/docroot" resource="${basedir}/drupal-7.*" overwrite="true"/>

但是,该行不会展开通配符,但会创建一个指向drupal-7.*的链接,而不是drupal-7.56

我尝试使用examples with fileset on this page,但它并没有涵盖我的情景。

如何创建指向动态文件夹(由drupal-7.*展开的文件夹)的Ant符号链接?

2 个答案:

答案 0 :(得分:1)

您应该使用dirset而不是fileset来包含目录,而不是文件。此外,检查意外数量的目录可能是个好主意。

以下是示例:

<dirset dir="${basedir}" includes="drupal-7.*" id="link.target" />

<fail message="Multiple or zero drupal-7.* directories found.">
    <condition>
        <not>
            <resourcecount refid="link.target" when="equal" count="1" />
        </not>
    </condition>
</fail>

<symlink link="${basedir}/docroot" resource="${toString:link.target}" />

答案 1 :(得分:0)

这是通过调用shell命令的解决方案:

string hello = new string('a', 3202340);
hello = hello;
hello = hello;