From f07f17c5ff9b2dcaca619bdab0351b5527af6848 Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Fri, 5 Jun 2026 11:27:22 -0700 Subject: [PATCH 1/9] Verify JARs published in archetype-java-release-batch.yml --- .../stages/archetype-java-release-batch.yml | 4 + .../templates/steps/java-esrp-publishing.yml | 126 ++++++++++++++++++ 2 files changed, 130 insertions(+) diff --git a/eng/pipelines/templates/stages/archetype-java-release-batch.yml b/eng/pipelines/templates/stages/archetype-java-release-batch.yml index 4815f1afb6ac..4c50d9c9fc87 100644 --- a/eng/pipelines/templates/stages/archetype-java-release-batch.yml +++ b/eng/pipelines/templates/stages/archetype-java-release-batch.yml @@ -20,6 +20,9 @@ parameters: - name: PublicFeedUrl type: string default: 'maven.org' + - name: VerifyJarPublish + type: boolean + default: true stages: # The signing stage is responsible for submitting binaries to ESRP for our official signing @@ -237,6 +240,7 @@ stages: - template: /eng/pipelines/templates/steps/java-esrp-publishing.yml parameters: FlattenedDirectory: $(Pipeline.Workspace)/packages-esrp-flattened + VerifyJarPublish: ${{ parameters.VerifyJarPublish }} - job: PublishDevFeedPackage displayName: "Publish to Java Dev feed" diff --git a/eng/pipelines/templates/steps/java-esrp-publishing.yml b/eng/pipelines/templates/steps/java-esrp-publishing.yml index f27f0a896487..bea028f0a620 100644 --- a/eng/pipelines/templates/steps/java-esrp-publishing.yml +++ b/eng/pipelines/templates/steps/java-esrp-publishing.yml @@ -2,6 +2,7 @@ parameters: # This is the flattened FlattenedDirectory: not-specified ShouldPublish: true + VerifyJarPublish: false steps: - ${{if eq(parameters.ShouldPublish, 'true')}}: @@ -21,3 +22,128 @@ steps: Approvers: ${{ coalesce(variables['Build.RequestedForEmail'], 'azuresdk@microsoft.com') }} ServiceEndpointUrl: 'https://api.esrp.microsoft.com' MainPublisher: 'ESRPRELPACMANTEST' + + - ${{ if eq(parameters.VerifyJarPublish, 'true') }}: + - task: PowerShell@2 + displayName: 'Verify ESRP published package jars are downloadable' + inputs: + pwsh: true + targetType: inline + workingDirectory: $(Agent.BuildDirectory) + script: | + $ErrorActionPreference = 'Stop' + $PSNativeCommandUseErrorActionPreference = $false + + $flattenedDirectory = (Resolve-Path '${{ parameters.FlattenedDirectory }}').Path + $workRoot = Join-Path (Get-Location) 'work' + $mavenWork = Join-Path $workRoot 'maven-work' + $metadataRepo = Join-Path $workRoot 'maven-metadata-repo' + $downloadRoot = Join-Path $workRoot 'jar-downloads' + $retrySeconds = 60 + $maxAttempts = 10 + + function Get-MavenValue([string]$PomPath, [string]$Expression) { + Set-Location $mavenWork + $mvnArguments = @( + '--batch-mode', + '-q', + '--file', + $PomPath, + 'help:evaluate', + "-Dmaven.repo.local=$metadataRepo", + "-Dexpression=$Expression", + '-DforceStdout' + ) + + [string[]]$output = & mvn @mvnArguments + if ($LASTEXITCODE -ne 0) { + throw "Failed to read $Expression from $PomPath." + } + + return ($output | Where-Object { $_ -and $_.Trim() } | Select-Object -Last 1).Trim() + } + + New-Item -Path $workRoot -ItemType Directory -Force | Out-Null + New-Item -Path $mavenWork -ItemType Directory -Force | Out-Null + if (Test-Path $metadataRepo) { + Remove-Item -Path $metadataRepo -Recurse -Force + } + New-Item -Path $metadataRepo -ItemType Directory -Force | Out-Null + if (Test-Path $downloadRoot) { + Remove-Item -Path $downloadRoot -Recurse -Force + } + New-Item -Path $downloadRoot -ItemType Directory -Force | Out-Null + + $packages = @() + $pomFiles = Get-ChildItem -Path $flattenedDirectory -Filter *.pom -File | Sort-Object Name + + foreach ($pomFile in $pomFiles) { + $groupId = Get-MavenValue $pomFile.FullName 'project.groupId' + $artifactId = Get-MavenValue $pomFile.FullName 'project.artifactId' + $version = Get-MavenValue $pomFile.FullName 'project.version' + $expectedFile = "$artifactId-$version.jar" + + if (-not (Test-Path (Join-Path $flattenedDirectory $expectedFile))) { + Write-Host " Skipping $artifactId-$version (JAR file not found)" + continue + } + + $packages += [PSCustomObject]@{ + Coordinate = "${groupId}:${artifactId}:${version}:jar" + ExpectedFile = $expectedFile + } + } + + Write-Host "Found $($packages.Count) package jar(s) to verify." + foreach ($package in $packages) { + Write-Host " $($package.Coordinate)" + } + + $pending = @($packages) + + for ($attempt = 1; $attempt -le $maxAttempts -and $pending.Count -gt 0; $attempt++) { + $failed = @() + $repoPath = Join-Path $workRoot "maven-repo-$attempt" + New-Item -Path $repoPath -ItemType Directory -Force | Out-Null + + Write-Host "Attempt: $attempt" + + foreach ($package in $pending) { + Write-Host " Downloading $($package.Coordinate)..." + Set-Location $mavenWork + & mvn ` + --batch-mode ` + -q ` + org.apache.maven.plugins:maven-dependency-plugin:copy ` + -DremoteRepositories=central::default::https://repo.maven.apache.org/maven2 ` + "-Dmaven.repo.local=$repoPath" ` + "-Dartifact=$($package.Coordinate)" ` + "-DoutputDirectory=$downloadRoot" ` + -Dtransitive=false + + $expectedPath = Join-Path $downloadRoot $package.ExpectedFile + if ($LASTEXITCODE -eq 0 -and (Test-Path $expectedPath)) { + Write-Host " Verified $($package.ExpectedFile)" + } + else { + Write-Host " Failed $($package.ExpectedFile)" + $failed += $package + } + } + + $pending = @($failed) + if ($pending.Count -gt 0 -and $attempt -lt $maxAttempts) { + Write-Host "Retrying $($pending.Count) package(s) in $retrySeconds seconds." + Start-Sleep -Seconds $retrySeconds + } + } + + if ($pending.Count -gt 0) { + Write-Host "These package jars still failed:" + foreach ($package in $pending) { + Write-Host " $($package.Coordinate)" + } + exit 1 + } + + Write-Host 'All package jars were verified published.' From 8f5f3fea0e55ad12426909c21798bdfd434563ef Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Fri, 5 Jun 2026 15:03:55 -0700 Subject: [PATCH 2/9] Test: Delete a package on first attempt --- .../templates/steps/java-esrp-publishing.yml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/eng/pipelines/templates/steps/java-esrp-publishing.yml b/eng/pipelines/templates/steps/java-esrp-publishing.yml index bea028f0a620..693ccad8d9d5 100644 --- a/eng/pipelines/templates/steps/java-esrp-publishing.yml +++ b/eng/pipelines/templates/steps/java-esrp-publishing.yml @@ -6,6 +6,27 @@ parameters: steps: - ${{if eq(parameters.ShouldPublish, 'true')}}: + + # TODO: REMOVE BEFORE MERGE + - task: PowerShell@2 + displayName: 'Delete one package from flattened ESRP directory (test)' + condition: and(succeeded(), eq(variables['System.JobAttempt'], '1')) + inputs: + pwsh: true + targetType: inline + script: | + $flattenedDirectory = (Resolve-Path '${{ parameters.FlattenedDirectory }}').Path + $packagePom = Get-ChildItem -Path $flattenedDirectory -Filter *.pom -File | Sort-Object Name | Select-Object -First 1 + $packagePrefix = $packagePom.BaseName + $packageFiles = Get-ChildItem -Path $flattenedDirectory -File | Where-Object { $_.Name -like "$packagePrefix*" } + + Write-Host "Deleting package prefix: $packagePrefix" + foreach ($packageFile in $packageFiles) { + Write-Host " Removing $($packageFile.Name)" + } + + Remove-Item -Path $packageFiles.FullName -Force + - task: EsrpRelease@9 displayName: 'Publish to ESRP' inputs: From 9f45cf56c916be10b936089eca344dbf9a8cd56f Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Fri, 5 Jun 2026 16:17:13 -0700 Subject: [PATCH 3/9] Move and restore --- .../templates/steps/java-esrp-publishing.yml | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/eng/pipelines/templates/steps/java-esrp-publishing.yml b/eng/pipelines/templates/steps/java-esrp-publishing.yml index 693ccad8d9d5..c79ca67a0d0f 100644 --- a/eng/pipelines/templates/steps/java-esrp-publishing.yml +++ b/eng/pipelines/templates/steps/java-esrp-publishing.yml @@ -9,23 +9,30 @@ steps: # TODO: REMOVE BEFORE MERGE - task: PowerShell@2 - displayName: 'Delete one package from flattened ESRP directory (test)' + displayName: 'Move one package out of flattened ESRP directory (test)' condition: and(succeeded(), eq(variables['System.JobAttempt'], '1')) inputs: pwsh: true targetType: inline script: | $flattenedDirectory = (Resolve-Path '${{ parameters.FlattenedDirectory }}').Path + $stagedDirectory = Join-Path '$(Agent.TempDirectory)' 'java-esrp-publishing-test-package' $packagePom = Get-ChildItem -Path $flattenedDirectory -Filter *.pom -File | Sort-Object Name | Select-Object -First 1 $packagePrefix = $packagePom.BaseName $packageFiles = Get-ChildItem -Path $flattenedDirectory -File | Where-Object { $_.Name -like "$packagePrefix*" } - Write-Host "Deleting package prefix: $packagePrefix" + if (Test-Path $stagedDirectory) { + Remove-Item -Path $stagedDirectory -Recurse -Force + } + + New-Item -Path $stagedDirectory -ItemType Directory -Force | Out-Null + + Write-Host "Moving package prefix out of flattened directory: $packagePrefix" foreach ($packageFile in $packageFiles) { - Write-Host " Removing $($packageFile.Name)" + Write-Host " Moving $($packageFile.Name)" } - Remove-Item -Path $packageFiles.FullName -Force + Move-Item -Path $packageFiles.FullName -Destination $stagedDirectory -Force - task: EsrpRelease@9 displayName: 'Publish to ESRP' @@ -44,6 +51,29 @@ steps: ServiceEndpointUrl: 'https://api.esrp.microsoft.com' MainPublisher: 'ESRPRELPACMANTEST' + # TODO: REMOVE BEFORE MERGE + - task: PowerShell@2 + displayName: 'Move one package back into flattened ESRP directory (test)' + condition: and(always(), eq(variables['System.JobAttempt'], '1')) + inputs: + pwsh: true + targetType: inline + script: | + $flattenedDirectory = (Resolve-Path '${{ parameters.FlattenedDirectory }}').Path + $stagedDirectory = Join-Path '$(Agent.TempDirectory)' 'java-esrp-publishing-test-package' + + if (Test-Path $stagedDirectory) { + $packageFiles = Get-ChildItem -Path $stagedDirectory -File | Sort-Object Name + + Write-Host "Moving package back into flattened directory" + foreach ($packageFile in $packageFiles) { + Write-Host " Restoring $($packageFile.Name)" + } + + Move-Item -Path $packageFiles.FullName -Destination $flattenedDirectory -Force + Remove-Item -Path $stagedDirectory -Recurse -Force + } + - ${{ if eq(parameters.VerifyJarPublish, 'true') }}: - task: PowerShell@2 displayName: 'Verify ESRP published package jars are downloadable' From b35b7e52f6165e6ceb22155cdb7b95a2bc066b68 Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Mon, 8 Jun 2026 12:01:24 -0700 Subject: [PATCH 4/9] Remove testing changes --- .../templates/steps/java-esrp-publishing.yml | 51 ------------------- 1 file changed, 51 deletions(-) diff --git a/eng/pipelines/templates/steps/java-esrp-publishing.yml b/eng/pipelines/templates/steps/java-esrp-publishing.yml index c79ca67a0d0f..bea028f0a620 100644 --- a/eng/pipelines/templates/steps/java-esrp-publishing.yml +++ b/eng/pipelines/templates/steps/java-esrp-publishing.yml @@ -6,34 +6,6 @@ parameters: steps: - ${{if eq(parameters.ShouldPublish, 'true')}}: - - # TODO: REMOVE BEFORE MERGE - - task: PowerShell@2 - displayName: 'Move one package out of flattened ESRP directory (test)' - condition: and(succeeded(), eq(variables['System.JobAttempt'], '1')) - inputs: - pwsh: true - targetType: inline - script: | - $flattenedDirectory = (Resolve-Path '${{ parameters.FlattenedDirectory }}').Path - $stagedDirectory = Join-Path '$(Agent.TempDirectory)' 'java-esrp-publishing-test-package' - $packagePom = Get-ChildItem -Path $flattenedDirectory -Filter *.pom -File | Sort-Object Name | Select-Object -First 1 - $packagePrefix = $packagePom.BaseName - $packageFiles = Get-ChildItem -Path $flattenedDirectory -File | Where-Object { $_.Name -like "$packagePrefix*" } - - if (Test-Path $stagedDirectory) { - Remove-Item -Path $stagedDirectory -Recurse -Force - } - - New-Item -Path $stagedDirectory -ItemType Directory -Force | Out-Null - - Write-Host "Moving package prefix out of flattened directory: $packagePrefix" - foreach ($packageFile in $packageFiles) { - Write-Host " Moving $($packageFile.Name)" - } - - Move-Item -Path $packageFiles.FullName -Destination $stagedDirectory -Force - - task: EsrpRelease@9 displayName: 'Publish to ESRP' inputs: @@ -51,29 +23,6 @@ steps: ServiceEndpointUrl: 'https://api.esrp.microsoft.com' MainPublisher: 'ESRPRELPACMANTEST' - # TODO: REMOVE BEFORE MERGE - - task: PowerShell@2 - displayName: 'Move one package back into flattened ESRP directory (test)' - condition: and(always(), eq(variables['System.JobAttempt'], '1')) - inputs: - pwsh: true - targetType: inline - script: | - $flattenedDirectory = (Resolve-Path '${{ parameters.FlattenedDirectory }}').Path - $stagedDirectory = Join-Path '$(Agent.TempDirectory)' 'java-esrp-publishing-test-package' - - if (Test-Path $stagedDirectory) { - $packageFiles = Get-ChildItem -Path $stagedDirectory -File | Sort-Object Name - - Write-Host "Moving package back into flattened directory" - foreach ($packageFile in $packageFiles) { - Write-Host " Restoring $($packageFile.Name)" - } - - Move-Item -Path $packageFiles.FullName -Destination $flattenedDirectory -Force - Remove-Item -Path $stagedDirectory -Recurse -Force - } - - ${{ if eq(parameters.VerifyJarPublish, 'true') }}: - task: PowerShell@2 displayName: 'Verify ESRP published package jars are downloadable' From a4566573225cc9795a635886e28a01f615ef2f1e Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Mon, 8 Jun 2026 12:15:17 -0700 Subject: [PATCH 5/9] Better parsing of True/False --- eng/pipelines/templates/steps/java-esrp-publishing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/templates/steps/java-esrp-publishing.yml b/eng/pipelines/templates/steps/java-esrp-publishing.yml index bea028f0a620..e3fbcd6e2a8c 100644 --- a/eng/pipelines/templates/steps/java-esrp-publishing.yml +++ b/eng/pipelines/templates/steps/java-esrp-publishing.yml @@ -23,7 +23,7 @@ steps: ServiceEndpointUrl: 'https://api.esrp.microsoft.com' MainPublisher: 'ESRPRELPACMANTEST' - - ${{ if eq(parameters.VerifyJarPublish, 'true') }}: + - ${{ if eq('true', parameters.VerifyJarPublish) }}: - task: PowerShell@2 displayName: 'Verify ESRP published package jars are downloadable' inputs: From 65852b5fa0ceaba003fdc87cd444ba3506b931b1 Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Tue, 9 Jun 2026 13:09:46 -0700 Subject: [PATCH 6/9] Use settings.xml for CFS configuration in release job --- eng/pipelines/templates/jobs/ci.yml | 16 ++++++++++++++++ .../stages/archetype-java-release-batch.yml | 10 +++++++++- .../templates/steps/java-esrp-publishing.yml | 5 +++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/eng/pipelines/templates/jobs/ci.yml b/eng/pipelines/templates/jobs/ci.yml index fdc34a2396c0..b9b236011643 100644 --- a/eng/pipelines/templates/jobs/ci.yml +++ b/eng/pipelines/templates/jobs/ci.yml @@ -271,6 +271,22 @@ jobs: ArtifactPath: $(Build.ArtifactStagingDirectory) ArtifactName: 'packages' + - task: PowerShell@2 + displayName: 'Stage Maven Settings for publishing' + inputs: + pwsh: true + targetType: inline + script: | + $settingsArtifactDirectory = Join-Path '$(Agent.TempDirectory)' 'maven-settings' + New-Item -Path $settingsArtifactDirectory -ItemType Directory -Force | Out-Null + Copy-Item -Path '$(Build.SourcesDirectory)/eng/settings.xml' -Destination (Join-Path $settingsArtifactDirectory 'settings.xml') + + - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml + parameters: + ArtifactPath: $(Agent.TempDirectory)/maven-settings + ArtifactName: 'maven-settings' + SbomEnabled: false + # Troubleshooting artifacts are creating in the staging directory under the folder 'troubleshooting'. # This will contain things such as heap dumps hprofs if testing hit OutOfMemory errors, log files captured # during testing if tests failed, and linting reports. diff --git a/eng/pipelines/templates/stages/archetype-java-release-batch.yml b/eng/pipelines/templates/stages/archetype-java-release-batch.yml index 4c50d9c9fc87..8b59fb273f39 100644 --- a/eng/pipelines/templates/stages/archetype-java-release-batch.yml +++ b/eng/pipelines/templates/stages/archetype-java-release-batch.yml @@ -229,6 +229,9 @@ stages: - input: pipelineArtifact artifactName: 'packages-esrp-flattened' targetPath: '$(Pipeline.Workspace)/packages-esrp-flattened' + - input: pipelineArtifact + artifactName: 'maven-settings' + targetPath: '$(Pipeline.Workspace)/maven-settings' pool: name: azsdk-pool image: windows-2022 @@ -237,10 +240,15 @@ stages: runOnce: deploy: steps: + - pwsh: | + $m2Dir = if ($env:USERPROFILE) { "$env:USERPROFILE\.m2" } else { "$HOME/.m2" } + New-Item -ItemType Directory -Force -Path $m2Dir | Out-Null + Copy-Item -Path '$(Pipeline.Workspace)/maven-settings/settings.xml' -Destination "$m2Dir/settings.xml" + displayName: 'Setup Maven mirror settings' - template: /eng/pipelines/templates/steps/java-esrp-publishing.yml parameters: FlattenedDirectory: $(Pipeline.Workspace)/packages-esrp-flattened - VerifyJarPublish: ${{ parameters.VerifyJarPublish }} + VerifyJarPublish: true - job: PublishDevFeedPackage displayName: "Publish to Java Dev feed" diff --git a/eng/pipelines/templates/steps/java-esrp-publishing.yml b/eng/pipelines/templates/steps/java-esrp-publishing.yml index e3fbcd6e2a8c..e77e919c1789 100644 --- a/eng/pipelines/templates/steps/java-esrp-publishing.yml +++ b/eng/pipelines/templates/steps/java-esrp-publishing.yml @@ -24,6 +24,11 @@ steps: MainPublisher: 'ESRPRELPACMANTEST' - ${{ if eq('true', parameters.VerifyJarPublish) }}: + - task: MavenAuthenticate@0 + displayName: 'Maven Authenticate' + inputs: + artifactsFeeds: 'azure-sdk-for-java' + - task: PowerShell@2 displayName: 'Verify ESRP published package jars are downloadable' inputs: From 5c519ae4c77f10dcded51d5bacd68ac468311160 Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Tue, 9 Jun 2026 13:09:59 -0700 Subject: [PATCH 7/9] Test release retry behavior --- .../templates/steps/java-esrp-publishing.yml | 54 ++++++++++++++++++- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/templates/steps/java-esrp-publishing.yml b/eng/pipelines/templates/steps/java-esrp-publishing.yml index e77e919c1789..527b11d31fb1 100644 --- a/eng/pipelines/templates/steps/java-esrp-publishing.yml +++ b/eng/pipelines/templates/steps/java-esrp-publishing.yml @@ -6,6 +6,33 @@ parameters: steps: - ${{if eq(parameters.ShouldPublish, 'true')}}: + # TODO: REMOVE BEFORE MERGE + - task: PowerShell@2 + displayName: 'Move one package out of flattened ESRP directory (test)' + condition: and(succeeded(), eq(variables['System.JobAttempt'], '1')) + inputs: + pwsh: true + targetType: inline + script: | + $flattenedDirectory = (Resolve-Path '${{ parameters.FlattenedDirectory }}').Path + $stagedDirectory = Join-Path '$(Agent.TempDirectory)' 'java-esrp-publishing-test-package' + $packagePom = Get-ChildItem -Path $flattenedDirectory -Filter *.pom -File | Sort-Object Name | Select-Object -First 1 + $packagePrefix = $packagePom.BaseName + $packageFiles = Get-ChildItem -Path $flattenedDirectory -File | Where-Object { $_.Name -like "$packagePrefix*" } + + if (Test-Path $stagedDirectory) { + Remove-Item -Path $stagedDirectory -Recurse -Force + } + + New-Item -Path $stagedDirectory -ItemType Directory -Force | Out-Null + + Write-Host "Moving package prefix out of flattened directory: $packagePrefix" + foreach ($packageFile in $packageFiles) { + Write-Host " Moving $($packageFile.Name)" + } + + Move-Item -Path $packageFiles.FullName -Destination $stagedDirectory -Force + - task: EsrpRelease@9 displayName: 'Publish to ESRP' inputs: @@ -23,6 +50,29 @@ steps: ServiceEndpointUrl: 'https://api.esrp.microsoft.com' MainPublisher: 'ESRPRELPACMANTEST' + # TODO: REMOVE BEFORE MERGE + - task: PowerShell@2 + displayName: 'Move one package back into flattened ESRP directory (test)' + condition: and(always(), eq(variables['System.JobAttempt'], '1')) + inputs: + pwsh: true + targetType: inline + script: | + $flattenedDirectory = (Resolve-Path '${{ parameters.FlattenedDirectory }}').Path + $stagedDirectory = Join-Path '$(Agent.TempDirectory)' 'java-esrp-publishing-test-package' + + if (Test-Path $stagedDirectory) { + $packageFiles = Get-ChildItem -Path $stagedDirectory -File | Sort-Object Name + + Write-Host "Moving package back into flattened directory" + foreach ($packageFile in $packageFiles) { + Write-Host " Restoring $($packageFile.Name)" + } + + Move-Item -Path $packageFiles.FullName -Destination $flattenedDirectory -Force + Remove-Item -Path $stagedDirectory -Recurse -Force + } + - ${{ if eq('true', parameters.VerifyJarPublish) }}: - task: MavenAuthenticate@0 displayName: 'Maven Authenticate' @@ -45,7 +95,7 @@ steps: $metadataRepo = Join-Path $workRoot 'maven-metadata-repo' $downloadRoot = Join-Path $workRoot 'jar-downloads' $retrySeconds = 60 - $maxAttempts = 10 + $maxAttempts = 20 function Get-MavenValue([string]$PomPath, [string]$Expression) { Set-Location $mavenWork @@ -120,7 +170,7 @@ steps: --batch-mode ` -q ` org.apache.maven.plugins:maven-dependency-plugin:copy ` - -DremoteRepositories=central::default::https://repo.maven.apache.org/maven2 ` + -DremoteRepositories=azure-sdk-for-java::default::https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1 ` "-Dmaven.repo.local=$repoPath" ` "-Dartifact=$($package.Coordinate)" ` "-DoutputDirectory=$downloadRoot" ` From 54bae1e68f76a780a5d788892094ae686a3d03fb Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Tue, 9 Jun 2026 13:12:41 -0700 Subject: [PATCH 8/9] Remove -DremoteRepositories --- eng/pipelines/templates/steps/java-esrp-publishing.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/templates/steps/java-esrp-publishing.yml b/eng/pipelines/templates/steps/java-esrp-publishing.yml index 527b11d31fb1..659c714b09cc 100644 --- a/eng/pipelines/templates/steps/java-esrp-publishing.yml +++ b/eng/pipelines/templates/steps/java-esrp-publishing.yml @@ -170,7 +170,6 @@ steps: --batch-mode ` -q ` org.apache.maven.plugins:maven-dependency-plugin:copy ` - -DremoteRepositories=azure-sdk-for-java::default::https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1 ` "-Dmaven.repo.local=$repoPath" ` "-Dartifact=$($package.Coordinate)" ` "-DoutputDirectory=$downloadRoot" ` From e445b16799e432d1241b674a8844486d9e725773 Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Tue, 9 Jun 2026 13:54:30 -0700 Subject: [PATCH 9/9] Enable SBOM. Artifact is consumed during release. --- eng/pipelines/templates/jobs/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/templates/jobs/ci.yml b/eng/pipelines/templates/jobs/ci.yml index b9b236011643..64eadf93bc35 100644 --- a/eng/pipelines/templates/jobs/ci.yml +++ b/eng/pipelines/templates/jobs/ci.yml @@ -285,7 +285,6 @@ jobs: parameters: ArtifactPath: $(Agent.TempDirectory)/maven-settings ArtifactName: 'maven-settings' - SbomEnabled: false # Troubleshooting artifacts are creating in the staging directory under the folder 'troubleshooting'. # This will contain things such as heap dumps hprofs if testing hit OutOfMemory errors, log files captured