diff --git a/.gitignore b/.gitignore
index b5dc09c716..3597befb53 100644
--- a/.gitignore
+++ b/.gitignore
@@ -198,6 +198,10 @@ PublishScripts/
**/[Pp]ackages/*
!**/[Pp]ackages/.gitkeep
+# Most of the output folder can be ignored.
+**/[Oo]utput/*
+!**/[Oo]utput/.gitkeep
+
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
diff --git a/build.proj b/build.proj
index a74d173e0d..f7ab4112e3 100644
--- a/build.proj
+++ b/build.proj
@@ -484,10 +484,12 @@
-
+
+
+
diff --git a/eng/pipelines/common/templates/steps/generate-nuget-package-step.yml b/eng/pipelines/common/templates/steps/generate-nuget-package-step.yml
index 6e51adeeb6..46c5c61492 100644
--- a/eng/pipelines/common/templates/steps/generate-nuget-package-step.yml
+++ b/eng/pipelines/common/templates/steps/generate-nuget-package-step.yml
@@ -12,7 +12,7 @@ parameters:
- name: outputDirectory
type: string
- default: '$(Build.SourcesDirectory)/packages'
+ default: '$(Build.SourcesDirectory)/output'
# The C# build configuration (e.g. Debug or Release) to use when building the NuGet package.
- name: buildConfiguration
diff --git a/eng/pipelines/onebranch/jobs/build-akv-official-job.yml b/eng/pipelines/onebranch/jobs/build-akv-official-job.yml
index 51d8d85964..8c75295f0d 100644
--- a/eng/pipelines/onebranch/jobs/build-akv-official-job.yml
+++ b/eng/pipelines/onebranch/jobs/build-akv-official-job.yml
@@ -101,15 +101,22 @@ jobs:
$jsonParams | ConvertFrom-Json | Format-List
displayName: 'Output Job Parameters'
- # Download SqlClient (MDS) and Logging packages from previous stages into
- # packages/ so that they're available via the local NuGet feed when restoring.
- # AKV Provider depends on both SqlClient and Extensions.Logging.
+ # Download SqlClient (MDS), Abstractions, and Logging packages from previous
+ # stages into packages/ so that they're available via the local NuGet feed
+ # when restoring. AKV Provider depends on SqlClient, which transitively
+ # requires Extensions.Abstractions and Extensions.Logging.
- task: DownloadPipelineArtifact@2
displayName: Download SqlClient Package
inputs:
artifactName: $(sqlClientArtifactsName)
targetPath: $(Build.SourcesDirectory)/packages
+ - task: DownloadPipelineArtifact@2
+ displayName: Download Abstractions Package
+ inputs:
+ artifactName: $(abstractionsArtifactsName)
+ targetPath: $(Build.SourcesDirectory)/packages
+
- task: DownloadPipelineArtifact@2
displayName: Download Logging Package
inputs:
diff --git a/eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml b/eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml
index 5255f5338c..3eaf5657b6 100644
--- a/eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml
+++ b/eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml
@@ -64,7 +64,7 @@ jobs:
variables:
- name: ob_outputDirectory
- value: $(Build.SourcesDirectory)/packages
+ value: $(Build.SourcesDirectory)/output
- name: artifactPath
value: $(Pipeline.Workspace)/${{ parameters.artifactName }}
diff --git a/eng/pipelines/onebranch/steps/compound-build-csproj-step.yml b/eng/pipelines/onebranch/steps/compound-build-csproj-step.yml
index 7d0d04c079..1f1fee00c4 100644
--- a/eng/pipelines/onebranch/steps/compound-build-csproj-step.yml
+++ b/eng/pipelines/onebranch/steps/compound-build-csproj-step.yml
@@ -48,6 +48,3 @@ steps:
- script: tree /a /f $(BUILD_OUTPUT)
displayName: List Build Output Tree
-
- - script: tree /a /f $(PACK_OUTPUT)
- displayName: List Pack Output Tree
diff --git a/eng/pipelines/onebranch/steps/compound-pack-csproj-step.yml b/eng/pipelines/onebranch/steps/compound-pack-csproj-step.yml
index 5198b405e3..db9b9a8237 100644
--- a/eng/pipelines/onebranch/steps/compound-pack-csproj-step.yml
+++ b/eng/pipelines/onebranch/steps/compound-pack-csproj-step.yml
@@ -35,6 +35,7 @@ steps:
msbuildArguments: >-
-t:${{ parameters.packTarget }}
-p:ReferenceType=Package
+ -p:PackagesDir=$(PACK_OUTPUT)/
${{ parameters.versionProperties }}
- script: tree /a /f $(PACK_OUTPUT)
diff --git a/eng/pipelines/onebranch/variables/common-variables.yml b/eng/pipelines/onebranch/variables/common-variables.yml
index 9e022af31c..af60a6ea51 100644
--- a/eng/pipelines/onebranch/variables/common-variables.yml
+++ b/eng/pipelines/onebranch/variables/common-variables.yml
@@ -41,10 +41,11 @@ variables:
- name: BUILD_OUTPUT
value: $(REPO_ROOT)/artifacts
- # THis is where our C# projects place their NuGet package outputs (see Directory.Build.props
- # ).
+ # This is where our C# projects place their NuGet package outputs. This is intentionally
+ # separate from packages/ (where downloaded pipeline artifacts go) so that ESRP signing and
+ # OneBranch artifact publishing only operate on packages built by the current job.
- name: PACK_OUTPUT
- value: $(REPO_ROOT)/packages
+ value: $(REPO_ROOT)/output
# C# assembly versions must be in the format: Major.Minor.Build.Revision, but
# $(Build.BuildNumber) has the format XXX.YY. Additionally, each version part
diff --git a/output/.gitkeep b/output/.gitkeep
new file mode 100644
index 0000000000..3da8f2b5b0
--- /dev/null
+++ b/output/.gitkeep
@@ -0,0 +1 @@
+# This directory must exist for OneBranch pipelines that set ob_outputDirectory to output/.