|
105 | 105 | <ExtraSourcesNuGetSourceName>ExtraSources</ExtraSourcesNuGetSourceName>
|
106 | 106 | <SbrpRepoSrcPath>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'source-build-reference-packages', 'src'))</SbrpRepoSrcPath>
|
107 | 107 | </PropertyGroup>
|
108 |
| - |
| 108 | + |
109 | 109 | <PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
110 | 110 | <PrebuiltNuGetSourceName>prebuilt</PrebuiltNuGetSourceName>
|
111 | 111 | <PreviouslySourceBuiltNuGetSourceName>previously-source-built</PreviouslySourceBuiltNuGetSourceName>
|
|
116 | 116 | <_CommonBuildSources Include="@(DependentRepoSourceName)" />
|
117 | 117 | <_CommonBuildSources Include="$(ExtraSourcesNuGetSourceName)" Condition="'$(ExtraRestoreSourcePath)' != ''" />
|
118 | 118 | </ItemGroup>
|
119 |
| - |
| 119 | + |
120 | 120 | <PropertyGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
|
121 | 121 | <!-- When not building source-only, repositories lagging behind on the .NET SDK (e.g. tooling repos)
|
122 | 122 | that need to utilize a VS-aligned version for development purposes may not have the latest product
|
|
250 | 250 | <!-- Before a repository builds, set up the version property files that override the repo's defaults.
|
251 | 251 | There are 3 files generated -->
|
252 | 252 | <UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.WritePackageVersionsProps" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" />
|
| 253 | + <UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.GetKnownPackagesFromAssetManifests" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" /> |
253 | 254 | <Target Name="CreateBuildInputProps"
|
254 | 255 | DependsOnTargets="GetProducedPackagesFromTransitiveReferences"
|
255 | 256 | Inputs="$(MSBuildProjectFullPath)"
|
256 | 257 | Outputs="$(BaseIntermediateOutputPath)CreateBuildInputProps.complete">
|
| 258 | + |
| 259 | + <!-- Get the previously-built-source-built package information from the manifest from that build. --> |
257 | 260 | <ItemGroup>
|
258 |
| - <_PreviouslyBuiltSourceBuiltPackages Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" /> |
| 261 | + <_PrebuiltSourceBuiltAssetManifests Include="$(PrebuiltSourceBuiltPackagesPath)VerticalManifest.xml" /> |
259 | 262 | </ItemGroup>
|
260 | 263 |
|
| 264 | + <GetKnownPackagesFromAssetManifests AssetManifests="@(_PrebuiltSourceBuiltAssetManifests)" Condition="Exists(@(_PrebuiltSourceBuiltAssetManifests))"> |
| 265 | + <Output TaskParameter="KnownPackages" ItemName="_PreviouslyBuiltSourceBuiltPackages" /> |
| 266 | + </GetKnownPackagesFromAssetManifests> |
| 267 | + |
261 | 268 | <Error Condition="'$(PackageVersionPropsFlowType)' != 'AllPackages' and '$(PackageVersionPropsFlowType)' != 'DependenciesOnly'"
|
262 | 269 | Text="Invalid PackageVersionPropsFlowType '$(PackageVersionPropsFlowType)'. Must be 'AllPackages' or 'DependenciesOnly'." />
|
263 | 270 |
|
|
273 | 280 | OutputPath="$(CurrentSourceBuiltPackageVersionPropsPath)" />
|
274 | 281 |
|
275 | 282 | <!-- Create previously source-built inputs info -->
|
276 |
| - <WritePackageVersionsProps NuGetPackages="@(_PreviouslyBuiltSourceBuiltPackages)" |
| 283 | + <WritePackageVersionsProps KnownPackages="@(_PreviouslyBuiltSourceBuiltPackages)" |
277 | 284 | VersionPropsFlowType="$(PackageVersionPropsFlowType)"
|
278 | 285 | VersionDetails="$(_VersionDetailsXml)"
|
279 | 286 | OutputPath="$(PreviouslySourceBuiltPackageVersionPropsPath)" />
|
|
465 | 472 | <Message Importance="High" Text=" -> %(RepoManifestArtifact.Identity)" />
|
466 | 473 | </Target>
|
467 | 474 |
|
468 |
| - <!-- Discover the produced packages from all repo asset manifests for this repository. --> |
469 |
| - <Target Name="DiscoverProducedPackages" DependsOnTargets="GetRepoAssetManifests" Inputs="@(RepoAssetManifest)" Outputs="%(Identity).ForBatching"> |
470 |
| - <XmlPeek XmlInputPath="%(RepoAssetManifest.Identity)" Query="/Build/*[self::Package]"> |
471 |
| - <Output TaskParameter="Result" ItemName="ProducedPackageEntry" /> |
472 |
| - </XmlPeek> |
473 |
| - </Target> |
474 |
| - |
475 |
| - <Target Name="ProcessPackageEntries" DependsOnTargets="DiscoverProducedPackages" Inputs="@(ProducedPackageEntry)" Outputs="%(Identity).ForBatching"> |
476 |
| - <XmlPeek XmlContent="%(ProducedPackageEntry.Identity)" Query="/Package/@Id"> |
477 |
| - <Output TaskParameter="Result" PropertyName="ProducedPackageId" /> |
478 |
| - </XmlPeek> |
479 |
| - <XmlPeek XmlContent="%(ProducedPackageEntry.Identity)" Query="/Package/@Version"> |
480 |
| - <Output TaskParameter="Result" PropertyName="ProducedPackageVersion" /> |
481 |
| - </XmlPeek> |
482 |
| - |
| 475 | + <UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.GetKnownPackagesFromAssetManifests" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" /> |
| 476 | + <Target Name="GetProducedPackages" DependsOnTargets="GetRepoAssetManifests" Returns="@(ProducedPackage)"> |
| 477 | + <GetKnownPackagesFromAssetManifests AssetManifests="@(RepoAssetManifest)"> |
| 478 | + <Output TaskParameter="KnownPackages" ItemName="ProducedPackage" /> |
| 479 | + </GetKnownPackagesFromAssetManifests> |
483 | 480 | <ItemGroup>
|
484 |
| - <ProducedPackage Include="$(ProducedPackageId)" Version="$(ProducedPackageVersion)" ReferenceOnly="$([MSBuild]::ValueOrDefault('$(ReferenceOnlyRepoArtifacts)', 'false'))" /> |
| 481 | + <ProducedPackage ReferenceOnly="$([MSBuild]::ValueOrDefault('$(ReferenceOnlyRepoArtifacts)', 'false'))" /> |
485 | 482 | </ItemGroup>
|
486 | 483 | </Target>
|
487 | 484 |
|
488 |
| - <Target Name="GetProducedPackages" DependsOnTargets="GetRepoAssetManifests;DiscoverProducedPackages;ProcessPackageEntries" Returns="@(ProducedPackage)" /> |
489 |
| - |
490 | 485 | <Target Name="GetProducedPackagesFromTransitiveReferences" DependsOnTargets="GetTransitiveRepositoryReferences" Returns="@(_DependencyProducedPackage)">
|
491 | 486 | <MSBuild Projects="@(TransitiveRepositoryReference->'%(Identity).proj')"
|
492 | 487 | Targets="GetProducedPackages"
|
|
0 commit comments