@@ -14,11 +14,12 @@ parameters:
1414 - name : EnableIntegrationStage
1515 type : boolean
1616 default : true
17- # A different environment will be passed in for service directories that have
18- # live tests enabled for release and ReleaseDependsOnLiveTests is false
19- - name : Environment
17+ - name : PublicPublishEnvironment
2018 type : string
21- default : ' maven'
19+ default : ' package-publish'
20+ - name : PublicFeedUrl
21+ type : string
22+ default : ' maven.org'
2223
2324stages :
2425 # The signing stage is responsible for submitting binaries to ESRP for our official signing
@@ -204,41 +205,43 @@ stages:
204205 PackageRepository : Maven
205206 ReleaseSha : $(Build.SourceVersion)
206207
207- - deployment : PublishESRPPackage
208- displayName : " Publish to Maven Central via ESRP"
209- condition : and(succeeded(), ne(variables['Skip.PublishPackage'], 'true'))
210- # This timeout shouldn't be necessary once we're able to parallelize better. Right now,
211- # this is here to ensure larger areas (30+) libraries don't time out.
212- timeoutInMinutes : 120
213- environment : ${{ parameters.Environment }}
214- dependsOn : TagRepository
215-
216- templateContext :
217- type : releaseJob
218- isProduction : true
219- inputs :
220- - input : pipelineArtifact
221- artifactName : ' packages-esrp-flattened'
222- targetPath : ' $(Pipeline.Workspace)/packages-esrp-flattened'
223- pool :
224- name : azsdk-pool-mms-win-2022-general
225- image : azsdk-pool-mms-win-2022-1espt
226- os : windows
227- strategy :
228- runOnce :
229- deploy :
230- steps :
231- - template : /eng/pipelines/templates/steps/java-esrp-publishing.yml
232- parameters :
233- FlattenedDirectory : $(Pipeline.Workspace)/packages-esrp-flattened
208+ - ${{ if eq(parameters.PublicFeedUrl, 'maven.org') }} :
209+ - deployment : PublishESRPPackage
210+ displayName : " Publish to Maven Central via ESRP"
211+ condition : and(succeeded(), ne(variables['Skip.PublishPackage'], 'true'))
212+ # This timeout shouldn't be necessary once we're able to parallelize better. Right now,
213+ # this is here to ensure larger areas (30+) libraries don't time out.
214+ timeoutInMinutes : 120
215+ environment : ${{ parameters.PublicPublishEnvironment }}
216+ dependsOn : TagRepository
217+
218+ templateContext :
219+ type : releaseJob
220+ isProduction : true
221+ inputs :
222+ - input : pipelineArtifact
223+ artifactName : ' packages-esrp-flattened'
224+ targetPath : ' $(Pipeline.Workspace)/packages-esrp-flattened'
225+ pool :
226+ name : azsdk-pool
227+ image : windows-2022
228+ os : windows
229+ strategy :
230+ runOnce :
231+ deploy :
232+ steps :
233+ - template : /eng/pipelines/templates/steps/java-esrp-publishing.yml
234+ parameters :
235+ FlattenedDirectory : $(Pipeline.Workspace)/packages-esrp-flattened
234236
235237 - job : PublishDevFeedPackage
236238 displayName : " Publish to Java Dev feed"
237239 condition : and(succeeded(), ne(variables['Skip.PublishPackage'], 'true'))
238240 # This timeout shouldn't be necessary once we're able to parallelize better. Right now,
239241 # this is here to ensure larger areas (30+) libraries don't time out.
240242 timeoutInMinutes : 120
241- dependsOn : PublishESRPPackage
243+ ${{ if eq(parameters.PublicFeedUrl, 'maven.org') }} :
244+ dependsOn : PublishESRPPackage
242245 pool :
243246 name : $(WINDOWSPOOL)
244247 image : $(WINDOWSVMIMAGE)
@@ -258,17 +261,20 @@ stages:
258261 displayName : ' Download Artifacts'
259262 artifact : packages-signed
260263 - template : tools/gpg/gpg.yml@azure-sdk-build-tools
264+
265+ - ${{ if ne(parameters.PublicFeedUrl, 'maven.org') }} :
266+ - template : /eng/pipelines/templates/steps/java-dev-feed-publishing.yml
267+ parameters :
268+ RepositoryUrl : ${{ parameters.PublicFeedUrl }}
269+
261270 # Publish to the azure-sdk-for-java feed.
262271 - template : /eng/pipelines/templates/steps/java-dev-feed-publishing.yml
263- parameters :
264- ArtifactDirectory : $(Pipeline.Workspace)/packages-signed
265- RepositoryUrl : https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1
266- Target : JavaDevFeed
267- JavaRepoRoot : $(Pipeline.Workspace)/azure-sdk-for-java
272+
268273 - template : /eng/common/pipelines/templates/steps/publish-1es-artifact.yml
269274 parameters :
270275 ArtifactName : packages-javadevfeed-$(System.JobAttempt)
271276 ArtifactPath : $(Pipeline.Workspace)/packages-signed
277+
272278 - template : /eng/common/pipelines/templates/steps/create-apireview.yml
273279 parameters :
274280 ArtifactPath : $(Pipeline.Workspace)/packages-signed
@@ -281,7 +287,7 @@ stages:
281287 - job : UpdatePackageVersion
282288 displayName : " Update Package Version"
283289 condition : and(succeeded(), ne(variables['Skip.UpdatePackageVersion'], 'true'))
284- dependsOn : PublishESRPPackage
290+ dependsOn : PublishDevFeedPackage
285291 pool :
286292 name : $(WINDOWSPOOL)
287293 image : $(WINDOWSVMIMAGE)
@@ -367,7 +373,7 @@ stages:
367373 - job : PublishDocs
368374 displayName : Publish Docs to GitHubIO Blob Storage
369375 condition : and(succeeded(), ne(variables['Skip.PublishDocs'], 'true'))
370- dependsOn : PublishESRPPackage
376+ dependsOn : PublishDevFeedPackage
371377 pool :
372378 name : $(WINDOWSPOOL)
373379 image : $(WINDOWSVMIMAGE)
@@ -399,9 +405,6 @@ stages:
399405 - job : PublishPackages
400406 condition : or(eq(variables['SetDevVersion'], 'true'), and(eq(variables['Build.Reason'],'Schedule'), eq(variables['System.TeamProject'], 'internal')))
401407 displayName : Publish package to daily feed
402- variables :
403- - name : RepositoryUrl
404- value : https://pkgs.dev.azure.com/azure-sdk/internal/_packaging/azure-sdk-for-java-pr/maven/v1
405408
406409 templateContext :
407410 outputs :
@@ -434,14 +437,16 @@ stages:
434437 - pwsh : |
435438 # For safety default to publishing to the private feed.
436439 # Publish to https://pkgs.dev.azure.com/azure-sdk/internal/_packaging/azure-sdk-for-java-pr/maven/v1
440+
441+ $devFeedUrl = "https://pkgs.dev.azure.com/azure-sdk/internal/_packaging/azure-sdk-for-java-pr/maven/v1"
437442 if ('$(Build.Repository.Name)' -eq 'Azure/azure-sdk-for-java') {
438- # Publish to the public feed
439- # Publish to https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1
440- echo "##vso[task.setvariable variable=RepositoryUrl]https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1"
443+ $devFeedUrl = "https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1"
441444 echo "Using Java Public Dev Feed"
442445 } else {
443446 echo "Using Java Private Dev Feed"
444447 }
448+ echo "##vso[task.setvariable variable=RepositoryUrl]$devFeedUrl"
449+
445450 displayName: Setup TargetFeed
446451
447452 - template : tools/gpg/gpg.yml@azure-sdk-build-tools
@@ -452,10 +457,7 @@ stages:
452457 parameters :
453458 ArtifactID : ${{artifact.name}}
454459 GroupID : ${{artifact.groupId}}
455- ArtifactDirectory : $(Pipeline.Workspace)/packages-signed
456460 RepositoryUrl : $(RepositoryUrl)
457- Target : JavaDevFeed
458- JavaRepoRoot : $(Pipeline.Workspace)/azure-sdk-for-java
459461
460462 - job : PublishDocsToNightlyBranch
461463 dependsOn : PublishPackages
0 commit comments