加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 如何设置属性以及如何在nant中获取它

发布时间:2020-12-16 05:36:04 所属栏目:百科 来源:网络整理
导读:我已经用NAnt成功构建了这个项目. 现在,如果我使用以下命令编译项目: nant -D:build.defines=FAKE_AD_AUTH build 我想运行应用程序,并且我知道我用FAKE_AD_AUTH编译了项目. 那么我怎么知道这个项目是用nant -D构建的:build.defines = FAKE_AD_AUTH构建还是
我已经用NAnt成功构建了这个项目.

现在,如果我使用以下命令编译项目:

nant -D:build.defines=FAKE_AD_AUTH build

我想运行应用程序,并且我知道我用FAKE_AD_AUTH编译了项目.

那么我怎么知道这个项目是用nant -D构建的:build.defines = FAKE_AD_AUTH构建还是只是构建?

NAnt本身就是一个构建工具.它不会向它构建的应用程序添加任何属性,除非您指示它.而这个“指令”完全是定制的,在某种程度上对每个应用程序都是唯一的.

在命令行中定义属性时,它最终会在构建脚本中成为普通的NAnt属性(准确地说是只读属性).然后由您决定如何使用它来“标记”您的应用程序.

如果您的应用程序具有安装包(MSI),则可以使用某些构建信息向包中添加MSI属性.或者,您可能希望添加一些数据库记录,或配置文件中的设置等.

更新于2014年1月13日

好的,这是一个例子.假设您的应用程序具有配置文件(基于XML),并且它包含一个名为FakeBuild的设置,它会影响应用程序的行为,例如:它不是向真正的收件人发送真实的电子邮件,而是将一行代码转储到模拟发送时刻的日志文件中.

配置文件可能如下所示:

<configuration>
  <settings>
    ...
    <setting name="FakeBuild" value="false">
    ...
  </settings>
</configuration>

这个文件是源代码的一部分,我的意思是它与VCS系统中的源代码一起存在.构建脚本包含编译代码的指令,因此它也知道配置文件的路径.

现在,构建脚本从命令行检查自己的输入,并将上述设置分别设置为true或false.例如:

<xmlpoke file="${path.to.config}" value="true" xpath="configuration/settings/setting[@name='FakeBuild']/@value" if="${property::exists('build.defines')}"/>

只有当您传入NAnt属性build.defines时,上面的行才会进行评估.显然,您可以修改传递的方式,从而检查属性.

希望这能为拟议的解决方案带来更多启示.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读