@@ -60,29 +60,61 @@ extends:
6060 Copy-Item $(downloadLocalProperties.secureFilePath) local.properties -Verbose
6161 displayName: Copy secring and 'local.properties'
6262
63- - script : ./gradlew --no-daemon publishToMavenLocal -PmavenCentralPublishingEnabled=true -PmavenCentralSnapshotArtifactSuffix=""
63+ - pwsh : |
64+ $props = Get-Content local.properties -Raw
65+ $keyId = ($props | Select-String -Pattern 'signing\.keyId=(.+)').Matches.Groups[1].Value
66+ $keyRingFile = ($props | Select-String -Pattern 'signing\.secretKeyRingFile=(.+)').Matches.Groups[1].Value
67+ $keyPassword = ($props | Select-String -Pattern 'signing\.password=(.+)').Matches.Groups[1].Value
68+
69+ $settingsXml = @"
70+ <settings>
71+ <servers>
72+ <server>
73+ <id>GraphDeveloperExperiencesPublic</id>
74+ <username>microsoftgraph</username>
75+ <password>${{ variables.ARTIFACTS_PAT }}</password>
76+ </server>
77+ </servers>
78+ <profiles>
79+ <profile>
80+ <id>signing</id>
81+ <properties>
82+ <gpg.keyname>$keyId</gpg.keyname>
83+ <gpg.passphrase>$keyPassword</gpg.passphrase>
84+ </properties>
85+ </profile>
86+ </profiles>
87+ </settings>
88+ "@
89+ $settingsDir = Join-Path $HOME ".m2"
90+ New-Item -ItemType Directory -Path $settingsDir -Force | Out-Null
91+ $settingsXml | Set-Content (Join-Path $settingsDir "settings.xml") -Encoding UTF8
92+ displayName: Configure Maven settings
93+
94+ - script : ./mvnw install -Psigning --no-transfer-progress -DmavenCentralSnapshotSuffix=""
6495 displayName : Publish to local Maven for verification
6596 condition : contains(variables['build.sourceBranch'], 'refs/tags/v')
6697
67- - script : ./gradlew -- no-daemon publishToMavenLocal -PmavenCentralPublishingEnabled=true
98+ - script : ./mvnw install -Psigning -- no-transfer-progress
6899 displayName : Publish to local Maven for verification
69100 condition : not(contains(variables['build.sourceBranch'], 'refs/tags/v'))
70101
71- - script : ./gradlew -- no-daemon publishMavenPublicationToADORepository -PmavenCentralPublishingEnabled=true -PmavenCentralSnapshotArtifactSuffix =""
72- displayName : Publish to local Maven ADO for ESRP
102+ - script : ./mvnw deploy -Psigning -- no-transfer-progress -DmavenCentralSnapshotSuffix ="" -DaltDeploymentRepository=ADO::default::file://$(Build.SourcesDirectory)/target/staging-deploy
103+ displayName : Stage artifacts for ESRP
73104 condition : contains(variables['build.sourceBranch'], 'refs/tags/v')
74105
75- - script : ./gradlew -- no-daemon publishMavenPublicationToADORepository -PmavenCentralPublishingEnabled=true
76- displayName : Publish to local Maven ADO for ESRP
106+ - script : ./mvnw deploy -Psigning -- no-transfer-progress -DaltDeploymentRepository=ADO::default::file://$(Build.SourcesDirectory)/target/staging-deploy
107+ displayName : Stage artifacts for ESRP
77108 condition : not(contains(variables['build.sourceBranch'], 'refs/tags/v'))
78109
79110 - pwsh : |
80- $contents = Get-Content gradle.properties -Raw
81- $major = $contents | Select-String -Pattern 'mavenMajorVersion\s*=\s*([0-9]+)' | ForEach-Object { $_.Matches.Groups[1].Value }
82- $minor = $contents | Select-String -Pattern 'mavenMinorVersion\s*=\s*([0-9]+)' | ForEach-Object { $_.Matches.Groups[1].Value }
83- $patch = $contents | Select-String -Pattern 'mavenPatchVersion\s*=\s*([0-9]+)' | ForEach-Object { $_.Matches.Groups[1].Value }
111+ $pomXml = [xml](Get-Content pom.xml)
112+ $version = $pomXml.project.version
84113 $snapshot_suffix = if ($Env:BRANCH_NAME.StartsWith('refs/tags/v')) { '' } else { '-SNAPSHOT' }
85- $version = "$major.$minor.$patch$snapshot_suffix"
114+ # If version already contains -SNAPSHOT and we're on a tag, strip it
115+ if ($Env:BRANCH_NAME.StartsWith('refs/tags/v')) {
116+ $version = $version -replace '-SNAPSHOT$', ''
117+ }
86118 echo "Current version is $version"
87119 echo "##vso[task.setvariable variable=PACKAGE_VERSION;]$version"
88120 displayName: Get current version
@@ -95,7 +127,7 @@ extends:
95127 displayName: Inspect contents of local Maven cache
96128
97129 - pwsh : |
98- $packageFullPath = Join-Path -Path "./" -ChildPath "build/publishing-repository/ com/microsoft/graph/microsoft-graph" -AdditionalChildPath "$(PACKAGE_VERSION)"
130+ $packageFullPath = Join-Path -Path "./target/staging-deploy " -ChildPath "com/microsoft/graph/microsoft-graph" -AdditionalChildPath "$(PACKAGE_VERSION)"
99131 echo "Package full path: $packageFullPath"
100132 echo "##vso[task.setvariable variable=PACKAGE_PATH;]$packageFullPath"
101133 displayName: Get the package full path
0 commit comments