我们都听过了 - "尝试一个干净的构建,看看它是否有效"。通常,奇怪的运行时错误将在重建后消失。这让我觉得 - 正确跟踪依赖关系是构建系统的工作。
构建系统中的此类运行时错误定义错误 - 无论是make还是msbuild,还是以其中任何一个为准。或者换句话说,如果一个干净的构建和一个正常的构建产生不同的结果,那么根据定义是构建系统中的一个错误吗?
编辑:我假设the build environment is sane - 意味着当文件更新时,他们的"最后一次修改"时间戳变得更新(而不是更旧的时间戳或相同)。实际上,我所知道的所有版本控制系统都遵循该规则,否则它们会破坏像Make这样的构建系统,它依赖于时间戳来跟踪需要更新的文件。
答案 0 :(得分:1)
构建系统可以针对性能或完整性进行优化。
重建所有是完整性构建。
部分重建失败的原因是
所有这些错误都被优势所抵消
你需要自己判断价值所在的位置