问题标签 [build-process]
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.
apache-flex - 如何让构建自动更新 Flex 中的 Web 服务引用?
在 FlexBuilder3 中,我可以转到“数据/管理 Web 服务...”选择一个 Web 服务,然后单击“更新”以确保我的代码和服务器同步。如何自动执行此操作,以便每次构建时都会重新生成自动生成的 Web 服务代码?
如果在开发过程中服务器接口发生了变化,但我的代码没有发生变化,那么它无论如何都不会工作 - 我宁愿遇到编译错误而不是运行时错误,我不得不追踪到更改的 Web 服务接口。
svn - 了解 SubVersion 工作副本是否已更新
有没有办法在 WC 更新到新版本时修改/触摸文件?或者,作为次优选择,无论何时svn update
执行?
这是动机:我想在我的可执行文件中包含 SVN 修订号。所以我必须在构建过程中运行 SubWCRev。SubWCRev 的输出文件每次都会重新创建,即使修订号没有改变。这意味着该 exe 链接到每个构建,即使没有任何改变。我希望它仅在需要时链接。
python - zc.buildout 和/或 virtualenv 是否有其他好的替代方法来安装非 python 依赖项?
我是一个团队的成员,该团队即将推出一个基于 python(特别是 Django)的网站和配套的后端工具套件的 beta 版。在过去的几周里,团队本身的规模从 2 倍增加到 4 倍,我们预计至少在接下来的几个月里会继续增长。开始困扰我们的一个问题是让每个人都加快速度,以配置他们的开发环境并安装所有正确的鸡蛋等。
我正在寻找简化此过程并使其不易出错的方法。zc.buildout 和 virtualenv 看起来都是解决这个问题的好工具,但似乎都主要集中在 python 特定的问题上。我们有几个其他语言的小子项目(特别是 Java 和 Ruby)以及许多必须本地编译的 python 扩展(lxml、MySQL 驱动程序等)。事实上,我们这边最大的难题之一就是让其中一些扩展针对共享库的适当版本进行编译,以避免段错误、malloc 错误和各种类似问题。在 4 个人中,我们有 4 个不同的开发环境——1 leopard on ppc,1 leopard on intel,1 ubuntu 和 1 windows,这并没有帮助。
最终,从 dos/unix 提示符下,理想的工作方式大致如下:
$ git clone [repository url] ... $ python setup-env.py ...
然后做 zc.buildout/virtualenv 所做的事情(复制/符号链接 python 解释器,提供一个干净的空间来安装鸡蛋)然后安装所有必需的鸡蛋,包括安装任何本机共享库依赖项,安装 ruby 项目、java 项目等.
显然,这对于建立开发环境以及在登台/生产服务器上部署都是有用的。
理想情况下,我希望完成此任务的工具可以通过 python 编写/扩展,因为那是(并且永远是)我们团队的通用语言,但我对其他语言的解决方案持开放态度。
因此,我的问题是:是否有人对更好的替代方案有任何建议,或者他们可以使用其中一种解决方案来分享更大/更广泛的安装基础的经验?
windows - Windows 在无头构建期间挂起
我们正在尝试自动化构建我们的一个产品,其中包括使用 WISE 打包一些东西的步骤。有一次,WISE 会弹出一个窗口,上面有一个进度条来显示它的运行情况。如果一个连接到具有远程桌面的机器,则构建工作正常,但如果一个未连接,则构建停止,直到您重新连接,此时窗口打开并进行构建。有人知道解决这个问题吗?某种诱使 Windows 相信已连接桌面会话的方法?
svn - 在 .Net 项目中引用来自 svn:external build 的构建工件
我现在在项目树的根目录中有一个 /externals 目录。在这里面,我引用了另一个项目。我可以在主项目 NAnt 脚本中编写所有外部组件的构建脚本。这些构建的结果如下:
/externals/external-project1/build/buildartifacts/{dlls|html|js}
/externals/external-project2/build/buildartifacts/{dlls|html|js}
这一切都很好,但现在我很好奇我的主要项目应该如何引用这些构建工件。例如,假设外部项目构建了我的一些代码库所依赖的 DLL。我应该简单地引用构建工件目录中的 DLL,还是应该实现另一个将这些复制到 /thirdparty/libs/ 文件夹的 NAnt 任务?
这意味着我的构建现在依赖于构建这个外部项目(可以是内部项目,也可以是第三方项目)的能力。签入最新的构建工件集以确保主构建不会因为依赖构建中断而中断是个好主意吗?
希望这足够清楚。只是把这个写下来对我来说至少澄清了这个问题:-)。
- 编辑 -
多谢你们。我想我将实施“签出修订版”,但由于构建速度如此之快,我不会签入任何构建工件。还必须弄清楚如何处理外部项目的依赖关系(例如:原型、swfobject 等)。
java - 不同构建配置文件的不同依赖项
对于不同的配置文件,maven pom.xml 文件中是否可以有一组不同的依赖项?
例如
我想在一个配置文件中选择一个不同的依赖 jar 文件,该文件具有相同的类名和相同接口的不同实现。
visual-studio - 只有在构建成功的情况下才能在 Visual Studio 中启动生成文件的任何巧妙方法?
我们有一个在构建过程中最后构建的 makefile,它使用 Visual Studio 启动我们的单元测试。不幸的是,如果构建失败,makefile 仍然会被处理,并且我们会有额外的(烦人的)错误。有什么办法可以防止吗?
示例项目 A:构建 dummy.exe 项目 B(makefile):构建命令是:运行 dummy.exe /unittest
当项目 A 出现构建错误时,我们希望项目 B 跳过其构建命令。谢谢!
linux - 在 linux 中链接特定的共享库版本
我的构建过程包括 Qt 的 qmake Makefile 生成器和与 linux 捆绑的典型 make 实用程序。
我的应用程序由几个共享库组成,主应用程序与它们相关联。
如何在我的库上应用典型的 linux 版本控制方案?(使用版本 2 -> 对指向 foo.so.2.yz 的 foo.so.2 的链接使用 ldconfig 生成的链接)。
答案不必特定于我的构建过程。
c# - obj 文件夹是为了什么而生成的?
任何项目的默认输出路径都是 Visual Studio is bin/Debug
,但我注意到还会生成文件夹,该obj
文件夹再次包含文件。有人能告诉我为什么会生成这个文件夹吗?dll
pdb
java - Maven中的复杂配置文件
我一直在查看 Maven 中的配置文件以选择不同的依赖项集。当您想要构建与发布构建不同的调试构建时,这很好。我的问题是我想做的远不止这些。对于我的应用程序(J2ME 只是众多目标之一的移动 Java 应用程序),可能存在大量可能的构建变体组合。
使用一些虚构的命令行语法来说明我想看到的内容,我想输入类似的内容
在这种情况下,Maven 所做的是构建三个不同的构建。我想要做的是使用这三个(或更多,或更少)开关来影响一个构建。所以我会得到一个带有“本地资源”的以 MIDP 为目标的调试版本(不管这对我意味着什么——我相信你可以想象出更好的例子)。
我能想到的唯一方法是拥有很多很多的个人资料,这会变得很成问题。在我的例子中,我有
每个都有自己令人沮丧的相似的依赖项和构建标记集。
我不确定我是否已经足够好地解释了我的问题,但如果留下评论,我可以重新编写问题以澄清它。
更新:
这个问题实际上是无效的,因为我对 Maven 的工作方式做出了错误的假设。
不进行 3 次构建。事实上,它在一个构建中启用了这 3 个配置文件,具有讽刺意味的是,这正是我最初所寻找的。