我们有一个 Jenkins 任务,它会在一夜之间运行并编译一个包含我们所有项目的项目组。不幸的是,此任务在项目中的第一个错误时停止。这意味着我们无法获得项目组中的完整错误列表,即使不止一个签入可能包含错误,也只有一个签入会被标记为问题。
有什么办法可以强制Delphi编译器继续构建项目组中的所有项目?
解决方案是分别构建每个项目。
信用应该归功于 LaKraven,他在评论中提出了这个答案,但我无法勾选它。
“如果您使用 MSBuild,您可以创建一个 BAT 文件,该文件将构建每个项目并继续下一个项目,无论前一个项目是否成功”
还有另一个 stackoverflow question显示了有关此的更多详细信息。
我们为使其工作所做的唯一更改是使用以下 buildall.targets 代替:
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
DefaultTargets="Default">
<ItemGroup>
<AllFiles Include=".\**\*.dproj"/>
</ItemGroup>
<Target Name="Default">
<MSBuild Projects="@(AllFiles)"/>
</Target>