Skip to content

Commit 9f73261

Browse files
authored
Don't get produced packages from transitive references in other build passes (#47610)
1 parent 80f373f commit 9f73261

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

Diff for: src/SourceBuild/content/repo-projects/Directory.Build.targets

+16-3
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@
306306
<UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.WritePackageVersionsProps" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" />
307307
<UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.GetKnownArtifactsFromAssetManifests" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" />
308308
<Target Name="CreateBuildInputProps"
309-
DependsOnTargets="GetProducedPackagesFromTransitiveReferences"
309+
DependsOnTargets="GetProducedPackagesFromTransitiveReferences;GetProducedPackagesFromTransitiveReferencesFromPreviousBuildPasses"
310310
Inputs="$(MSBuildProjectFullPath)"
311311
Outputs="$(BaseIntermediateOutputPath)CreateBuildInputProps.complete">
312312

@@ -413,7 +413,7 @@
413413
Condition="'@(_DependentProjectToSkip)' != ''" />
414414
</Target>
415415

416-
<Target Name="DiscoverBuiltSdkOverrides" DependsOnTargets="GetProducedPackagesFromTransitiveReferences">
416+
<Target Name="DiscoverBuiltSdkOverrides" DependsOnTargets="GetProducedPackagesFromTransitiveReferences;GetProducedPackagesFromTransitiveReferencesFromPreviousBuildPasses">
417417
<!--
418418
Discover the Arcade SDKs built from the live Arcade source and set them as overrides here.
419419
This will automatically no-op for Arcade and SBRP, as these packages will not have been produced yet.
@@ -613,8 +613,21 @@
613613
</ItemGroup>
614614
</Target>
615615

616+
<Target Name="GetProducedPackagesFromTransitiveReferencesFromPreviousBuildPasses" DependsOnTargets="GetTransitiveRepositoryReferences" Returns="@(_DependencyProducedPackage)">
617+
<ItemGroup>
618+
<_TransitivelyThisBuildPassReferencedRepo Include="@(TransitiveRepositoryReference->WithMetadataValue('DotNetBuildPass','$(DotNetBuildPass)'))" />
619+
<_TransitivelyPreviousBuildPassReferencedRepo Include="@(TransitiveRepositoryReference)"
620+
Exclude="@(_TransitivelyThisBuildPassReferencedRepo)" />
621+
</ItemGroup>
622+
<MSBuild Projects="@(_TransitivelyPreviousBuildPassReferencedRepo->'%(Identity).proj')"
623+
Targets="GetProducedPackagesFromDependentVerticals"
624+
BuildInParallel="true">
625+
<Output TaskParameter="TargetOutputs" ItemName="_DependencyProducedPackage" />
626+
</MSBuild>
627+
</Target>
628+
616629
<Target Name="GetProducedPackagesFromTransitiveReferences" DependsOnTargets="GetTransitiveRepositoryReferences" Returns="@(_DependencyProducedPackage)">
617-
<MSBuild Projects="@(TransitiveRepositoryReference->'%(Identity).proj')"
630+
<MSBuild Projects="@(TransitiveRepositoryReference->WithMetadataValue('DotNetBuildPass','$(DotNetBuildPass)')->'%(Identity).proj')"
618631
Targets="GetProducedPackages"
619632
BuildInParallel="true">
620633
<Output TaskParameter="TargetOutputs" ItemName="_DependencyProducedPackage" />

0 commit comments

Comments
 (0)