Skip to content

Commit c85bc45

Browse files
kzuCopilot
andcommitted
Deduplicate Compile items in startup pipeline
Normalize Compile items with MSBuild Distinct() after selecting the active top-level startup file so duplicate Compile entries are removed before downstream targets run. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 1ef0056 commit c85bc45

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

src/SmallSharp/SmallSharp.targets

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<StartupFile Condition="'$(StartupFile)' == ''">$(S)</StartupFile>
1515
<StartupFile Condition="'$(StartupFile)' == ''">$(ActiveDebugProfile)</StartupFile>
1616
<FindStartupFile Condition="'$(StartupFile)' == '' or !Exists('$(StartupFile)')">true</FindStartupFile>
17-
<StartupFileDependsOn>EnsureProperties;CollectStartupFile;ResolveStartupFile;SelectStartupFile;SelectTopLevelCompile;UpdateLaunchSettings;EmitTargets</StartupFileDependsOn>
17+
<StartupFileDependsOn>EnsureProperties;CollectStartupFile;ResolveStartupFile;SelectStartupFile;SelectTopLevelCompile;DeduplicateCompile;UpdateLaunchSettings;EmitTargets</StartupFileDependsOn>
1818

1919
<!-- For CLI dotnet run, users must set ImportProjectExtensionProps/ImportProjectExtensionTargets=true -->
2020
<SmallSharpPackagesProps>$(MSBuildProjectExtensionsPath)$(MSBuildProjectFile).smallsharp.props</SmallSharpPackagesProps>
@@ -172,6 +172,16 @@
172172
</ItemGroup>
173173
</Target>
174174

175+
<Target Name="DeduplicateCompile">
176+
<ItemGroup>
177+
<_DistinctCompile Remove="@(_DistinctCompile)" />
178+
<_DistinctCompile Include="@(Compile -> Distinct())" />
179+
<Compile Remove="@(Compile)" />
180+
<Compile Include="@(_DistinctCompile)" />
181+
<_DistinctCompile Remove="@(_DistinctCompile)" />
182+
</ItemGroup>
183+
</Target>
184+
175185
<Target Name="AfterClean">
176186
<Delete Files="$(MSBuildProjectDirectory)\Properties\launchSettings.json"
177187
Condition="Exists('$(MSBuildProjectDirectory)\Properties\launchSettings.json')" />

0 commit comments

Comments
 (0)