当前位置: 首页 > 面试题库 >

蚂蚁过滤-如果未设置属性,则失败

单嘉泽
2023-03-14
问题内容

我有一个build.xml使用该<copy>任务复制各种xml文件的蚂蚁。它使用过滤合并build.properties文件中的属性。每个环境(开发,阶段,生产)都有一个不同的build.properties存储环境配置。

有时,我们向Spring XML或其他需要更新build.properties文件的配置文件添加新属性。

如果缺少属性,我希望蚂蚁快速失败build.properties。也就是说,如果有任何原始@...@令牌将其放入生成的文件中,则我希望该构建终止,以便用户知道他们需要向其本地build.properties添加一个或多个属性。

内置任务有可能吗?我在文档中找不到任何内容。我将要编写一个自定义的ant任务,但是也许我可以省下点力气。

谢谢


问题答案:

您可以在ant 1.7中结合使用LoadFile任务和match条件来执行此操作。

<loadfile property="all-build-properties" srcFile="build.properties"/>
<condition property="missing-properties">
    <matches pattern="@[^@]*@" string="${all-build-properties}"/>
</condition>
<fail message="Some properties not set!" if="missing-properties"/>


 类似资料:
  • 问题内容: 我正在尝试使用ant在命令行上生成apk。我可以使用ant clean,但是对于ant调试和ant release命令,我得到以下错误。 建立失败 C:\ Android \ sdk \ tools \ ant \ build.xml:649:执行此行时发生以下错误:C:\ Android \ sdk \ tools \ ant \ build.xml:694:执行失败:java.io

  • 我正在中创建API,每个请求都运行良好,但在请求中,我得到了以下错误 未知属性–yii\base\UnknownPropertyException 设置未知属性:yii\filters\auth\HttpBearerAuth::formats 这是我的堆栈跟踪 > 在D:\xampp\htdocs\connect\vendor\yiisoft\yii2\base\Object中。php第161行1

  • 各位, 在Ant(Jenkins)中构建我们的Android应用程序时,我们遇到了一个属性范围问题。这打破了我们的emma单元测试覆盖率。 我们使用全局构建。xml文件,包含以下行: 如您所见,它在单个项目中启动目标。我们使用构建。 在构建过程中,我打印emma的值。已启用,由emma目标设置为true。然而,当Ant达到调试目标时,emma。已启用的不再设置。这导致我们的测试在没有启用emma覆

  • 蚂蚁放置2(IdleAnt2)汉化版,是一款关于蚂蚁的放置型经营游戏,你可以建造多种建筑和收集多种资源,来一步步完善你的蚂蚁王国。 这是蚂蚁放置的续作,作者用了另一种方式开发的游戏,增加了一些玩法。

  • 问题内容: 在定义顺序构建步骤时,我使用元素的属性。我最近看到了一个ant文件,其中的构建顺序是由目标内部的元素定义的。为了显示 : 与 两种方法之间是否有真正的区别?是其中之一更可取吗? 问题答案: 与这两种方法的主要区别在于目标是 始终 执行,而在目标只有在包含目标是执行。 一个澄清的例子: 在这里,将始终执行,而只有在定义时才会执行。 在此,仅当is即定义时才执行。

  • 这里我得到,因为不作为目标存在,这是意料之中的。但是有没有什么可以忽略或跳过未知的目标呢?或者将未知目标映射到已知目标(这对我来说是不可行的)? 但是对于旧的分支,还不存在。到目前为止,我们的解决方案是将添加为的依赖项(因为我们的build.xml受版本控制),但这意味着我们不能单独运行。 事后看来,我们应该创建一个代理目标,比如(我们已经对单元测试使用),它将委托给这两个目标。但是,除非对我最初