问题标签 [build-system]

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 投票
4 回答
391 浏览

c - 自动构建 C 项目

我正在与其他人一起开发一个免费软件(bsd 许可证)项目。我们正在寻找一个系统来检查我们的源代码 (svn) 并构建它作为测试它(使用 Check / 其他工具进行单元测试)。

它应该有一个基于网络的界面并生成报告。

我希望我们不必自己从null编写这样的系统......

0 投票
6 回答
5309 浏览

versioning - 实现版本控制系统的好策略

我一直在为版本控制软件苦苦挣扎。我不是在谈论命名约定,而是在谈论如何在构建系统中实际应用一个版本,直到发布。

我一般使用major.minor.maintenance-[release type] ie 1.0.2-rc1

问题是管理版本号。我尝试了很多方法(将其粘贴在构建文件、属性文件、数据库等中),但我没有找到任何真正有效的方法。

我想出的最接近的方法是使用我在此处记录的 Jira:http: //blog.sysbliss.com/uncategorized/release-management-with-atlassian-bamboo-and-jira.html

我想知道是否有人对此有任何好主意。另外,想知道人们如何处理发布版本....即,如果我发布/部署版本 1.0.0-rc1 在此版本中发现错误然后登录到 1.0.0(下一个/生产版本)。

0 投票
4 回答
8762 浏览

migration - 什么是 Boost Jam,Jam 是否值得迁移?

什么是 Boost Jam,Jam 是否值得迁移?

我知道 jam 是 perforce 构建的构建系统,但是我不确定 boost jam 和常规 jam 有何不同。

我也希望 SO 社区中有人与它合作过,也许可以突出一些差异和/或好处。

0 投票
6 回答
2161 浏览

c - Windows平台上的制作和替代品,优缺点

我正在寻找一个制作平台。我已经阅读了一些关于 gnu make 的内容,并且它在 Windows 平台上遇到了一些问题(从斜杠/反斜杠到 shell 确定......)所以我想听听我的替代方案是什么?

如果重要的话,我会在小型项目(最大 50k 行)上结合(非常)小 c 进行 fortran 开发,但我认为这并不重要,因为其中大多数都是与语言无关的类型。

什么是 gnu make 缺点,我有什么替代方案,有什么优点?

0 投票
2 回答
670 浏览

visual-studio - 多目标 Visual Studio 项目:一个源代码

关于如何建立一个构建系统的任何建议,该系统将针对几个不同的平台/目标编译一个或两个库。

主要项目在 Visual Studio 中。

例如,我有一个库:

它通过一些调整在 Windows 和 Linux 上编译。

使用该库的可执行文件 win_nav.lib 目前只能在带有 OpenGL 的 Windows 上编译。

我正在将此代码移植到 iPhone。虽然我知道我无法在 Windows 上编译和链接整个库,但我想尝试使用 OpenGL 包含和 OpenGLES 包含来编译图形代码。(也许我也可以在 Windows 机器上测试我的 opengles 代码?)

我计划根据预处理器标志更改我的图形文件以包含:

那么,你会怎么做呢?

在 Visual Studio 中使用几个不同的脚本或不同的项目?

0 投票
2 回答
1082 浏览

cmake - 构建系统和可移植性

我想知道如何制作一个可移植的构建系统(一步一步),我目前使用 cmake,因为它一开始很容易设置,只有一个拱目标,但现在我必须打包我正在开发的库我想知道如何使其可移植到我正在测试的拱门的最佳方式。

我知道我需要一个 config.h 来根据拱门定义事物,但我不知道这有多自动化。

任何其他拥有构建系统的方式都受到热烈欢迎!

0 投票
3 回答
3348 浏览

build-process - 嵌入式开发/交叉编译的最佳构建系统

我现在正在使用 dsPIC 进行一些开发,但我并不完全喜欢 MPLAB。我实际上是在使用带有 makefile 项目的 Visual Studio。目前我正在使用 SCons,它似乎工作得相当好,在找到一个有用的指南来设置使用备用编译器之后。尽管如此,我还是忍不住想知道,有没有更好的构建系统呢?还有,有没有更好的方法让 Scons 做到这一点?

0 投票
2 回答
2716 浏览

xslt - 使用 XSLT/XPath 查找有向无环图 (DAG) 最小元素(顶点)?

我有一个 XML 文件,它对表示偏序的有向无环图 (DAG)进行编码 。这样的图对于指定依赖关系和查找关键路径等事情很有用。出于好奇,我当前的应用程序是为构建系统指定组件依赖项,因此顶点是组件,边指定编译时依赖项。这是一个简单的例子:

这个 DAG 可以这样绘制:


(来源:iparelan.com

我想应用一个XSLT 样式表来生成另一个 XML 文档,该文档只包含与偏序的最小元素相对应的顶点。也就是说,那些没有传入边的顶点。示例图的最小顶点集是{A, B, F}。对于我的构建依赖应用程序,找到这个集合很有价值,因为我知道如果我构建这个集合的成员,那么我的项目中的所有内容都将被构建。

这是我当前的样式表解决方案(我正在使用 Apache Ant 的xslt任务在 Java 上使用 Xalan 运行它)。directed-edge-to一个关键的观察是在任何元素中都不会引用最小顶点:

应用此样式表会产生以下输出(我认为这是正确的):

问题是,我对这个解决方案并不完全满意。我想知道是否有一种方法可以将selectof thefor-eachtestof theif与 XPath 语法结合起来。

我想写一些类似的东西:

但这并不符合我的要求,因为该current()函数没有引用外部//vertex表达式选择的节点。

到目前为止,我的解决方案使用XPath 1.0XSLT 1.0语法,尽管我也对XPath 2.0XSLT 2.0语法持开放态度。

如果您愿意,这是 Ant 构建脚本:

dot目标生成用于渲染图形的Graphviz Dot 语言 代码。这里是xml-to-dot.xsl

0 投票
7 回答
3091 浏览

compiler-construction - 编译 OCaml 项目的简单方法是什么?

我正在玩弄 OCaml。我想知道的第一件事是构建一个 OCaml 项目。现在,我只是想要一些愚蠢的简单的东西,因为我只是在学习。任何人都可以将我指向一个构建系统以及使用该构建系统的“hello world”类型示例吗?

0 投票
7 回答
606 浏览

ide - 开发人员是否应该仅限于某些软件进行开发?

开发人员是否应该仅限于某些应用程序以供开发使用?

对于大多数人来说,答案是只要开发团队同意这无关紧要。

对于经过安全认证审核的公司,是否有一种方法可以平衡公司的风险和开发人员的灵活性、绩效?

范围

  1. 编码/开发软件
  2. 构建系统软件
  3. 分发中包含的第 3 方软件(库、实用程序)
  4. (附加)工作站上的剩余软件

可能的解决方案

  1. 创建已批准软件的白名单,其中开发人员必须先请求批准所需软件,然后才能使用它。批准将基于业务目的/安全风险。

  2. 为软件创建黑名单。开发人员列出了所有使用的软件。审查委员会定期审查清单。

是否有人不得不在一家限制开发人员工具超出团队设置的公司工作?他们是如何处理这种情况的?

编辑

清理问题。试图减少争论。