问题标签 [fileset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1846 浏览

ant - 如何从 zipfileset 中排除空目录

我有一个像这样创建 zip 的 ant 目标 -

现在,我如何确保空目录不包含在此 zipfileset 中。

例如:docs/resources 目录只有 html 文件,我在上面已经排除了所有这些文件。如何确保不包含 docs/resources 文件夹。

我应该每次都手动检查吗?还是有类似 includeEmptyDirs="false" 的选项?

0 投票
1 回答
745 浏览

ant - 为什么 excludesfile 不起作用?

我有一个要排除的类文件列表,我已将它们添加到文件中(比如) exclude_class.txt 为:

现在当我excludesfilefileset任务中使用它不起作用:

请让我知道这里有什么问题。在 excludesfile 任务中使用的文件语法应该是什么。

0 投票
1 回答
836 浏览

ant - Ant - 匹配目录中的所有文件

我正在尝试使用 Ant 文件集模式复制目录中的所有文件。

我尝试了以下,

**/*但是它们都**/*.*没有复制整个目录结构。

我的文件集模式有什么问题吗?

0 投票
1 回答
645 浏览

java - Ant jar 任务 - 包含不在 basedir 下的文件

我正在尝试编写一个 ant 目标,它将基于一堆 java 文件和一些属性文件创建一个 jar,但是在包含当前项目设置方式的属性文件时遇到了麻烦。

这些是我的蚂蚁目标:

1 - 从“myjar.src”文件夹编译 java 源文件,并将生成的类放入“myjar.classes”文件夹。完成后,将所有非 .java 文件从“myjar.src”复制到“myjar.classes”。

2 - 使用 basedir = ${myjar.classes} 使用“jar”命令创建 jar 并告诉它包含所有内容。

这些是我想要的蚂蚁目标:

1 - 编译 java 源文件并将生成的类放入“myjar.classes”文件夹。仅包含 .java 文件

2 - 使用 basedir = ${myjar.classes.location} 使用“jar”命令创建 jars,但还包括“myjar.src”中的 .properties 和 .xml 文件。

关键的区别是,当我使用 basedir = ${myjar.classes} 打包“myjar.classes”中的类时,我希望包含“myjar.src”中的属性和 xml 文件 - 我如何在这些文件中包含它们不在“myjar.classes”下面?

这是我要修改的蚂蚁目标:

我不只是为 basedir 使用上一级目录的原因是项目中的其他 jar 创建调用都没有这样做,我很犹豫是否只为这个进行更改。我确实尝试过这样做,但是在指定正确的目录时遇到了麻烦。(还有其他 jars 使用类似的目录结构,我现在或将来都不想干扰它们。)我只是想知道这些是否是更好的方法?非常感谢。

0 投票
1 回答
1278 浏览

regex - Ant regexpmapper 文件分隔符问题

我正在用 ant 文件集/regexpmapper 将头撞在砖墙上,试图简单地重命名一个目录(在路径中间)......

情况其实很简单:

  • component/DB/我有要复制到的路径DB/api/src/main/distribution/component
  • 路径组件/DB 包含一组 install.sql 脚本和一个名为api(或“API”或“Api”)的目录。这个“api”目录包含额外的 sql,并将被批量复制到目标中DB/api/component(因此创建DB/api/src/main/distribution/component/api)。
  • 作为此副本的一部分,我只想将“api”目录名称小写以保持一致性。

听起来很简单,我一直在使用文件集和regexpmapper(或mapper type=regexp)来实现这一点。${file.separator}但是,我得到了好坏参半的结果......值得注意的是,一旦我将“/”放入(或“\\”或“/”或,即使使用regexpmapper.handledirsep=yes),它也不起作用。

这是混淆的源路径结构(来自find):

我的基本副本如下:

为了清楚起见,我留下了简单的“/”。您可以看到基本前提是发现“API”,抓取周围的文本并用“api”重播它。如果我在其中省略了“/”,from那么这确实有效,但是一旦我将“/”(或它的朋友)放入,则根本不会复制目录。请注意,我想要前面的“/”,因为我只想重命名该目录,而不是其中包含的 Install_API.sql 文件。

网上有很多示例,但似乎没有人遇到过这个问题,因为所谓的工作示例似乎都使用普通的“/”、“\”或声称由handledirset属性处理。

RH6.3 上的蚂蚁 1.8.4

非常感谢。

0 投票
1 回答
1196 浏览

ant - 如何在 Ant 中将文件与模式中的空格匹配?

给定一个源文件目录,如下所示:

我可能会尝试使用以下命令将它们全部复制到另一个位置fileset

但是include=将空格(和逗号)视为分隔符,因此这被视为包括“文件”和“* .txt” - 因此它实际上复制了每个文件。文档没有提到如果您想在模式中使用文字字符,您将如何转义该字符,并且阅读源代码,似乎他们根本没有放入任何转义机制。

我们在构建中遇到了一个真正的问题,但我们只匹配一个文件,所以作为一种解决方法,我只使用了<fileset file="..."/>.

但是,一般来说,文件的数量可能很大,或者您可能不想在每次文件更改时更新构建,那么正确的方法是什么?

0 投票
1 回答
3048 浏览

ant - ANT 任务 - 多个文件 - 循环

我有相当复杂的蚂蚁任务要写。我不得不制作单独的构建文件,剩下 1 个。有4个文件:

buildpackage.bat 只是一个调用buildpackage.xml "ant -f buildpackage.xml". 那也行。

buildpackage.txt 很简单,并且有逗号分隔的行:

总是有服务器名称和客户端名称:

  • Server name只能是字母、数字和字母,但长度可变。

  • Client name- 仅限字母。

我需要将这些文件拆分为 2 个单独的变量:server.nameclient.name.

我所做的是:

我得到的结果是:

我希望 server_01 为 parameter1,client_02 为 parameter2。

我将按顺序执行其他任务。我会将文件从 client[x] 目录复制到 server[x] (这很简单,但是如何将该字符串拆分为 2 个单独的变量?)。

现在是非常复杂的任务。

我也有 structure.xml 文件。结构是:

我有很多客户、应用程序、品牌和解决方案。每个客户只能有 1 个应用程序和 1 个品牌,但可以有多个解决方案。

基于先前的顺序任务(获取服务器和名称),我必须遍历该 xml 文件并获取每个匹配的客户端(来自先前的任务)

我可以使用 XML 读取,<xmlproperty>但我不知道如何按顺序(迭代)并获得匹配的属性。

我知道这很复杂。总结是:

  1. 构建脚本开始
  2. 构建脚本从 buildpackage.txt 中提取数据作为 client.name 和 server.name
  3. 构建脚本${client.name}从第 2 步获取作为参数并循环通过 structure.xml。它找到匹配的品牌/应用程序/解决方案并将其输出给每个匹配的客户。

输出:

必须为每个服务器/客户端处理 Ant。如果我有这些属性,我可以完成其余的构建和编译。我无法触摸结构.xml。我可以做所有我需要/想要的 buildpackage.cml 和 buildpackge.txt。Buildpackage.txt 可以替换为 .xml 文件或任何文件(例如 .properties)。它必须包含这两个值服务器和客户端。

谢谢您的帮助。

编辑

现在我有一个问题。如果我将相同的应用程序 2x 放入构建文件中,它只会构建第一个。这是我的build.xml文件

如果我尝试构建buildpackage.txt文件

我确实得到了client1->server1,client2->server1,但是......没有client1到server2

编辑2

都修好了。scp任务的解决方案是:

所有作品。谢谢您的帮助

0 投票
0 回答
3176 浏览

junit - Jenkins Post Build Publish JUnit Results 没有获取所有文件

我将文件存储在我的工作区中:

  • 硒测试/结果/结果-0.xml
  • 硒测试/结果/结果-1.xml
  • 硒测试/结果/结果-2.xml
  • 硒测试/结果/结果-3.xml
  • 硒测试/结果/结果-4.xml

我正在使用文件集模式发布 JUnit 测试结果:**/results/results-*.xml. 测试结果中不存在所有五个文件。它也永远不会包含相同的结果文件。

这是三个背靠背的运行,具有相同的确切配置和测试。他们失败了,因为我们的暂存环境现在已经关闭。 JUnit 结果

我什至已经走到了尽头,**/results/results-0.xml, **/results/results-1.xml, **/results/results-2.xml, **/results/results-3.xml, **/results/results-4.xml但仍然遇到同样的问题。

0 投票
1 回答
212 浏览

regex - 将 ANT 正则表达式存储在 excel 文件中

我正在创建一个 ANT 脚本,为此我使用文件集和正则表达式来获取我的文件并在该文件中获取表达式。
我还需要将表达式存储在电子表格中,我不知道该怎么做。
我在某处了解到我可以使用 replaceregexp,但我不知道该怎么做。

我已经使用目标任务来搜索文件和表达式。

0 投票
2 回答
154 浏览

ant - 有没有一种通用的方法来访问 ANT 任务的结果文件集?

我正在尝试编写集成<zip>任务的替代品,以便它支持使用<exec>和的密码7za.exe。我们的想法是直接替换<zip>任务。

困难在于,它<zip>支持多种方式来声明要包含/排除哪些文件,例如:

  • includes
  • includesfile
  • excludes
  • excludesfile
  • defaultexcludes
  • 和嵌套<fileset>声明

有没有办法fileset在 exec 任务中使用这些指令的结果?