Skip to content

Commit ac4e5f0

Browse files
authored
Don't run the GetProducedPackages target early when previous build pass dependencies are referenced (#47560)
1 parent b3ca563 commit ac4e5f0

File tree

3 files changed

+31
-16
lines changed

3 files changed

+31
-16
lines changed

src/SourceBuild/content/repo-projects/Directory.Build.targets

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,7 @@
390390
<_DependentProjectCurrentBuildPass Include="@(_DependentProject->WithMetadataValue('DotNetBuildPass', '$(DotNetBuildPass)'))" />
391391

392392
<_DependentProjectToSkip Include="@(_DependentProject)" Exclude="@(_DependentProjectCurrentBuildPass)" />
393+
<_DependentProjectToSkip AdditionalProperties="GetDependentVerticalAssetsOnly=true" />
393394

394395
<_DependentProject Remove="@(_DependentProject)" />
395396
<_DependentProject Include="@(_DependentProjectCurrentBuildPass)" />
@@ -553,7 +554,26 @@
553554
</Touch>
554555
</Target>
555556

557+
<Target Name="GetProducedPackagesFromDependentVerticals"
558+
Condition="'$(IsUtilityProject)' != 'true'"
559+
Returns="@(ProducedPackageFromDependentVertical)">
560+
<!-- Add manifests from dependent verticals. -->
561+
<ItemGroup>
562+
<RepoAssetManifestFromDependentVertical Include="$(ArtifactsAssetManifestsDir)*.xml" Exclude="$(MergedAssetManifestOutputPath)" />
563+
</ItemGroup>
564+
565+
<GetKnownArtifactsFromAssetManifests AssetManifests="@(RepoAssetManifestFromDependentVertical)" RepoOrigin="$(RepositoryName)">
566+
<Output TaskParameter="KnownPackages" ItemName="ProducedPackageFromDependentVertical" />
567+
<Output TaskParameter="KnownBlobs" ItemName="ProducedAssetFromDependentVertical" />
568+
</GetKnownArtifactsFromAssetManifests>
569+
570+
<ItemGroup>
571+
<ProducedPackageFromDependentVertical ReferenceOnly="$([MSBuild]::ValueOrDefault('$(ReferenceOnlyRepoArtifacts)', 'false'))" />
572+
</ItemGroup>
573+
</Target>
574+
556575
<Target Name="GetProducedPackages"
576+
DependsOnTargets="GetProducedPackagesFromDependentVerticals"
557577
Condition="'$(IsUtilityProject)' != 'true'"
558578
Returns="@(ProducedPackage);@(ProducedPackageFromDependentVertical)">
559579
<ItemGroup>
@@ -588,19 +608,8 @@
588608
<BinPlaceFile Include="@(ProducedAsset->'$(ArtifactsAssetsDir)%(Identity)')" Condition="'%(Visibility)' != 'Vertical'"/>
589609
</ItemGroup>
590610

591-
<!-- Add manifests from dependent verticals. -->
592-
<ItemGroup>
593-
<RepoAssetManifestFromDependentVertical Include="$(ArtifactsAssetManifestsDir)*.xml" Exclude="$(MergedAssetManifestOutputPath)" />
594-
</ItemGroup>
595-
596-
<GetKnownArtifactsFromAssetManifests AssetManifests="@(RepoAssetManifestFromDependentVertical)" RepoOrigin="$(RepositoryName)">
597-
<Output TaskParameter="KnownPackages" ItemName="ProducedPackageFromDependentVertical" />
598-
<Output TaskParameter="KnownBlobs" ItemName="ProducedAssetFromDependentVertical" />
599-
</GetKnownArtifactsFromAssetManifests>
600-
601611
<ItemGroup>
602612
<ProducedPackage ReferenceOnly="$([MSBuild]::ValueOrDefault('$(ReferenceOnlyRepoArtifacts)', 'false'))" />
603-
<ProducedPackageFromDependentVertical ReferenceOnly="$([MSBuild]::ValueOrDefault('$(ReferenceOnlyRepoArtifacts)', 'false'))" />
604613
</ItemGroup>
605614
</Target>
606615

@@ -712,7 +721,12 @@
712721
</Touch>
713722
</Target>
714723

715-
<Target Name="DiscoverToolPackageVersions" DependsOnTargets="GetProducedPackages">
724+
<PropertyGroup>
725+
<_DiscoverToolPackageVersionsDependsOn>GetProducedPackages</_DiscoverToolPackageVersionsDependsOn>
726+
<_DiscoverToolPackageVersionsDependsOn Condition="'$(GetDependentVerticalAssetsOnly)' == 'true'">GetProducedPackagesFromDependentVerticals</_DiscoverToolPackageVersionsDependsOn>
727+
</PropertyGroup>
728+
729+
<Target Name="DiscoverToolPackageVersions" DependsOnTargets="$(_DiscoverToolPackageVersionsDependsOn)">
716730
<JoinItems Left="@(ProducedPackage);@(ProducedPackageFromDependentVertical)"
717731
Right="@(BuiltSdkPackage)"
718732
LeftMetadata="*">

src/SourceBuild/content/repo-projects/dotnet.proj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,9 @@
2424
<RepositoryReference Include="sdk" DotNetBuildPass="2" />
2525
</ItemGroup>
2626

27+
<!-- Build the ASP.NET Core hosting bundle -->
28+
<ItemGroup Condition="'$(DotNetBuildPass)' == '2' and '$(TargetOS)' == 'windows' and '$(TargetArchitecture)' == 'x64'">
29+
<RepositoryReference Include="aspnetcore" DotNetBuildPass="2" />
30+
</ItemGroup>
31+
2732
</Project>

src/SourceBuild/content/repo-projects/sdk.proj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,6 @@
6565
<RepositoryReference Include="source-build-reference-packages" />
6666
</ItemGroup>
6767

68-
<ItemGroup Condition="'$(DotNetBuildPass)' == '2' and '$(TargetOS)' == 'windows' and '$(TargetArchitecture)' == 'x64'">
69-
<RepositoryReference Include="aspnetcore" DotNetBuildPass="2" />
70-
</ItemGroup>
71-
7268
<!--
7369
If we have authentication, keep the templating internal feed (if one exists) to acquire the
7470
text-only prebuilt. The source-build repo as a whole should depend on the same internal feed as

0 commit comments

Comments
 (0)