Skip to content

Commit 41897b2

Browse files
authored
Fix the issue of generating generate-info.json (#13473)
Co-authored-by: wyunchi-ms <[email protected]>
1 parent 09627e4 commit 41897b2

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

tools/Gen2Master/MoveFromGeneration2Master.ps1

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -96,21 +96,35 @@ Function Move-Generation2Master {
9696
}
9797
#EndRegion
9898

99-
#Region generate-info.json
100-
101-
$generate_info = @{}
99+
#Region generate-info.json Here have a issue that user may not use latest version to generate the code.
100+
$generateInfo = @{}
102101
$repo = "https://github.com/Azure/azure-rest-api-specs"
103102
$commit = git ls-remote $repo HEAD
104-
$generate_info.Add("swagger_commit", $commit.Substring(0, 40))
105-
$generate_info.Add("node", (node --version))
103+
$generateInfo.Add("swagger_commit", $commit.Substring(0, 40))
104+
$generateInfo.Add("node", (node --version))
106105
$autorest_info = (npm ls -g @autorest/autorest).Split('@')
107-
$generate_info.Add("autorest", ($autorest_info[$autorest_info.count - 2]).trim())
106+
$generateInfo.Add("autorest", ($autorest_info[$autorest_info.count - 2]).trim())
108107
$extensions = ls ~/.autorest
109108
ForEach ($ex in $extensions) {
110109
$info = $ex.Name.Split('@')
111-
$generate_info.Add($info[1], $info[2])
110+
$packageName = $info[1]
111+
$version = $info[2]
112+
if ($generateInfo.ContainsKey($packageName))
113+
{
114+
$preVersion = $generateInfo[$packageName]
115+
$versionFields = $version.Split('.')
116+
$preVersionFields = $preVersion.Split('.')
117+
if (($versionFields[0] -lt $preVersionFields[0]) -or ($versionFields[1] -lt $preVersionFields[1]) -or ($versionFields[2] -lt $preVersionFields[2]))
118+
{
119+
$generateInfo[$packageName] = $version
120+
}
121+
}
122+
else
123+
{
124+
$generateInfo.Add($packageName, $version)
125+
}
112126
}
113-
Set-Content -Path (Join-Path $DestPath generate-info.json) -Value (ConvertTo-Json $generate_info)
127+
Set-Content -Path (Join-Path $DestPath generate-info.json) -Value (ConvertTo-Json $generateInfo)
114128
#EndRegion
115129

116130
#Region update azure-powershell-modules.md
@@ -119,8 +133,8 @@ Function Move-Generation2Master {
119133

120134
#Region update GeneratedModuleList
121135
$GeneratedModuleListPath = [System.IO.Path]::Combine($PSScriptRoot, "..", "GeneratedModuleList.txt")
122-
$Modules = Get-Content $GeneratedModuleListPath + "Az.$ModuleName"
123-
$NewModules = $Modules | Sort-Object
136+
$Modules = (Get-Content $GeneratedModuleListPath) + "Az.$ModuleName"
137+
$NewModules = $Modules | Sort-Object | Get-Unique
124138
Set-Content -Path $GeneratedModuleListPath -Value $NewModules
125139
#EndRegion
126140

0 commit comments

Comments
 (0)