首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以在运行时找到文件并将其导入到Ant构建文件中吗?

我可以在运行时找到文件并将其导入到Ant构建文件中吗?
EN

Stack Overflow用户
提问于 2008-11-12 23:55:03
回答 4查看 2.8K关注 0票数 1

我想创建一个Ant构建文件,其中包含一些文件作为一种插件。

因此,如果我想激活项目中的一个特性--比如说pmd检查--我在一个目录中复制一个pmd.xml,然后build.xml就会启动这个想法,即pmd.xml存在并导入它,这样新的目标就可以用于构建。

但是“import”任务只能用作顶级任务,所以我不知道如何实现这个功能。使用Ant可以做到这一点吗?如果可以,我该如何做到呢?

编辑:我更喜欢一个解决方案,允许新的目标出现在ant -p提供的列表中。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-09 22:45:28

在导入任务文档中没有明确说明,但是任务接受文件集作为单个文件的替代。因此,在顶层,这应该能起到作用,创建的目标由ant -p列出

代码语言:javascript
运行
复制
<property name="plugins.dir" value="plugins" />
<fileset id="plugin.modules" dir="${plugins.dir}">
    <include name="**/*.xml" />
</fileset>

<import>
    <fileset refid="plugin.modules" />
</import>

其中的一个问题是,“plugins”目录中必须至少有一个插件,否则导入将失败。您可以只创建一个名为empty.xml的占位符文件

代码语言:javascript
运行
复制
 <project />

完成后,您只需将任何新插件放入插件目录中,它们将在以后的构建中导入。

票数 2
EN

Stack Overflow用户

发布于 2008-11-13 00:44:54

您可以使用任务,甚至可以参数化目标名称。下面是一个例子:

代码语言:javascript
运行
复制
<ant antfile="plugins/pmd.xml" target="${pmd-target}"/>

如果你想要更多的灵活性,我推荐使用gantgradle

票数 3
EN

Stack Overflow用户

发布于 2008-11-13 02:42:13

import任务的文档中,请注意optional属性。将其设置为true,缺少includes不会破坏构建。

因此,如果找到pmd.xml,则会将其包括在内,但如果未找到,则不会破坏构建。

没有经过测试,所以我不确定ant -p是否会在导入的文件中包含目标,如果找到的话。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/285866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档