diff options
author | Eric St. John <ericstj@microsoft.com> | 2017-02-03 02:15:10 +0300 |
---|---|---|
committer | Eric St. John <ericstj@microsoft.com> | 2017-02-03 19:30:56 +0300 |
commit | 33e27ef1252d6c1c813e5a33807bcc686c74e3a2 (patch) | |
tree | dfac02b4a7ca0e97f26c2bc50b918d8bf43118d6 /buildvertical.targets | |
parent | 179336006d4e137d6f897ce041a408f63bbee631 (diff) |
Don't reorder projects when specifying BuildAllConfigurations
Previously our transform was also applying metadata, which caused
MSBuild to batch when creating the item and reorder the items based
on that batching (common Configurations were grouped together).
To avoid this batching, first apply the metadata, then transform.
Diffstat (limited to 'buildvertical.targets')
-rw-r--r-- | buildvertical.targets | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/buildvertical.targets b/buildvertical.targets index 6246f0b53d..3c841f0a7e 100644 --- a/buildvertical.targets +++ b/buildvertical.targets @@ -22,15 +22,19 @@ </MSBuild> <ItemGroup> + <!-- assign configuration as a seperate step to prevent batching during the transform which can reorder the list. + order or projects matters here since this applies to traversal projects which build projects serially. --> + <_projectBuildConfigurations> + <AdditionalProperties>Configuration=%(Identity);%(_projectBuildConfigurations.AdditionalProperties)</AdditionalProperties> + </_projectBuildConfigurations> + <!-- transform back to project --> - <_ProjectWithConfiguration Include="@(_projectBuildConfigurations->'%(OriginalItemSpec)')"> - <AdditionalProperties>Configuration=%(Identity);%(_ProjectBestConfigurations.AdditionalProperties)</AdditionalProperties> - </_ProjectWithConfiguration> + <_projectWithConfiguration Include="@(_projectBuildConfigurations->'%(OriginalItemSpec)')" /> </ItemGroup> <ItemGroup> <Project Remove="@(Project)" /> - <Project Include="@(_ProjectWithConfiguration)" /> + <Project Include="@(_projectWithConfiguration)" /> </ItemGroup> </Target> |