Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 我可以在运行时查找文件并将其导入Ant构建文件吗?_Xml_Plugins_Ant_Build Automation - Fatal编程技术网

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

Xml 我可以在运行时查找文件并将其导入Ant构建文件吗?,xml,plugins,ant,build-automation,Xml,Plugins,Ant,Build Automation,我想创建一个Ant构建文件,其中包括一些作为插件的文件 因此,如果我想激活项目中的一个功能,比如pmd检查,我会在目录中复制一个pmd.xml,build.xml就可以开始这个想法,即pmd.xml存在并导入它,这样新的目标就可以用于构建 但是“导入”任务只能用作顶级任务,因此我不知道如何重新使用此功能。Ant是否可以这样做?如果可以,我该如何做 编辑:我更喜欢一种解决方案,它允许新的目标显示在ant-p提供的列表中。您可以使用任务,甚至可以参数化目标名称。下面是一个例子: <ant an

我想创建一个Ant构建文件,其中包括一些作为插件的文件

因此,如果我想激活项目中的一个功能,比如pmd检查,我会在目录中复制一个pmd.xml,build.xml就可以开始这个想法,即pmd.xml存在并导入它,这样新的目标就可以用于构建

但是“导入”任务只能用作顶级任务,因此我不知道如何重新使用此功能。Ant是否可以这样做?如果可以,我该如何做

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

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

<ant antfile="plugins/pmd.xml" target="${pmd-target}"/>
如果您想要更大的灵活性,我建议检查或。

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

<ant antfile="plugins/pmd.xml" target="${pmd-target}"/>

如果您想要更大的灵活性,我建议检查或。

我不确定您想要的在概念上是否可行。p命令行参数不执行任何任务,它只是解析文件。你想要的东西需要执行


但是,我想看看这个项目。它有一个有条件的任务,这可能会使顶级导入仅在您需要时工作。

我不确定您想要的在概念上是可能的。p命令行参数不执行任何任务,它只是解析文件。你想要的东西需要执行


但是,我想看看这个项目。它有一个条件任务,这可能会使顶级导入仅在您需要时工作。

在任务的文档中,请注意可选属性。将此设置为true,则缺少包含不会破坏生成

因此,如果找到pmd.xml,它将被包括在内,但如果没有,它将不会破坏构建


未测试,因此我不确定ant-p是否在导入的文件中包含目标(如果找到的话)。

在任务文档中,请注意可选属性。将此设置为true,则缺少包含不会破坏生成

因此,如果找到pmd.xml,它将被包括在内,但如果没有,它将不会破坏构建


未经测试,因此我对ant-p在导入的文件中包含目标(如果找到的话)持否定态度。

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


一旦有了新插件,您只需将任何新插件放在插件目录中,它们将在以后的版本中导入。

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


一旦有了新插件,您只需将任何新插件放在插件目录中,它们将在以后的版本中导入。

这是一个可能的解决方案,但新目标不在“ant-p”列表中。这是一个可能的解决方案,但是新的目标不在“ant-p”列表中。“ant-p”列出了导入文件中定义的目标。我没有看到这个属性,这有点帮助。但我更愿意,如果我能在运行时获得插件,构建文件如何知道何时包含该文件?您需要将属性作为参数传递,并在构建文件中放置一些条件目标。这将只在执行时起作用,而不使用-p选项。请提供更多关于用例的详细信息。我想包括给定目录中的所有文件或由模式匹配的文件。我明白了,没有完美的解决方案,但我可以将您的解决方案和Miguel Ping的答案结合起来,以捕获大多数情况。'ant-p'列出导入文件中定义的目标。我没有看到这个属性,这有点帮助。但我更愿意,如果我能在运行时获得插件,构建文件如何知道何时包含该文件?您需要将属性作为参数传递,并在构建文件中放置一些条件目标。这将只在执行时起作用,而不使用-p选项。请提供更多关于用例的详细信息。我想包括给定目录中的所有文件或由模式匹配的文件。我明白了,没有完美的解决方案,但我可以将你的解决方案和Miguel Ping的答案结合起来,抓住大多数情况。
 <project />