@@ -62,49 +62,46 @@ function create-metadata-table($readmeFolder, $readmeName, $moniker, $msService,
6262 $metadataString = GenerateDocsMsMetadata - language $Language - languageDisplayName $LanguageDisplayName - serviceName $serviceName `
6363 - tenantId $TenantId - clientId $ClientId - clientSecret $ClientSecret `
6464 - msService $msService
65- Add-Content - Path $readmePath - Value $metadataString
65+ Add-Content - Path $readmePath - Value $metadataString - NoNewline
6666
6767 # Add tables, seperate client and mgmt.
68- $readmeHeader = " # $langTitle - $moniker "
68+ $readmeHeader = " # Azure $serviceName SDK for $languageDisplayName - $moniker `r`n "
6969 Add-Content - Path $readmePath - Value $readmeHeader
70- Add-Content - Path $readmePath - Value $content
71- }
72-
73- function compare-and-merge-metadata ($original , $updated ) {
74- $originalTable = ConvertFrom-StringData - StringData $original - Delimiter " :"
75- $updatedTable = ConvertFrom-StringData - StringData $updated - Delimiter " :"
76- foreach ($key in $originalTable.Keys ) {
77- if (! ($updatedTable.ContainsKey ($key ))) {
78- Write-Warning " New metadata missed the entry: $key . Adding back."
79- $updated += " $key `: $ ( $originalTable [$key ]) `r`n "
80- }
81- }
82- return $updated
70+ Add-Content - Path $readmePath - Value $content - NoNewline
8371}
8472
8573# Update the metadata table.
8674function update-metadata-table ($readmeFolder , $readmeName , $serviceName , $msService )
8775{
8876 $readmePath = Join-Path $readmeFolder - ChildPath $readmeName
8977 $readmeContent = Get-Content - Path $readmePath - Raw
90- $null = $readmeContent -match " ---`n *(?<metadata>(.*`n )*)---`n *(?<content>(.*`n )*)"
91- $restContent = $Matches [" content" ]
92- $orignalMetadata = $Matches [" metadata" ]
78+ $match = $readmeContent -match " ^---\n*(?<metadata>(.*\n?)*?)---\n*(?<content>(.*\n?)*)"
79+ if (! $match ) {
80+ # $Language, $LanguageDisplayName are the variables globally defined in Language-Settings.ps1
81+ $metadataString = GenerateDocsMsMetadata - language $Language - languageDisplayName $LanguageDisplayName - serviceName $serviceName `
82+ - tenantId $TenantId - clientId $ClientId - clientSecret $ClientSecret `
83+ - msService $msService
84+ Set-Content - Path $readmePath - Value " $metadataString$readmeContent " - NoNewline
85+ return
86+ }
87+ $restContent = $Matches [" content" ].trim()
88+ $metadata = $Matches [" metadata" ].trim()
9389 # $Language, $LanguageDisplayName are the variables globally defined in Language-Settings.ps1
94- $metadataString = GenerateDocsMsMetadata - language $Language - languageDisplayName $LanguageDisplayName - serviceName $serviceName `
90+ $metadataString = GenerateDocsMsMetadata - originalMetadata $metadata - language $Language - languageDisplayName $LanguageDisplayName - serviceName $serviceName `
9591 - tenantId $TenantId - clientId $ClientId - clientSecret $ClientSecret `
9692 - msService $msService
97- $null = $metadataString -match " ---`n *(?<metadata>(.*`n )*)---"
98- $mergedMetadata = compare-and - merge-metadata - original $orignalMetadata - updated $Matches [" metadata" ]
99- Set-Content - Path $readmePath - Value " ---`n $mergedMetadata ---`n $restContent " - NoNewline
93+ Set-Content - Path $readmePath - Value " $metadataString$restContent " - NoNewline
10094}
10195
10296function generate-markdown-table ($readmeFolder , $readmeName , $packageInfo , $moniker ) {
10397 $tableHeader = " | Reference | Package | Source |`r`n |---|---|---|`r`n "
10498 $tableContent = " "
10599 # Here is the table, the versioned value will
106100 foreach ($pkg in $packageInfo ) {
107- $repositoryLink = $RepositoryUri
101+ $repositoryLink = " $RepositoryUri /$ ( $pkg.Package ) "
102+ if (Test-Path " Function:$GetRepositoryLinkFn " ) {
103+ $repositoryLink = & $GetRepositoryLinkFn - packageInfo $pkg
104+ }
108105 $packageLevelReadme = " "
109106 if (Test-Path " Function:$GetPackageLevelReadmeFn " ) {
110107 $packageLevelReadme = & $GetPackageLevelReadmeFn - packageMetadata $pkg
@@ -118,7 +115,7 @@ function generate-markdown-table($readmeFolder, $readmeName, $packageInfo, $moni
118115 if ($pkg.PSObject.Members.Name -contains " DirectoryPath" ) {
119116 $githubLink = " $GithubUri /blob/main/$ ( $pkg.DirectoryPath ) "
120117 }
121- $line = " |$referenceLink |[$ ( $pkg.Package ) ]($repositoryLink / $ ( $pkg .Package ) )|[Github]($githubLink )|`r`n "
118+ $line = " |$referenceLink |[$ ( $pkg.Package ) ]($repositoryLink )|[Github]($githubLink )|`r`n "
122119 $tableContent += $line
123120 }
124121 $readmePath = Join-Path $readmeFolder - ChildPath $readmeName
@@ -140,12 +137,12 @@ function generate-service-level-readme($readmeBaseName, $pathPrefix, $packageInf
140137 $mgmtIndexReadme = " $readmeBaseName -mgmt-index.md"
141138 $clientPackageInfo = $packageInfos.Where ({ ' client' -eq $_.Type }) | Sort-Object - Property Package
142139 if ($clientPackageInfo ) {
143- generate- markdown- table - readmeFolder $readmeFolder - readmeName " $clientIndexReadme " - packageInfo $clientPackageInfo - moniker $moniker
140+ generate- markdown- table - readmeFolder $readmeFolder - readmeName $clientIndexReadme - packageInfo $clientPackageInfo - moniker $moniker
144141 }
145142
146143 $mgmtPackageInfo = $packageInfos.Where ({ ' mgmt' -eq $_.Type }) | Sort-Object - Property Package
147144 if ($mgmtPackageInfo ) {
148- generate- markdown- table - readmeFolder $readmeFolder - readmeName " $mgmtIndexReadme " - packageInfo $mgmtPackageInfo - moniker $moniker
145+ generate- markdown- table - readmeFolder $readmeFolder - readmeName $mgmtIndexReadme - packageInfo $mgmtPackageInfo - moniker $moniker
149146 }
150147 if (! (Test-Path (Join-Path $readmeFolder - ChildPath $serviceReadme ))) {
151148 create- metadata- table - readmeFolder $readmeFolder - readmeName $serviceReadme - moniker $moniker - msService $msService `
0 commit comments