7070 [Parameter (Mandatory = $false )]
7171 [string ]$ClientSecret
7272)
73-
73+ Set-StrictMode - Version 3
7474. (Join-Path $PSScriptRoot common.ps1)
7575. (Join-Path $PSScriptRoot Helpers Metadata- Helpers.ps1)
7676
@@ -145,7 +145,7 @@ function GetPackageInfoJson ($packageInfoJsonLocation) {
145145 LogWarning " Package metadata not found for $packageInfoJsonLocation "
146146 return
147147 }
148-
148+
149149 $packageInfoJson = Get-Content $packageInfoJsonLocation - Raw
150150 $packageInfo = ConvertFrom-Json $packageInfoJson
151151 if ($packageInfo.DevVersion ) {
@@ -165,8 +165,10 @@ function GetPackageInfoJson ($packageInfoJsonLocation) {
165165
166166function UpdateDocsMsMetadataForPackage ($packageInfoJsonLocation , $packageInfo ) {
167167 $originalVersion = [AzureEngSemanticVersion ]::ParseVersionString($packageInfo.Version )
168-
169- $packageMetadataArray = (Get-CSVMetadata ).Where ({ $_.Package -eq $packageInfo.Name -and $_.GroupId -eq $packageInfo.Group -and $_.Hide -ne ' true' -and $_.New -eq ' true' })
168+ $packageMetadataArray = (Get-CSVMetadata ).Where ({ $_.Package -eq $packageInfo.Name -and $_.Hide -ne ' true' -and $_.New -eq ' true' })
169+ if ($packageInfo.Group ) {
170+ $packageMetadataArray = ($packageMetadataArray ).Where ({$_.GroupId -eq $packageInfo.Group })
171+ }
170172 if ($packageMetadataArray.Count -eq 0 ) {
171173 LogWarning " Could not retrieve metadata for $ ( $packageInfo.Name ) from metadata CSV. Using best effort defaults."
172174 $packageMetadata = $null
@@ -177,12 +179,30 @@ function UpdateDocsMsMetadataForPackage($packageInfoJsonLocation, $packageInfo)
177179 $packageMetadata = $packageMetadataArray [0 ]
178180 }
179181
182+ # Copy package info file to the docs repo
183+ $metadataMoniker = ' latest'
184+ if ($originalVersion.IsPrerelease ) {
185+ $metadataMoniker = ' preview'
186+ }
187+ $packageMetadataName = Split-Path $packageInfoJsonLocation - Leaf
188+ $packageInfoLocation = Join-Path $DocRepoLocation " metadata/$metadataMoniker "
189+ $packageInfoJson = ConvertTo-Json $packageInfo
190+ New-Item - ItemType Directory - Path $packageInfoLocation - Force
191+ Set-Content `
192+ - Path $packageInfoLocation / $packageMetadataName `
193+ - Value $packageInfoJson
194+
195+ # Update Readme Content
196+ if (! $packageInfo.ReadMePath -or ! (Test-Path $packageInfo.ReadMePath )) {
197+ Write-Warning " $ ( $packageInfo.Name ) does not have Readme file. Skipping update readme."
198+ return
199+ }
200+
180201 $readmeContent = Get-Content $packageInfo.ReadMePath - Raw
181202 $outputReadmeContent = " "
182203 if ($readmeContent ) {
183204 $outputReadmeContent = GetAdjustedReadmeContent $readmeContent $packageInfo $packageMetadata
184205 }
185-
186206 $docsMsMetadata = & $GetDocsMsMetadataForPackageFn $packageInfo
187207 $readMePath = $docsMsMetadata.LatestReadMeLocation
188208 if ($originalVersion.IsPrerelease ) {
@@ -195,33 +215,21 @@ function UpdateDocsMsMetadataForPackage($packageInfoJsonLocation, $packageInfo)
195215 $readmeLocation = Join-Path $DocRepoLocation $readMePath $readMeName
196216
197217 Set-Content - Path $readmeLocation - Value $outputReadmeContent
198-
199- # Copy package info file to the docs repo
200- $metadataMoniker = ' latest'
201- if ($originalVersion.IsPrerelease ) {
202- $metadataMoniker = ' preview'
203- }
204- $packageMetadataName = Split-Path $packageInfoJsonLocation - Leaf
205- $packageInfoLocation = Join-Path $DocRepoLocation " metadata/$metadataMoniker "
206- $packageInfoJson = ConvertTo-Json $packageInfo
207- New-Item - ItemType Directory - Path $packageInfoLocation - Force
208- Set-Content `
209- - Path $packageInfoLocation / $packageMetadataName `
210- - Value $packageInfoJson
211218}
212219
213220foreach ($packageInfoLocation in $PackageInfoJsonLocations ) {
214221 Write-Host " Updating metadata for package: $packageInfoLocation "
215-
216222 # Convert package metadata json file to metadata json property.
217223 $packageInfo = GetPackageInfoJson $packageInfoLocation
218224 # Add validation step for daily update and release
219225 if ($ValidateDocsMsPackagesFn -and (Test-Path " Function:$ValidateDocsMsPackagesFn " )) {
226+ Write-Host " Validating the package..."
220227 & $ValidateDocsMsPackagesFn - PackageInfo $packageInfo - PackageSourceOverride $PackageSourceOverride - DocValidationImageId $DocValidationImageId - DocRepoLocation $DocRepoLocation
221228 if ($LASTEXITCODE ) {
222229 LogError " The package failed Doc.Ms validation. Check https://aka.ms/azsdk/docs/docker for more details on how to diagnose this issue."
223230 exit $LASTEXITCODE
224231 }
225232 }
233+ Write-Host " Updating the package json ..."
226234 UpdateDocsMsMetadataForPackage $packageInfoLocation $packageInfo
227235}
0 commit comments