问题标签 [macrodef]

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 投票
2 回答
475 浏览

java - ant 宏:文件集作为 javac src 元素

我有 ant (1.9.4) 宏,它们接受类似路径的结构作为 src 参数,当我尝试运行它时,我得到'FILE_NAME.java is not a directory'.

我的构建文件:

0 投票
1 回答
646 浏览

ant - 从 Jacoco 的覆盖任务中运行 Ant 宏

我的项目正在使用 Ant,它有几个测试套件。由于每个套件都以类似的方式运行,因此定义了一个宏:

所以有几个目标运行不同的套件,如下所示:

现在我还想运行一个带有 Jacoco 覆盖率的测试套件。所以这样做会很好:

但是,Jacoco 似乎不支持覆盖标签中的宏,因为我遇到了错误:

现在我创建了另一个与“exec-tests”非常相似的宏定义,但只是增加了覆盖范围。这并不重要,但我想知道有没有办法仍然避免这个重复的“junit”任务部分?

k6ps

0 投票
0 回答
247 浏览

ant - 如何在ant build中将多个值传递给宏def之外的一个参数

如何将多个参数传递给 Ant 中的目标?

宏定义定义如下:

我们将这样的值传递给上面的宏定义:

但是,我可以这样通过吗?

0 投票
0 回答
60 浏览

ant - Ant:包含时间戳的属性名称

关于 ant 脚本中的时间戳变量,我可以看到如何使用 a 构建它macrodef,但我看不到之后读取它的方式,即使它的名称保存在变量中。

当属性被命名时,就可以了,但这没用:

......那么得到它的诀窍是什么?这种语法不起作用

0 投票
0 回答
67 浏览

java - 如何打印值指定到宏定义中?

有一个类似的宏定义

这将像下面的示例一样调用

如何打印元素 element1 和 element2 如下所示?

attr is: thisIsAttribute and the arguments are: element1 element2

这种方法对我没有帮助。我不想将 xml 的内容保存到属性中并打印该属性。

0 投票
1 回答
284 浏览

ant - 有什么方法可以检查是否提供了 macrodef 中的可选元素?

有什么方法可以检查给定元素 X 是否传递给宏定义。我有一个案例来决定元素 X 是必需的还是可选的。为了实现这一点,我将元素设为在所有情况下都是可选的,但我想在元素丢失的情况下进行验证,如果它允许丢失:-)。

宏看起来像这样:

元素 X 看起来就像元素 Y。我的意思是,如果它存在,它将包含另一个嵌套元素。

也许我理解这个概念的方式是错误的。我将尝试再举一个例子。目前元素 X 是强制性的,我的任务是使其在某些情况下是可选的,但在另一些情况下是强制性的。我希望能够以两种方式使用宏,但我不知道如何实现此任务:

0 投票
1 回答
57 浏览

ant - 如何使用用于重新计算具有不同扩展名的文件夹中的所有文件

在经历这个场景时,我得到的是不同扩展文件的文件夹集合,如果我有 3 个不同的扩展文件而不是尝试获取所有文件的资源计数与扩展名不同,我对所有扩展名使用资源计数,
例如:

我如何使用macrodef这种情况来帮助计算所有文件

0 投票
1 回答
104 浏览

ant - ant中的参数化依赖目标

我正在开发一个 ant 构建脚本来部署 jars。即只更新指定文件夹中的最终/测试版应用程序 jar。它检查部署的 jar 是否已经是最新的。如果是,它使用除非标志跳过运行目标。

以下是目标片段

在部署 jar 目标的情况下,我使用 macrodef 进行代码重用。但在部署之前,我正在检查现有的 jar 是否已经是最新的。它通过依赖于目标的属性来完成。但我也可以在这里看到代码重用的范围,因为它的唯一不同之处在于路径。我不明白我们如何将参数传递给依赖目标。

在这种情况下,有什么方法可以使用类似于 macrodef 的代码重用?或者我们可以在 macordef 上使用 if 条件,以便它只在设置了某些属性时才运行。

或者任何其他方式我都可以实现相同的目标,而无需编写两个目标来检查最终和 beta jar,只是为了检查它们是否是最新的。

0 投票
1 回答
527 浏览

ant - 包装 Java Ant 任务的宏中的可选属性

与 XML Ant 宏相反,用 Java 实现的 Ant 任务具有为缺少的属性提供稍微不同的行为的特性。

在我的例子中,我试图<testng>用一个宏来包装用 Java 实现的 Ant 任务。具体来说,我想通过一些小的调整来公开 TestNG ant 任务提供的大部分功能。

在其他类似的属性中,timeOut似乎有点难以重现,因为它的省略与指定和空字符串的行为不同。

这是我的宏定义的简化版本:

失败是因为 Ant 尝试将值转换为整数:

有人建议我使用<augment>,这似乎是解决此问题的方法。但是,我不明白应该如何使用它:

由于前向引用,上述失败:

颠倒 and 的顺序<testng><augment>没有真正起作用,因为任务在被扩充<testng>之前开始执行。

我需要的是一种有条件地将 XML 属性添加到任务调用的方法。这只能使用 Ant XML 语法吗?

0 投票
1 回答
59 浏览

apache - Ant - 宏定义中 concat 目标中的字符串重复 - 为什么

我在 ant 宏定义中使用 concat 目标来生成 ddl 文件。一些属性字符串中的一部分字符串在生成的 ddl 中重复。

只有在从 concat 目标生成时才会观察到这种重复。

我试过 1) 使用破折号而不是下划线,2) 使用 ${property-name} 而不是 @{property-name},3) 使用 echo 目标而不是 concat 目标,4) 从 ant 1.9.3 切换到 1.10 .5 和 5) 进行在线搜索

在 ant 脚本中设置属性 <property name="SCHEMA_ID" value="REPLACE_SCHEMA_ID" />

在 macrodef 中设置的属性 <attribute name="schema-id" default="${SCHEMA_ID}" />

连接目标

ddl 文件中的输出行 SET CURRENT SCHEMA = 'REPLACE_REPLACE_SCHEMA_ID'

我希望 ddl 文件中的输出行是: SET CURRENT SCHEMA = 'REPLACE_SCHEMA_ID'