@@ -62,49 +62,46 @@ function create-metadata-table($readmeFolder, $readmeName, $moniker, $msService,
62
62
$metadataString = GenerateDocsMsMetadata - language $Language - languageDisplayName $LanguageDisplayName - serviceName $serviceName `
63
63
- tenantId $TenantId - clientId $ClientId - clientSecret $ClientSecret `
64
64
- msService $msService
65
- Add-Content - Path $readmePath - Value $metadataString
65
+ Add-Content - Path $readmePath - Value $metadataString - NoNewline
66
66
67
67
# Add tables, seperate client and mgmt.
68
- $readmeHeader = " # $langTitle - $moniker "
68
+ $readmeHeader = " # Azure $serviceName SDK for $languageDisplayName - $moniker `r`n "
69
69
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
83
71
}
84
72
85
73
# Update the metadata table.
86
74
function update-metadata-table ($readmeFolder , $readmeName , $serviceName , $msService )
87
75
{
88
76
$readmePath = Join-Path $readmeFolder - ChildPath $readmeName
89
77
$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()
93
89
# $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 `
95
91
- tenantId $TenantId - clientId $ClientId - clientSecret $ClientSecret `
96
92
- 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
100
94
}
101
95
102
96
function generate-markdown-table ($readmeFolder , $readmeName , $packageInfo , $moniker ) {
103
97
$tableHeader = " | Reference | Package | Source |`r`n |---|---|---|`r`n "
104
98
$tableContent = " "
105
99
# Here is the table, the versioned value will
106
100
foreach ($pkg in $packageInfo ) {
107
- $repositoryLink = $RepositoryUri
101
+ $repositoryLink = " $RepositoryUri /$ ( $pkg.Package ) "
102
+ if (Test-Path " Function:$GetRepositoryLinkFn " ) {
103
+ $repositoryLink = & $GetRepositoryLinkFn - packageInfo $pkg
104
+ }
108
105
$packageLevelReadme = " "
109
106
if (Test-Path " Function:$GetPackageLevelReadmeFn " ) {
110
107
$packageLevelReadme = & $GetPackageLevelReadmeFn - packageMetadata $pkg
@@ -118,7 +115,7 @@ function generate-markdown-table($readmeFolder, $readmeName, $packageInfo, $moni
118
115
if ($pkg.PSObject.Members.Name -contains " DirectoryPath" ) {
119
116
$githubLink = " $GithubUri /blob/main/$ ( $pkg.DirectoryPath ) "
120
117
}
121
- $line = " |$referenceLink |[$ ( $pkg.Package ) ]($repositoryLink / $ ( $pkg .Package ) )|[Github]($githubLink )|`r`n "
118
+ $line = " |$referenceLink |[$ ( $pkg.Package ) ]($repositoryLink )|[Github]($githubLink )|`r`n "
122
119
$tableContent += $line
123
120
}
124
121
$readmePath = Join-Path $readmeFolder - ChildPath $readmeName
@@ -140,12 +137,12 @@ function generate-service-level-readme($readmeBaseName, $pathPrefix, $packageInf
140
137
$mgmtIndexReadme = " $readmeBaseName -mgmt-index.md"
141
138
$clientPackageInfo = $packageInfos.Where ({ ' client' -eq $_.Type }) | Sort-Object - Property Package
142
139
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
144
141
}
145
142
146
143
$mgmtPackageInfo = $packageInfos.Where ({ ' mgmt' -eq $_.Type }) | Sort-Object - Property Package
147
144
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
149
146
}
150
147
if (! (Test-Path (Join-Path $readmeFolder - ChildPath $serviceReadme ))) {
151
148
create- metadata- table - readmeFolder $readmeFolder - readmeName $serviceReadme - moniker $moniker - msService $msService `
0 commit comments