问题标签 [nant]
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.
nunit - ncover 在 NAnt 中使用 nunit2 任务
有机会得到这份工作吗?我希望我的测试由 NAnt 中的 nunit2 任务运行。此外,我想在不再次运行测试的情况下运行 NCover。
.net - 如何使用 NAnt 0.86 beta 运行 NUnit v2.4.8 测试?
我最近尝试使用 NAnt (beta 0.86.2962.0) 运行一些使用 NUnit 的最后一个稳定版本 (v2.4.8) 编译的单元测试,但没有成功。
我得到的错误如下:
[nunit2] 程序集“C:\Dev\MySample\bin\tests\My.Sample.Tests.dll”不包含任何测试。
当然,该程序集包含我可以从任何运行器运行的测试,例如 NUnit one、TestDriven 或 Resharper。我想使用 <nunit2> 任务,而不是直接使用 <exec> 任务,但我想知道它是否仍然可能,即使使用 app.config 文件绑定程序集版本。
build-process - 在自动构建中管理生成代码的最佳方式是什么?
在我的自动化 NAnt 构建中,我们有一个步骤从数据库中生成大量代码(使用 SubSonic),并且代码被分隔到与数据库中的模式名称匹配的文件夹中。例如:
- /生成代码
- /dbo
- SomeTable.cs
- 其他表格.cs
- /abc
- 客户.cs
- 订单.cs
- /dbo
架构名称用于隔离应用程序需要的生成类。例如,有一个 ABC 应用程序,它将从这个中央文件夹中提取生成的代码。我在预构建事件中这样做,如下所示:
del /F /Q $(ProjectDir)Entities\generated*.cs
复制 $(ProjectDir)....\generated-code\abc*.cs $(ProjectDir)Entities\generated*.cs
因此,在每次构建时,Nant 脚本都会运行生成器,将所有代码放入一个中央存放位置,然后启动解决方案构建……其中包括每个需要生成类的项目的预构建事件。
所以这是我看到的摩擦:
1) 每个新应用都需要设置这个预构建事件。不得不这样做有点糟糕。
2)在我们的构建服务器中,我们不生成代码,所以我实际上在每个命令之前都有一个 IF $(ConfigurationName) == "Debug",所以发布版本不会发生这种情况
3) 有时命令会失败,这会导致我们的本地构建失败。如果出现以下情况,它将失败: - 还没有生成代码(只是设置一个新项目,还没有数据库) - 目录中没有现有代码(第一次构建)
通常这些都是次要修复,我们刚刚破解了获得新项目或新机器并与构建一起运行的方法,但这阻止了我的一键构建 Nirvana。
所以我想听听关于如何在更耐用的地方改进它的建议。也许将代码的复制移动到应用程序文件夹到 NAnt 脚本中?这对我来说似乎有点倒退,但我愿意听取有关它的论点。
好的,开火:)
build-automation - 南特并维护目录结构
如何使用 nant <copy> 命令并维护目录结构?这就是我正在做的,但它将所有文件复制到一个目录中。
apache-flex - 在 ant/nant 中构建 Flex 项目
在我的公司,我们的 Flex 项目中经常出现构建中断的问题。问题的出现主要是因为开发人员在他们的本地机器上进行的构建与在构建机器上发生的构建根本不同。开发人员正在使用构建项目FlexBuilder/eclipse
,构建机器正在使用命令行编译器。不可避免地,{projectname}-config.xml
运行构建的和/或批处理文件与 eclipse 使用的项目文件不同步,因此构建在开发机器上成功,但在构建机器上失败。
我们开始编写实用程序来将 FlexBuilder 的项目文件转换为{projectname}-config.xml
文件,但它 a) 没有文档,b) 是一个可怕的 hack。
我查看了 -dump-config 开关以获取配置文件,但这有几个问题:1)生成的配置文件具有在我们的环境中不起作用的绝对路径(一些开发人员使用 mac,一些 windows机器)和 2)仅在从 IDE 运行时才能正常工作,因此不能构建到构建过程中。
明天,我们将讨论几个我不太喜欢的选项:
a)向 Subversion 添加一个签入后事件以删除这些绝对引用,或
b)添加一个删除绝对引用的预构建过程。
我不敢相信我们是第一批遇到这个问题的开发人员,但我在 Google 上找不到任何好的解决方案。其他团体是如何处理这个问题的?
ant - 如何使用 Nant/Ant 命名模式?
我不得不承认,我总是忘记了 Nant 命名模式的语法缺陷(例如,文件集中使用的那些)。在我看来,双星号/单星号的东西似乎很容易忘记。
有人可以提供命名模式的权威指南吗?
nant - Nant 和更改文件属性(只读到可写)
作为 Nant 复制任务的一部分,我想更改目标位置中文件的属性。例如,使文件从“只读”变为“读写”。我该怎么做?
.net - 有没有办法在 NAnt 中动态加载属性文件?
我想根据一个变量加载不同的属性文件。
基本上,如果进行开发构建使用此属性文件,如果进行测试构建使用此其他属性文件,如果进行生产构建使用第三个属性文件。
.net - 使用 NAnt 构建设置项目
我已经有一个 NAnt 构建脚本,可以一起构建/运行测试/压缩 web 项目等,但我正在开发一个基本的桌面应用程序。我将如何使用 NAnt 构建设置项目,以便我可以将它包含在 TeamCity 的构建报告中。
编辑:设置是 Visual Studio 提供的基本设置项目。这是公司内部的,所以它没有做任何花哨的事情。
c++ - 如何在 Nant 中使用我自己的编译器?
Nant 似乎非常以编译器为中心——猜测是因为它被认为是一个 .NET 开发系统。但我知道这是可以做到的!我已经看到了它。我们正在构建的平台有自己的编译器,并且不使用 c++ 的“cl.exe”。我们正在不同平台上构建 C++ 应用程序,并希望使用我们自己的编译器进行覆盖。谁能指出我这样做的方法,或者至少如何设置我自己的目标来使用我们目标平台的编译器?