- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试提高构建机器的性能。标准构建在每次提交 (svn) 后排队,大约需要 40 分钟。如果提交时已经有一个排队的构建,我们不会添加另一个。所以每个构建都有 1+ 次提交的更改。由于提交可能没有对所有项目进行更改,因此可以通过仅重建受影响的项目来缩短构建时间。
我不知道如何找出需要构建哪些项目。有没有办法可靠找出触发构建的提交所影响的内容?我首先考虑浏览 .dpr 文件并检查引用文件中的更改,但并非所有文件都列在那里,因为我们还使用搜索路径...
如果没有,是否至少有一种方法可以查明项目是否确定不受影响?老实说,我不太知道如何解决这个问题......
最佳答案
以下内容并不是您问题的“答案”,但可能有助于进一步思考。
抛开给定项目使用的其他类型的资源(例如 .RC 和 .Inc 文件),在不知道它使用哪些源文件(包括其所有单元)的情况下,我不知道如何证明这个命题“该项目不会受到影响。”通过给定的提交。
另一方面,您大概可以生成因提交而更改的项目和源文件的列表,因此通过偶尔重新编译所有项目,您可以获得由此生成的 DCU 列表。
对源文件进行不同的更改集,重复上述过程几次,您应该能够收集 .Pas 更改与重新编译的结果 .DCU 之间,以及重新编译的项目与生成的 DCU 之间的一些统计相关性。
对这些相关性的分析可能使您能够确定哪些项目在给定的 .Pas 文件发生更改时有大于 X% 的机会需要重新编译。
我想您最终会得到一些启发式方法,可以确定在给定单元发生更改后应该重新编译哪些项目以及一些确定性规则。一个明显的情况是,一旦观察到单元 A 的更改会引发项目 Z 的重新编译,则每当 A 随后发生更改时,都应该重新编译 Z。当然,一旦项目被确定性规则正面标记,就无需考虑提交中更改的其他源文件。
另一件事是,您可以通过完整构建项目并制作 .Pas 文件列表来回避需要分析 .Pas 文件使用依赖关系来确定给定项目所依赖的 .Pas 文件的问题。结果生成了 DCU。
顺便说一句,因为这个问题似乎都是关于列表和规则的,所以在 Prolog 中编程会很有趣(Amzi Prolog 有一个很棒的 Delphi 逻辑引擎包装器,我过去曾用它来处理类似的事情)。
关于Delphi构建服务器: find out which projects are affected by commit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35056431/
我一直在寻找一种在 EF Core 中编写“通用”更新方法的解决方案,该方法更新实体的所有已更改属性,包括相关集合。这样做的原因是我将实体名称的翻译存储在不同的表中。我找到了 this解决方案一开始似
我将 Identity Core 1.0 与 ASP.NET MVC Core 1.0 和 Entity Framework Core 1.0 结合使用来创建一个简单的用户注册系统 this arti
我必须创建一个悬停效果,其中当一个选项卡悬停时,该选项卡的整个背景应该是白色的。但正如下面 SS 中所见, , 悬停效果仅应用于文本部分。 我还附上了 Chrome Web 开发人员的 CSS。 生成
我正在研究一个 Prolog 问题,包括计算列表元素的数量: count([], 0). count([H|T], N) :- count(T, X), N is X+1, N
在下面的代码中,在 #content 规则中,overflow:hidden 做了一些魔术来自动调整 div 的 width。我尝试在 #content 中手动将宽度设置为某个值,例如 10000px
所以我有一些 CSS 生成这个。 HTML代码如下。 Home A
我喜欢使用 Visual Studio 中的“在 Microsoft Exel 中打开查询”按钮在 Excel 中管理父子 TFS 链接。我可以在 Excel 中创建两个工作项之间的父子关系,方法是剪
我目前正在尝试提高构建机器的性能。标准构建在每次提交 (svn) 后排队,大约需要 40 分钟。如果提交时已经有一个排队的构建,我们不会添加另一个。所以每个构建都有 1+ 次提交的更改。由于提交可能没
在列出的 php 文档中 here有迹象表明该函数使用读取、错误和写入数组值作为引用,但我无法在任何地方找到这些值中实际发生的变化。 我写了一个我现在使用的简单“服务器”,我注意到当提到的函数无法看到
嗨,我正在尝试定位第一个 .current-cat-parent 下的元素,但我的 jquery 代码正在影响所有 这下面的元素。我怎样才能只定位第一个立即元素?谢谢! $(".current-ca
我有一张表,我在 data_id 上有自动编号/序列 tabledata --------- data_id [PK] data_code [Unique] data_desc 示例代码: ins
我已经创建了 JFormattedTextField 的自定义组件 (NumberFormattedTextField)。这是我使用的格式化程序: public static Internat
据我了解,Apple 应用程序更新将安装一个新的独立应用程序,而不是对现有应用程序应用补丁。 有谁知道这个过程的更多细节吗?这适用于用户的所有目录吗?任何文件夹(如私有(private)文档)都不会受
我有一个允许我定义 alpha 背景的 sass mixin @mixin background-rgba($r,$g,$b,$a) { $color: ie_hex($r,$g,$b,$a)
我正在网络抓取如下表中的文本数据,我想获得结果: Lorem ipsum dolor sit amet consectetur adipiscing elit, sed do eiusmod temp
我正在学习事件委托(delegate),但遇到了问题。 一开始我做初稿的时候,如果点击只会删除文字,不会删除按钮,所以我修改了它。后来,当点击容器div时,它删除了整个内容,所以我再次更改它。 现在它
这个问题在这里已经有了答案: Why is this inline-block element pushed downward? (8 个答案) Align inline-block DIVs t
父元素没有溢出属性。父元素具有设置的高度。无论我尝试什么,导航栏都不会粘住。它也不适用于 JavaScript。我肯定错过了什么。下面是代码。有人请告诉我我做错了什么: /* Body */ body
问题 我的页脚中有四列,每列宽度为 25%。 对于平板电脑,宽度变为 50% - 每行两个。 但是,我无法对齐前两列和后两列。 这是一张显示它们当前外观的图片: 我试图让它们看起来像: |------
我正在尝试为网站构建菜单,我使用了以下代码: nav#menu:hover li{ background-color: #606060; } 但是,当我将鼠标悬停在网站上的列表项上时,代码会更
我是一名优秀的程序员,十分优秀!