使用属性将文件集从另一个文件集中排除



我最近几乎只使用Gradle,但时不时地我不得不回到我们陈旧的ant构建系统中,想办法做点什么。然后我意识到我对蚂蚁所知甚少,甚至一些最简单的任务看起来也很困难。

例如,我有一个对文件集执行一些操作的目标:

<target name="some-operation">
    <fileset dir="blah" id="stuff">
        <filename name="**/*.txt" />
        <not>
            <filename name="**/foo/*" />
        </not>
    </fileset>
    <!-- do some operations on "stuff" -->
</target>

想象这是在多个项目使用的旧构建系统中。我想排除文件集中的其他东西(比如,目录"bar"中的文件,类似于"foo"),但由于这是多个项目使用的东西,我不能只是把我的自定义排除到构建系统中。我需要某种方法来插入额外的文件集(它可能包含多个排除项)。

做这件事的最好方法是什么?我想我会在我的构建中设置一个属性,以排除文件,但是当该属性丢失时,some-operation目标将不得不优雅地处理它。但是,如果我将文件集设置为属性,我不太确定如何将其从some-operation中的原始文件集中排除。

有什么最好/最干净的方法吗?

为了重用,创建一个包含1-n个文件集的嵌套元素的macrodef。

相关内容

  • 没有找到相关文章

最新更新