Ant 条件 - 'if' 或 'unless' 哪个先出现

2024-04-17

Question

如果 ant 目标同时使用if and unless,首先评估哪个?

Example

先有鸡还是先有蛋? 。 。 。

<target name="prepare" if="chicken" unless="egg" >
    <echo>Dinner time. Chicken is served!</echo>
</target>

蚂蚁会先评估鸡的属性吗?还是鸡蛋属性​​?


这实际上不是评估问题,因为在调用目标之前属性要么已设置,要么未设置。

编辑:我查看了 1.8.1 源代码,逻辑如下:

if (!testIfAllows()) {
    project.log(this, "Skipped because property '" + project.replaceProperties(ifCondition)
            + "' not set.", Project.MSG_VERBOSE);
    return;
}
if (!testUnlessAllows()) {
    project.log(this, "Skipped because property '"
            + project.replaceProperties(unlessCondition) + "' set.", Project.MSG_VERBOSE);
    return;
}

So the unless没关系,除非if通过。但请记住,这些与评估属性没有任何关系。它只是查找它们以查看它们是否已设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ant 条件 - 'if' 或 'unless' 哪个先出现 的相关文章

  • 同一应用程序的不同目标的替代字符串 - 使用 NSLocalizedString?

    我正在构建一个已经发布的应用程序的版本 但有一些更改 这并不完全是精简版 完整版的关系 但它们足够相似 以至于我在不同的目标上使用相同的项目 我想将我在第一个版本中使用的几乎所有字符串重写为新版本 并且想知道解决此问题的最佳方法 我考虑使用
  • 将环境变量传递给ant任务,不带ANT_OPTS

    我正在调用 Jasper ant 任务 并且我想设置org apache jasper compiler Parser STRICT QUOTE ESCAPING环境变量 我可以将 ANT OPTS 设置为 Dorg apache jasp
  • ivy或ivyDE可以在Eclipse中自动将相关jar添加到JAVA构建路径库中吗?

    例如 当我在 Eclipse 中打开一个开发良好的开源项目 如 lucene 同时使用 ant build xml 和 ivy ivysetting xml 时 我可以使用 build xml 运行 ant 来成功构建整个项目 然而 该项目
  • if (static_cast(x)) 与 if (x)

    我有一位同事经常在条件语句中对 bool 进行显式强制转换 如下所示 SomeType ptr some value if static cast
  • 如何向变量添加条件 - GAMS

    在我尝试构建的模型中 我有一个变量定义为 Variables x i j number of motors produced in month i to be delivered in month j 在该变量中 j 必须始终等于或大于 i
  • Excel:如果在另一列中发现重复的单元格值,则突出显示绿色

    有人可以帮助我 我不知道该使用什么公式 我突出显示了图片中的单元格以展示我的意思的示例 What I want to do is highlight the cell in column A where the value matches
  • Ant,从远程机器下载文件集

    据我所知 当通过 scp 任务从远程计算机下载文件时 ant 不提供 文件集 属性 从本地计算机发送文件时它可以工作 但在远程计算机中启动时它不起作用 这是来自文档 因此 在远程计算机中 我在每个目录中都有一些文件夹和文件负载 我想下载所有
  • 从 ANT 运行 BAT 文件

    我浏览了论坛上的许多帖子 但无法整理出来 我正在尝试从 ANT 脚本运行 BAT 文件 文件夹层次结构是这样的 Project build xml build C test bat 我编写的 ANT 文件是
  • 在 Bash 的条件中,什么命令意味着“不执行任何操作”?

    有时 在制作条件时 我需要代码不执行任何操作 例如 在这里 我希望 Bash 在以下情况下不执行任何操作 a大于 10 如果大于 10 则打印 1 a小于 5 否则打印 2 if a ge 10 then elif a le 5 then
  • 需要根据属性值在 ant 脚本中设置路径 (cp)

    我想根据属性的值将路径变量 cp 设置为两个值之一 例如 以下是我想要实现的目标 但我不确定如何让它正常工作
  • 当您的 ant 构建过程在版本控制上崩溃时该怎么办

    所以我有一个很好的 Java 项目 使用 Ant 构建到 dist 文件夹 整个项目处于版本控制之下 因此我只需通过 dist 文件夹路径上的 svn导出 即可部署最新版本 但我的构建不断删除 dist 文件夹内的 svn 文件夹及其所有依
  • Oracle SQL 上的条件 SUM

    我通过以下方式获得数据 ITEM LOCATION UNIT RETAIL QUANTITY 100 KS 10 10 200 KS 20 30 我想要正数量的总和 数量 gt 0 和负数量的总和 数量 如何根据条件获得这些列的总和 您可以
  • 在 ant 脚本中包含外部 JAR 时出错

    这是我第一次尝试编写 ANT 脚本 这是我使用 Spring 构建的简单 Hello World 应用程序的 build xml
  • 通过ant编译jdk

    我想编译jdk文件以包含调试信息 我想使用 ant 因为它包含在我的 NetBeans 环境中 所以我做了以下操作 将 src zip 解压到 tmp 目录中 在我的 tmp 目录中创建了一个非常简单的 build xml 文件 一个默认目
  • FlexUnit ANT 任务挂起

    我正在使用 ANT 任务在构建服务器上运行 FlexUnit 当我从 Flash Builder 4 运行 Flex 单元测试时 它工作正常 但是当从 ANT 运行时 它会打开默认播放器 在我的例子中是 FireFox 成功运行 FU 但永
  • 根据其他列设置列的值

    我有一个数据框 如下所示 ID Score New ID New Score 123 5 456 456 1 789 789 0 123 我想为 New ID 列提供相同的分数 只是顺序不同 期望的结果 ID Score New ID Ne
  • 当条件满足时如何进入调试模式?

    有没有办法在满足一定条件时进入调试模式 例如 假设我想在以下行进入调试模式i 1变为真 using System namespace ConditionalDebug public class Program public static v
  • 如何在Ant中添加相当于java -D的系统属性

    我需要设置java Djava library path some path我想在运行 ant 脚本 构建 jar 时执行此操作 我想我必须使用
  • 元素“sonar:sonar”的前缀“sonar”未绑定

    我有一个 build xml 文件 看起来像这样
  • 使用 Proguard 混淆 ActionBarSherlock

    我正在尝试使用混淆我的 Android 应用程序proguard and ant eclipse proguard从来不工作 总是失败error 1 但我越来越class file unexpectedly contains class 到

随机推荐

  • 在 NSTextField 中输入时过滤 NSTable - 自动选择第一行

    我有一个NSTextView过滤的字段NSTable表作为用户在输入中键入的内容 我已经成功实现了表过滤 现在 我的目标是自动选择第一个结果 表中的第一行 并允许用户在键入搜索查询时使用箭头键在结果之间移动 在表中的结果之间移动时 输入字段
  • 如何在 Windows 上的 Perl 中访问包含空格的路径?

    我正在将 Unix Perl 脚本转换为在 Windows 上运行 我遇到的问题是路径中含有空格 open IN C Program Files MySQL MySQL Server 5 1 bin mysql exe u root ppw
  • 从 App.xaml.cs 导航

    我想将应用程序栏添加到我的应用程序的多个页面 因此 我将应用程序栏定义为应用程序资源 以便它可以被多个页面使用 现在 这些按钮的事件处理程序位于App这里提到的类http msdn microsoft com en us library h
  • 如何确定所选节点是 TreeView 中的子节点还是父节点?

    如何判断所选节点是子节点还是父节点TreeView控制 具体如何实现此类检查取决于您如何定义 子 和 父 节点 但每个都暴露了两个属性TreeNode提供重要信息的对象 The Nodes财产 http msdn microsoft com
  • 如何编写本地化的屏幕键盘

    我必须为我们公司的程序编写一个屏幕键盘 该程序主要用于具有触摸功能的工业PC 我们不能使用windows默认键盘 因为我们不需要键盘上的所有按键 所以我被要求用 C 编写一个自定义的 我已经找到了这个博客 http www siao2 co
  • pandas - 数据框中唯一行出现的数量

    如何计算每个唯一行的出现次数DataFrame data x1 A B A A B A A A x2 1 3 2 2 3 1 2 3 df pd DataFrame data df x1 x2 0 A 1 1 B 3 2 A 2 3 A 2
  • AWS Lambda:无法导入模块

    请原谅我 我对 Lambda 和 Node 都是新手 我正在尝试复制this https gist github com bhberson 7a2847888596e67fd69bgit 使用 AWS IoT 按钮订购披萨 我当前的代码是
  • 根据屏幕尺寸有固定方向

    我在手机上构建了一个 Android 应用程序 现在我要更新该应用程序以支持平板电脑尺寸的屏幕 特别是 Galaxy Tab 10 1 我弄清楚了整个res layout的事情 所以没关系 但是 我构建的应用程序具有固定的屏幕方向Andro
  • iPhone 平台的开源框架/项目 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找适用于 iPhone 平台的开源框架 项目集合 我发现了很多好的框架和资源 例如ASIHTTP
  • 使用 appSettings 配置自定义 Serilog 接收器

    我创建了一个新的 Serilog 自定义接收器 并尝试通过 appSettings 配置它 自定义接收器名为 DiagnosticsBroadcaster 它的 LoggerSinkConfiguration 扩展是 public stat
  • 更新 WooCommerce 产品价格和库存

    我有外部 REST API 我从中构建一个如下所示的数组 arr array 1 gt array code gt 0100686 qty gt 2 price gt 65 22 2 gt array code gt 0100687 qty
  • 使用groupSVGElements后如何选择子元素

    我正在将 svg 加载到具有子元素的 Fabric 中 我使用 groupSVGElements 对它们进行分组 我需要能够选择每个子元素 这是一个 onclick 事件 允许我选择一个子对象 我把这个小提琴放在一起http jsfiddl
  • 如何从 WebAPI 中的自定义绑定器调用默认模型绑定?

    我在 WebAPI 中有一个自定义模型绑定器 它使用 Sytem Web Http ModelBinding 命名空间中的以下方法 该方法is用于为 Web API 创建自定义模型绑定程序的正确命名空间 public bool BindMo
  • 如何在 Prolog 中为变量(如字符串)分配多个值?

    今天早些时候 我寻求帮助以在序言中构建数据库以及如何通过参数搜索 有人提出了这个 您还可以向每个处理器添加术语列表 例如 processor pentium g4400 brand intel family pentium series g
  • 如何从两个不同的数组中替换 numpy 数组的元素

    对于数组 array2 np array np nan np nan np nan np nan 45 np nan 33 np nan np nan 32 np nan np nan 44 np nan 10 53 np nan 我需要按
  • Angular w/Jest:“verify()”与“expectOne()”?

    我有一个失败的测试 我不知道如何修复 我从 Jest 收到的错误消息似乎是矛盾的 问题与两个人的行为有关Angular HttpTestingController https angular io api common http testi
  • 如何获取命名空间元素的属性

    我正在解析每天从供应商那里收到的 XML 文档 它大量使用命名空间 我已将问题最小化到最小子集 我需要解析一些元素 所有这些元素都是具有特定属性的元素的子元素 我能够使用lxml etree Element findall TAG root
  • 节点守护进程不会以 process.stdin.setRawMode(true) 启动[重复]

    这个问题在这里已经有答案了 我正在运行节点服务器守护程序 但我不断遇到此错误 当我运行 bash strip 来测试应用程序时 我得到TypeError process stdin setRawMode is not a function
  • 使用无头选项时出现 ElementNotInteractableException 错误

    当我尝试运行下面的代码时出现错误 Error is ElementNotInteractableException 消息 元素不可交互 会话信息 headless chrome 83 0 4103 116 这似乎是因为chromeOptio
  • Ant 条件 - 'if' 或 'unless' 哪个先出现

    Question 如果 ant 目标同时使用if and unless 首先评估哪个 Example 先有鸡还是先有蛋