Skip to content

Commit 7361d85

Browse files
authored
Fix BuildPass>1 artifacts and asset manifest content (#45323)
1 parent bd5f2dd commit 7361d85

16 files changed

+245
-124
lines changed

eng/pipelines/templates/jobs/vmr-build.yml

Lines changed: 19 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ parameters:
1313
type: string
1414
default: ''
1515

16+
- name: configuration
17+
type: string
18+
default: 'Release'
19+
1620
- name: container
1721
type: string
1822
default: ''
@@ -155,6 +159,11 @@ jobs:
155159
- name: sourcesPath
156160
value: $(vmrPath)
157161

162+
# Must be a path under $(sourcesPath). Inside the docker container, we mount $(sourcesPath) to /vmr
163+
# and can't write outside of that folder.
164+
- name: artifactsStagingDir
165+
value: $(sourcesPath)/artifacts/staging
166+
158167
templateContext:
159168
outputParentDirectory: $(Build.ArtifactStagingDirectory)
160169
outputs:
@@ -166,14 +175,14 @@ jobs:
166175
sbomEnabled: false
167176

168177
- output: pipelineArtifact
169-
path: $(Build.ArtifactStagingDirectory)/publishing
178+
path: $(artifactsStagingDir)
170179
artifact: $(Agent.JobName)_Artifacts
171180
displayName: Publish Artifacts
172181
sbomEnabled: true
173182

174183
# Using build artifacts to enable publishing the vertical manifests to a single artifact from different jobs
175184
- output: buildArtifacts
176-
PathtoPublish: $(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml
185+
PathtoPublish: $(artifactsStagingDir)/manifests/${{ parameters.configuration }}/$(Agent.JobName).xml
177186
ArtifactName: VerticalManifests
178187
displayName: Publish Vertical Manifest
179188
sbomEnabled: false
@@ -276,13 +285,13 @@ jobs:
276285
if /I '${{ parameters.useDevVersions }}'=='True' set extraBuildArguments=%extraBuildArguments% -dev
277286
set extraBuildProperties=
278287
if not [${{ parameters.buildPass }}]==[] set extraBuildProperties=%extraBuildProperties% /p:DotNetBuildPass=${{ parameters.buildPass }}
279-
call build.cmd -ci -cleanWhileBuilding -prepareMachine %extraBuildArguments% /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) %extraBuildProperties% ${{ parameters.extraProperties }}
288+
call build.cmd -ci -cleanWhileBuilding -prepareMachine %extraBuildArguments% -c ${{ parameters.configuration }} /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) %extraBuildProperties% ${{ parameters.extraProperties }}
280289
displayName: Build
281290
workingDirectory: ${{ variables.sourcesPath }}
282291
283292
- ${{ if eq(parameters.runTests, 'True') }}:
284293
- script: |
285-
call build.cmd -ci -prepareMachine -test -excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) ${{ parameters.extraProperties }}
294+
call build.cmd -ci -prepareMachine -test -excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog -c ${{ parameters.configuration }} /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) ${{ parameters.extraProperties }}
286295
displayName: Run Tests
287296
workingDirectory: ${{ variables.sourcesPath }}
288297
timeoutInMinutes: ${{ variables.runTestsTimeout }}
@@ -330,7 +339,8 @@ jobs:
330339
df -h
331340
332341
customEnvVars=""
333-
customBuildArgs="--ci --clean-while-building --prepareMachine"
342+
customBuildArgs="--ci --clean-while-building --prepareMachine -c ${{ parameters.configuration }}"
343+
334344
if [[ '${{ parameters.runOnline }}' == 'True' ]]; then
335345
customBuildArgs="$customBuildArgs --online"
336346
fi
@@ -473,10 +483,10 @@ jobs:
473483
474484
# Only use Docker when a container is specified
475485
if [[ -n "${{ parameters.container }}" ]]; then
476-
docker run --rm $dockerVolumeArgs -w /vmr ${{ parameters.container }} ./build.sh --test --excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog $customBuildArgs $extraBuildProperties $(additionalBuildArgs)
486+
docker run --rm $dockerVolumeArgs -w /vmr ${{ parameters.container }} ./build.sh --test --excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog -c ${{ parameters.configuration }} $customBuildArgs $extraBuildProperties $(additionalBuildArgs)
477487
else
478488
cd $(sourcesPath)
479-
./build.sh --test --excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog $customBuildArgs $extraBuildProperties $(additionalBuildArgs)
489+
./build.sh --test --excludeCIBinarylog /bl:artifacts/log/Release/Test.binlog -c ${{ parameters.configuration }} $customBuildArgs $extraBuildProperties $(additionalBuildArgs)
480490
fi
481491
482492
displayName: Run Tests
@@ -588,45 +598,15 @@ jobs:
588598
publishRunAttachments: true
589599
testRunTitle: ScenarioTests_$(Agent.JobName)
590600

591-
- task: CopyFiles@2
592-
inputs:
593-
SourceFolder: $(sourcesPath)/artifacts
594-
Contents: |
595-
assets/**
596-
manifests/**
597-
TargetFolder: $(Build.ArtifactStagingDirectory)/publishing
598-
displayName: Copy artifacts to Artifact Staging Directory
599-
600-
- ${{ if eq(parameters.targetOS, 'windows') }}:
601-
- powershell: |
602-
$sourcePath = "$(sourcesPath)/artifacts/manifests/VerticalManifest.xml"
603-
$targetPath = "$(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml"
604-
New-Item -ItemType Directory -Path "$(Build.ArtifactStagingDirectory)/manifests" -Force | Out-Null
605-
Copy-Item $sourcePath -Destination $targetPath -Force
606-
displayName: Copy vertical manifest to Artifact Staging Directory
607-
- ${{ else }}:
608-
- script: |
609-
mkdir -p "$(Build.ArtifactStagingDirectory)/manifests"
610-
cp "$(sourcesPath)/artifacts/manifests/VerticalManifest.xml" "$(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml"
611-
displayName: Copy vertical manifest to Artifact Staging Directory
612-
613-
# When building from source, the Private.SourceBuilt.Artifacts archive already contains the nuget packages
614-
- ${{ if ne(parameters.buildSourceOnly, 'true') }}:
615-
- task: CopyFiles@2
616-
inputs:
617-
SourceFolder: $(sourcesPath)/artifacts/packages
618-
TargetFolder: $(Build.ArtifactStagingDirectory)/publishing/packages
619-
displayName: Copy packages to Artifact Staging Directory
620-
621601
- ${{ if or(ne(variables['System.TeamProject'], 'internal'), eq(variables['Build.Reason'], 'PullRequest')) }}:
622-
- publish: $(Build.ArtifactStagingDirectory)/publishing
602+
- publish: $(artifactsStagingDir)
623603
artifact: $(Agent.JobName)_Artifacts
624604
displayName: Publish Artifacts
625605
continueOnError: true
626606

627607
# Using build artifacts to enable publishing the vertical manifests to a single artifact from different jobs
628608
- task: PublishBuildArtifacts@1
629609
inputs:
630-
PathtoPublish: $(Build.ArtifactStagingDirectory)/manifests/$(Agent.JobName).xml
610+
PathtoPublish: $(artifactsStagingDir)/manifests/${{ parameters.configuration }}/$(Agent.JobName).xml
631611
ArtifactName: VerticalManifests
632612
displayName: Publish Vertical Manifest

src/SourceBuild/content/Directory.Build.props

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,11 @@
162162

163163
<VSMSBuildSdkResolversDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'toolset', 'VSSdkResolvers'))</VSMSBuildSdkResolversDir>
164164
<IntermediateSymbolsRootDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'Symbols'))</IntermediateSymbolsRootDir>
165-
<AssetManifestsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'manifests'))</AssetManifestsDir>
165+
166+
<ArtifactsAssetManifestsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'manifests', '$(Configuration)'))</ArtifactsAssetManifestsDir>
167+
<AssetManifestsIntermediateDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'manifests', '$(Configuration)'))</AssetManifestsIntermediateDir>
166168
<ArtifactsAssetsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'assets', '$(Configuration)'))</ArtifactsAssetsDir>
169+
167170
<DotNetSdkExtractDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'extracted-dotnet-sdk'))</DotNetSdkExtractDir>
168171

169172
<PrebuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'prebuilt'))</PrebuiltPackagesPath>
@@ -197,7 +200,9 @@
197200
</PropertyGroup>
198201

199202
<PropertyGroup>
200-
<MergedAssetManifestOutputPath>$(AssetManifestsDir)VerticalManifest.xml</MergedAssetManifestOutputPath>
203+
<!-- Respect the VerticalName property which is set to a unique identifier in CI. Otherwise default to 'VerticalManifest'. -->
204+
<MergedAssetManifestOutputPath>$(ArtifactsAssetManifestsDir)$([MSBuild]::ValueOrDefault('$(VerticalName)', 'VerticalManifest')).xml</MergedAssetManifestOutputPath>
205+
<ArtifactsStagingDir Condition="'$(ContinuousIntegrationBuild)' == 'true'">$(ArtifactsDir)staging</ArtifactsStagingDir>
201206
</PropertyGroup>
202207

203208
</Project>

src/SourceBuild/content/Directory.Build.targets

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,35 @@
3131
</PropertyGroup>
3232
</Target>
3333

34+
<ItemGroup>
35+
<!-- Binplace all assets and packages to ArtifactsStagingDir. -->
36+
<BinPlaceDir Include="$(ArtifactsStagingDir)" Condition="'$(ArtifactsStagingDir)' != ''" />
37+
</ItemGroup>
38+
39+
<Target Name="BinPlaceFiles"
40+
AfterTargets="Build"
41+
Condition="'@(BinPlaceDir)' != '' and '@(BinPlaceFile)' != ''"
42+
Inputs="@(BinPlaceDir);%(BinPlaceDir.Identity)"
43+
Outputs="unused">
44+
<PropertyGroup>
45+
<BinPlaceUseHardlinksIfPossible Condition="'$(BinPlaceUseHardlinksIfPossible)' == ''">true</BinPlaceUseHardlinksIfPossible>
46+
<_BinPlaceDir>%(BinPlaceDir.Identity)</_BinPlaceDir>
47+
</PropertyGroup>
48+
49+
<ItemGroup>
50+
<_BinPlaceFileWithFullTargetPath Include="@(BinPlaceFile)">
51+
<TargetPath Condition="'%(BinPlaceFile.TargetPath)' != ''">%(BinPlaceFile.TargetPath)</TargetPath>
52+
<TargetPath Condition="'%(BinPlaceFile.TargetPath)' == ''">$([MSBuild]::MakeRelative('$(ArtifactsDir)', '%(BinPlaceFile.Identity)'))</TargetPath>
53+
</_BinPlaceFileWithFullTargetPath>
54+
</ItemGroup>
55+
56+
<Copy SourceFiles="@(_BinPlaceFileWithFullTargetPath)"
57+
DestinationFiles="@(_BinPlaceFileWithFullTargetPath -> '$([MSBuild]::EnsureTrailingSlash('$(_BinPlaceDir)'))%(TargetPath)')"
58+
SkipUnchangedFiles="true"
59+
OverwriteReadOnlyFiles="true"
60+
Retries="$(CopyRetryCount)"
61+
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
62+
UseHardlinksIfPossible="$(BinPlaceUseHardlinksIfPossible)" />
63+
</Target>
64+
3465
</Project>

src/SourceBuild/content/build.proj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.Build.Traversal" InitialTargets="PrintInfo">
1+
<Project Sdk="Microsoft.Build.Traversal">
22

33
<!-- Default targets and parallelization -->
44
<ItemDefinitionGroup>
@@ -26,7 +26,7 @@
2626
<ProjectReference Include="$(RepositoryEngineeringDir)finish-source-only.proj" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
2727
</ItemGroup>
2828

29-
<Target Name="PrintInfo">
29+
<Target Name="PrintInfo" BeforeTargets="Build">
3030
<PropertyGroup>
3131
<BuildModeInfoText Condition="'$(DotNetBuildSourceOnly)' == 'true'">source-build</BuildModeInfoText>
3232
<BuildModeInfoText Condition="'$(DotNetBuildSourceOnly)' != 'true'">non-source-build</BuildModeInfoText>

src/SourceBuild/content/eng/extract-sdk-archive.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</PropertyGroup>
66

77
<Target Name="ExtractSdkArchive"
8-
BeforeTargets="AfterBuild"
8+
BeforeTargets="Build"
99
DependsOnTargets="DetermineSourceBuiltSdkVersion"
1010
Inputs="$(SdkTarballPath)"
1111
Outputs="$(BaseIntermediateOutputPath)ExtractSdkArchive.complete">

src/SourceBuild/content/eng/finish-source-only.proj

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616

1717
<!-- After building, generate a prebuilt usage report. -->
1818
<Target Name="ReportPrebuiltUsage"
19-
AfterTargets="Build"
19+
BeforeTargets="Build"
2020
Condition="'$(SkipReportPrebuiltUsage)' != 'true'">
2121
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="WritePrebuiltUsageData;ReportPrebuiltUsage" />
2222
</Target>
2323

2424
<UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.WriteSBRPUsageReport" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" />
2525
<Target Name="ReportSbrpUsage"
26-
AfterTargets="Build"
26+
BeforeTargets="Build"
2727
Condition="'$(ReportSbrpUsage)' == 'true'">
2828
<WriteSbrpUsageReport SbrpRepoSrcPath="$(SbrpRepoSrcDir)"
2929
SrcPath="$(SrcDir)"
@@ -35,7 +35,7 @@
3535
to be used as inputs and outputs of symbols repackaging targets.
3636
-->
3737
<Target Name="DetermineSymbolsTargetsInputsAndOutputs"
38-
AfterTargets="Build"
38+
BeforeTargets="Build"
3939
DependsOnTargets="DetermineSourceBuiltSdkVersion">
4040
<PropertyGroup>
4141
<UnifiedSymbolsTarball>$(ArtifactsAssetsDir)dotnet-symbols-all-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension)</UnifiedSymbolsTarball>
@@ -48,7 +48,7 @@
4848

4949
<!-- After building, repackage symbols into a single tarball. -->
5050
<Target Name="RepackageSymbols"
51-
AfterTargets="Build"
51+
BeforeTargets="Build"
5252
DependsOnTargets="DetermineSymbolsTargetsInputsAndOutputs"
5353
Inputs="@(IntermediateSymbol)"
5454
Outputs="$(UnifiedSymbolsTarball)">
@@ -57,13 +57,18 @@
5757
<Exec Command="tar --numeric-owner -czf $(UnifiedSymbolsTarball) *"
5858
WorkingDirectory="$(IntermediateSymbolsRootDir)" />
5959

60+
<!-- Mark the artifact so that it gets binplaced. -->
61+
<ItemGroup>
62+
<BinPlaceFile Include="$(UnifiedSymbolsTarball)" />
63+
</ItemGroup>
64+
6065
<Message Importance="High" Text="Packaged all symbols in '$(UnifiedSymbolsTarball)'" />
6166
</Target>
6267

6368
<!-- After building, create the sdk symbols tarball. -->
6469
<UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.CreateSdkSymbolsLayout" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" />
6570
<Target Name="CreateSdkSymbolsTarball"
66-
AfterTargets="Build"
71+
BeforeTargets="Build"
6772
DependsOnTargets="RepackageSymbols"
6873
Inputs="@(IntermediateSymbol);$(SdkTarballPath)"
6974
Outputs="$(SdkSymbolsTarball)">
@@ -79,6 +84,11 @@
7984
<Exec Command="tar --numeric-owner -czf $(SdkSymbolsTarball) *"
8085
WorkingDirectory="$(IntermediateSdkSymbolsLayout)" />
8186

87+
<!-- Mark the artifact so that it gets binplaced. -->
88+
<ItemGroup>
89+
<BinPlaceFile Include="$(SdkSymbolsTarball)" />
90+
</ItemGroup>
91+
8292
<Message Importance="High" Text="Packaged sdk symbols in '$(SdkSymbolsTarball)'" />
8393

8494
<RemoveDir Directories="$(IntermediateSdkSymbolsLayout)" />
@@ -97,7 +107,7 @@
97107

98108
<UsingTask TaskName="Microsoft.DotNet.SourceBuild.Tasks.LeakDetection.CheckForPoison" AssemblyFile="$(MicrosoftDotNetSourceBuildTasksLeakDetectionAssembly)" TaskFactory="TaskHostFactory" Condition="'$(EnablePoison)' == 'true'" />
99109
<Target Name="ReportPoisonUsage"
100-
AfterTargets="Build"
110+
BeforeTargets="Build"
101111
Condition="'$(EnablePoison)' == 'true'"
102112
Inputs="$(MSBuildProjectFullPath)"
103113
Outputs="$(BaseIntermediateOutputPath)ReportPoisonUsage.complete" >
@@ -146,7 +156,7 @@
146156
</Target>
147157

148158
<Target Name="CreatePrebuiltsTarball"
149-
AfterTargets="Build"
159+
BeforeTargets="Build"
150160
DependsOnTargets="
151161
CheckIfPrebuiltsExistToPack;
152162
CreatePrebuiltsTarballIfPrebuiltsExist;
@@ -172,6 +182,11 @@
172182
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(PrebuiltsTarball)'))" />
173183
<Exec Command="tar --numeric-owner -zcf $(PrebuiltsTarball) -C $(PrebuiltsTarballWorkingDir) ." />
174184

185+
<!-- Mark the artifact so that it gets binplaced. -->
186+
<ItemGroup>
187+
<BinPlaceFile Include="$(PrebuiltsTarball)" />
188+
</ItemGroup>
189+
175190
<Message Text="Tarball '$(PrebuiltsTarball)' was successfully created from '$(PrebuiltsTarballWorkingDir)'" Importance="High" />
176191
</Target>
177192

@@ -216,7 +231,7 @@
216231
<!-- Create the SourceBuilt.Private.Artifacts archive when building source-only. -->
217232
<UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.WritePackageVersionsProps" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" />
218233
<Target Name="CreatePrivateSourceBuiltArtifactsArchive"
219-
AfterTargets="Build"
234+
BeforeTargets="Build"
220235
DependsOnTargets="GetInputsOutputForCreatePrivateSourceBuiltArtifactsArchive;GetProducedPackages"
221236
Inputs="@(ArtifactsPackageToBundle);@(ReferencePackageToBundle);@(MergedAssetManifest)"
222237
Outputs="$(SourceBuiltTarballName);$(SourceBuiltVersionName);$(AllPackageVersionsPropsName);$(SourceBuiltMergedAssetManifestName)">
@@ -252,7 +267,27 @@
252267
<Exec Command="tar --numeric-owner -czhf $(SourceBuiltTarballName) $([System.IO.Path]::GetFileName('$(SourceBuiltVersionName)')) *"
253268
WorkingDirectory="$(SourceBuiltLayoutDir)" />
254269

270+
<!-- Mark the artifact so that it gets binplaced. -->
271+
<ItemGroup>
272+
<BinPlaceFile Include="$(SourceBuiltTarballName)" />
273+
</ItemGroup>
274+
255275
<Message Importance="High" Text="Packaged source-built artifacts to $(SourceBuiltTarballName)" />
256276
</Target>
257277

278+
<!-- Copy SDK archive to assets root as source-only build partners expect the file to be there. -->
279+
<Target Name="CopySdkArchive"
280+
BeforeTargets="Build"
281+
DependsOnTargets="DetermineSourceBuiltSdkVersion">
282+
<Copy SourceFiles="$(SdkTarballPath)"
283+
DestinationFolder="$(ArtifactsAssetsDir)"
284+
SkipUnchangedFiles="true"
285+
UseHardlinksIfPossible="true" />
286+
287+
<!-- Mark the artifact so that it gets binplaced. -->
288+
<ItemGroup>
289+
<BinPlaceFile Include="$(ArtifactsAssetsDir)$([System.IO.Path]::GetFileName('$(SdkTarballPath)'))" />
290+
</ItemGroup>
291+
</Target>
292+
258293
</Project>

src/SourceBuild/content/eng/init-cross-build.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</PropertyGroup>
66

77
<Target Name="GenerateRootFs"
8-
AfterTargets="Build">
8+
BeforeTargets="Build">
99
<PropertyGroup>
1010
<ArmEnvironmentVariables Condition="'$(ArmEnvironmentVariables)' == ''">ROOTFS_DIR=$(ArtifactsObjDir)crossrootfs/arm</ArmEnvironmentVariables>
1111
<ArmEnvironmentVariables Condition="'$(Platform)' == 'armel'">ROOTFS_DIR=$(ArtifactsObjDir)crossrootfs/armel</ArmEnvironmentVariables>

src/SourceBuild/content/eng/init-poison.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<UsingTask TaskName="Microsoft.DotNet.SourceBuild.Tasks.LeakDetection.MarkAndCatalogPackages" AssemblyFile="$(MicrosoftDotNetSourceBuildTasksLeakDetectionAssembly)" TaskFactory="TaskHostFactory" />
1212
<Target Name="PoisonPrebuiltPackages"
13-
AfterTargets="Build"
13+
BeforeTargets="Build"
1414
Inputs="$(MSBuildProjectFullPath)"
1515
Outputs="$(BaseIntermediateOutputPath)PoisonPrebuiltPackages.complete">
1616
<PropertyGroup>

src/SourceBuild/content/eng/join-verticals.proj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<ProjectReference Include="$(TasksDir)Microsoft.DotNet.UnifiedBuild.Tasks\Microsoft.DotNet.UnifiedBuild.Tasks.csproj" BuildInParallel="true" />
8+
<ProjectReference Include="$(TasksDir)Microsoft.DotNet.UnifiedBuild.Tasks\Microsoft.DotNet.UnifiedBuild.Tasks.csproj" />
99
</ItemGroup>
1010

1111
<UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.JoinVerticals" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" />
12-
<Target Name="JoinVerticals" DependsOnTargets="ResolveProjectReferences" AfterTargets="Build">
12+
<Target Name="JoinVerticals"
13+
DependsOnTargets="ResolveProjectReferences"
14+
BeforeTargets="Build">
1315
<Error Condition="'$(MainVertical)' == ''" Text="MainVertical is not set." />
1416
<Error Condition="'$(VerticalManifestsPath)' == ''" Text="VerticalManifestsPath is not set." />
1517
<Error Condition="'$(BuildId)' == ''" Text="BuildId is not set." />

0 commit comments

Comments
 (0)