Skip to content

Commit a0fa1d8

Browse files
azure-sdksima-zhu
andauthored
Sync eng/common directory with azure-sdk-tools for PR 2605 (Azure#22874)
* Non stop on readme checking * Print the right variable name Co-authored-by: sima-zhu <[email protected]> Co-authored-by: Sima Zhu <[email protected]>
1 parent 66b70c8 commit a0fa1d8

File tree

1 file changed

+27
-19
lines changed

1 file changed

+27
-19
lines changed

eng/common/scripts/Update-DocsMsMetadata.ps1

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ param(
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

166166
function 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

213220
foreach ($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

Comments
 (0)