使用动态foldername从子文件夹创建文件集

时间:2013-11-06 09:13:34

标签: ant

我想通过SCP创建一个文件集进行部署。到目前为止,这么好,正在部署文件,但是:

我只想部署具有动态名称的文件夹的文件和子文件夹。

我的目录树是:

Source Files 
     |_ _target
           |_ <timestamp>-package
                  |_ css
                  |_ img
                  |_ js
                  |_ index.php
    |_ css
    |_ scss
    |_ img
    |_ config.rb
    [...]

我只想部署

的文件和子文件夹
_target | <timestamp>-package

所以我声明了文件集

<fileset id="fileset:deployment" dir="${basedir}/_target">
    <include name="**/**" />
</fileset>

如您所见,“_ target”的子文件夹有一个动态名称,因为它包含一个时间戳(它使用不同的ant目标创建)。 SCP现在部署整个文件夹“timestamp-package”,但我想只部署文件和子文件夹IN。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

可能有几种方法可以做到这一点。我假设你在构建时只有一个<timestamp>-package目录,否则你会有歧义。

这是一种方法。使用<dirset>任务确定<fileset>的正确父目录:

<dirset id="src.dir" dir="_target">
    <include name="*-package" />
</dirset>

然后将其用作dir的{​​{1}}属性的一部分:

<fileset>