问题标签 [build-management]

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.

0 投票
9 回答
6763 浏览

java - Ant 仍然是 Java 构建工具的最佳选择吗?

根据我的少量经验,我只使用 Ant 作为构建工具。还有其他更好的项目吗,为什么?

0 投票
1 回答
405 浏览

continuous-integration - 在巡航控制、团队城市等中管理多个版本

在我的商店中(正如我所期望的那样),您拥有不同软件组件的多个版本(我们称它们为 foo-client 和 bar-service)。在我的 cc.net 配置中,我目前在主干上有一个 foo-client 的“项目”,一个 foo-client 版本 1.0 的项目和另一个 foo-client 版本 1.1 的项目。

我真正希望在仪表板级别看到的是:

  • 富客户端

  • 酒吧服务器

能够深入了解 foo-client 或 bar-server。汇总将显示上次连续构建的状态,我可以查看和/或强制为现有标记版本进行新构建。

你们在做什么,在什么构建管理框架下?

0 投票
8 回答
21396 浏览

svn - 从颠覆标签自动构建

我正在尝试自动化工程组的构建过程。作为自动化的一部分,我试图达到一个点,即应用符合模式的特定标签的行为将启动一个自动化过程,该过程将执行以下操作:

  • 查看源代码
  • 从模板创建构建脚本
  • 构建项目

我很确定我可以用 subversion 中的 post-hook 来做到这一点,但我正试图找出一种方法来用 subversion hook 以外的东西来做到这一点。

  • 监视 subversion 存储库中的 tags 目录以启动我的工作流程是否有意义?
  • 是否有任何体面的工具可以帮助解决这个问题(如果可能的话,.NET 会很棒)。
  • 我最好写一个引擎来做到这一点吗?

我的偏好:

  • 完成全部或部分操作的现有产品
  • 如果需要进行开发工作,最好使用 .NET
  • 适用于 Windows(我们有一个基于 Linux 的存储库,但构建都发生在 Windows 上)
0 投票
9 回答
184645 浏览

java - Ant 和 Maven 的区别

有人能告诉我 Ant 和 Maven 之间的区别吗?我也从未使用过。我知道它们用于自动化 Java 项目的构建,但我不知道从哪里开始。

0 投票
3 回答
18448 浏览

eclipse - 如何在 Eclipse ant 编辑器中启用撤消?

在 Eclipse 的 ant 编辑器中,撤消对我不起作用。当我按下 Ctrl-Z 时,什么也没有发生。

是否可以以某种方式启用撤消或者这是一个错误?

我在 Windows XP Professional 上使用 Eclipse 3.4.2 (Ganymede)。

0 投票
2 回答
1048 浏览

.net - Msbuild新手需要入门

我们在工作中维护一个用 vb/c# .net 开发的中型 windows 应用程序。现在这个应用程序的构建和部署过程仍然是手动的。我决心使用我现在还不知道的 MSBuild 使这个过程自动化。

我们的应用程序有一个简单的构建结构,一组项目已经分为四个解决方案(.sln),只需要按顺序构建四个 sln。然后将一个项目(这是要构建的最后一个 sln 的一部分)发布到一个目录。这就对了。一个简单的过程已经花费了 30 分钟的手动构建时间,我很确定这可以在至少 1/4 的时间内使用 msbuild 完成而无需手动干预。

我所有的目标都设置得很好,我开始在网上寻找 MSBuild 资源来完成我的流程,但可能会环顾许多事情让我感到困惑。对于我的简单场景,需要一个关于如何开始以及从哪里开始的指针或一个很好的解释。非常感谢您的帮助。

0 投票
4 回答
3801 浏览

makefile - 具有许多目标目录的 GNU make

我必须将许多 HTML 文件的生成集成到现有的Makefile. 问题是 HTML 文件需要驻留在许多不同的目录中。我的想法是编写一个隐式规则,将源文件(*.st)转换为相应的html文件

和一个依赖于所有 html 文件的规则

如果 HTML 文件不在 builddir 中,则make找不到隐式规则:*** No rule to make target. 如果我像这样更改隐式规则

找到了,但是我必须对项目中的几乎每个文件都有一个隐式规则。根据GNU 手册中的隐式规则搜索算法make,规则搜索的工作方式如下:

  1. 将整个目标名称t拆分为目录部分,称为d,其余部分称为n。例如,如果tsrc/foo.o,则dsrc/,并且nfoo.o
  2. 列出所有目标匹配tn的模式规则。如果目标模式包含斜线,则与t匹配;否则,反对n

为什么没有找到隐含规则,假设make使用 GNU,什么是最优雅的解决方案?

这是我的精简版Makefile

0 投票
4 回答
1467 浏览

makefile - 如何在递归构建中忽略命令行变量赋值?

我正在尝试将两个构建系统粘合在一起。两者都是递归的(makefile 中的规则使用 make 来调用其他 makefile 来构建项目的组件)。

我将它们称为“A”和“B”,其中“A”构建应用程序,“B”构建“A”使用的库。

A中的顶级makefile调用'make TARGET=whatever',这意味着构建的所有递归调用位都继承TARGET的值作为只读变量,包括来自B的构建系统,它被称为递归构建。

我不希望这种情况发生在“B”(来自不同项目)的构建系统中,因为那里的 makefile 将 TARGET 用于自己的目的,并且构建失败,因为 TARGET 具有错误的值并且是只读的。

我只能看到两种解决方案,这两种解决方案都不是可取的;

1) 将 TARGET 重命名为 A 中设置它的 makefile 和 A 中使用它的 makefile 中的其他内容,以避免与构建系统的较低级别发生冲突。

2) 在 B 中设置了 TARGET 变量的 makefile 中的任何地方使用“覆盖”指令,以覆盖其只读状态。

有人有更好的想法吗?- 理想情况下,我不希望B 的构建系统从 A 继承任何东西,除了我从 A 明确传递给 B 构建系统的那些选项

顺便说一句,我正在使用 GNU Make v3.80。

0 投票
2 回答
5024 浏览

c++ - 使用 Makefile 的传统 C++ 项目..移动到 Eclipse IDE?

我在 Linux 上有一个遗留的 C++ 项目,它使用典型的:

构建和安装。我真的很想用像 Eclipse 这样的 IDE 来构建它。

这是可行的吗?Eclipse 中是否有可以解析原始 Makefile 并将其转换为 Eclipse 项目的东西?

0 投票
2 回答
5038 浏览

django - Django 项目的项目管理/构建工具?

来自构建和项目管理工具比比皆是的 Java 开发,我想知道 Django 有什么可用的。我真的很想使用 Maven 之类的东西来构建东西,但是还有另一种首选的方法吗?

我真的在寻找以下内容:

  • 命令行构建:mvn install非常简单和酷。
  • 命令行测试运行。我想将此应用程序集成到 Hudson 之类的东西中以进行持续集成,因为我是这样的铁杆。
  • 将媒体部署到本地测试服务器(JS、CSS、图像等)

这目前可以通过 Maven 或其他工具实现吗?我在这里开始了一个相当大的项目,我希望拥有一个像 Maven 这样的极好的构建/项目管理系统,以帮助项目能够随着时间的推移而发展。