Skip to content

Commit 0821f1f

Browse files
authored
temperarily add honor-body-placement tag to prevent codegen breaking (Azure#18821)
* temperarily add honor-body-placement tag to prevent codegen breaking * change to build switch
1 parent a140d4a commit 0821f1f

File tree

2 files changed

+81
-41
lines changed

2 files changed

+81
-41
lines changed

eng/scripts/MgmtTestLib.ps1

Lines changed: 68 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ function Invoke-MgmtTestgen ()
1616
[switch]$cleanGenerated,
1717
[switch]$format,
1818
[switch]$tidy,
19+
[switch]$alwaysSetBodyParamRequired,
1920
[string]$autorestPath = "",
2021
[string]$config = "autorest.md",
2122
[string]$autorestVersion = "3.8.2",
@@ -40,7 +41,8 @@ function Invoke-MgmtTestgen ()
4041
{
4142
Write-Host "##[command]Executing autorest.gotest in " $sdkDirectory
4243

43-
if ($autorestPath -eq "") {
44+
if ($autorestPath -eq "")
45+
{
4446
$autorestPath = "./" + $config
4547
}
4648

@@ -59,8 +61,15 @@ function Invoke-MgmtTestgen ()
5961
{
6062
$mockTestFlag = "false"
6163
}
62-
Write-Host "autorest --version=$autorestVersion --use=$goExtension --use=$testExtension --go --track2 --output-folder=$outputFolder --clear-output-folder=false --go.clear-output-folder=false --generate-sdk=false --testmodeler.generate-mock-test=$mockTestFlag --testmodeler.generate-sdk-example=$exampleFlag $autorestPath"
63-
npx autorest --version=$autorestVersion --use=$goExtension --use=$testExtension --go --track2 --output-folder=$outputFolder --clear-output-folder=false --go.clear-output-folder=false --generate-sdk=false --testmodeler.generate-mock-test=$mockTestFlag --testmodeler.generate-sdk-example=$exampleFlag $autorestPath
64+
65+
$honorBodyPlacement = "false"
66+
if (-not $alwaysSetBodyParamRequired)
67+
{
68+
$honorBodyPlacement = "true"
69+
}
70+
71+
Write-Host "autorest --version=$autorestVersion --use=$goExtension --use=$testExtension --go --track2 --output-folder=$outputFolder --clear-output-folder=false --go.clear-output-folder=false --generate-sdk=false --testmodeler.generate-mock-test=$mockTestFlag --testmodeler.generate-sdk-example=$exampleFlag --honor-body-placement=$honorBodyPlacement $autorestPath"
72+
npx autorest --version=$autorestVersion --use=$goExtension --use=$testExtension --go --track2 --output-folder=$outputFolder --clear-output-folder=false --go.clear-output-folder=false --generate-sdk=false --testmodeler.generate-mock-test=$mockTestFlag --testmodeler.generate-sdk-example=$exampleFlag --honor-body-placement=$honorBodyPlacement $autorestPath
6473
if ($LASTEXITCODE)
6574
{
6675
Write-Host "##[error]Error running autorest.gotest"
@@ -134,16 +143,21 @@ function StartMockServer()
134143

135144
$swaggerPath = $swaggerInfo.path
136145
$specName = $swaggerInfo.specName
137-
if ($swaggerInfo.isRepoUrl -eq $true) {
146+
if ($swaggerInfo.isRepoUrl -eq $true)
147+
{
138148
Add-Content $envFile "specRetrievalGitUrl=$swaggerPath"
139-
if ([string]::IsNullOrEmpty($swaggerInfo.branch) -eq $false) {
149+
if ([string]::IsNullOrEmpty($swaggerInfo.branch) -eq $false)
150+
{
140151
Add-Content $envFile "specRetrievalGitBranch=$($swaggerInfo.branch)"
141152
}
142-
if ([string]::IsNullOrEmpty($swaggerInfo.commitID) -eq $false) {
153+
if ([string]::IsNullOrEmpty($swaggerInfo.commitID) -eq $false)
154+
{
143155
Add-Content $envFile "specRetrievalGitCommitID=$($swaggerInfo.commitID)"
144156
}
145157
Add-Content $envFile "validationPathsPattern=specification/$specName/resource-manager/**/*.json"
146-
} else {
158+
}
159+
else
160+
{
147161
Write-Host "start Mock Test from local swagger"
148162
Add-Content $envFile "specRetrievalMethod=filesystem
149163
specRetrievalLocalRelativePath=$swaggerPath
@@ -191,7 +205,8 @@ function StopMockServer()
191205
}
192206
}
193207

194-
function GetSwaggerInfo() {
208+
function GetSwaggerInfo()
209+
{
195210
param(
196211
[string]$specDir = "",
197212
[string]$rpSDKFolder,
@@ -200,29 +215,35 @@ function GetSwaggerInfo() {
200215

201216
if ([string]::IsNullOrEmpty($rpSDKFolder))
202217
{
203-
if ([string]::IsNullOrEmpty($specDir)) {
218+
if ([string]::IsNullOrEmpty($specDir))
219+
{
204220
$swaggerInfo = [PSCustomObject]@{
205221
isRepoUrl = $true
206-
path = "https://github.com/Azure/azure-rest-api-specs"
207-
specName = "*"
208-
org = "Azure"
209-
branch = "main"
210-
commitID = ""
222+
path = "https://github.com/Azure/azure-rest-api-specs"
223+
specName = "*"
224+
org = "Azure"
225+
branch = "main"
226+
commitID = ""
211227
}
212-
} else {
228+
}
229+
else
230+
{
213231
$swaggerInfo = [PSCustomObject]@{
214232
isRepoUrl = $false
215-
path = $specDir
216-
specName = "*"
217-
org = ""
218-
branch = ""
219-
commitID = ""
233+
path = $specDir
234+
specName = "*"
235+
org = ""
236+
branch = ""
237+
commitID = ""
220238
}
221239
}
222-
} else {
223-
$file="$rpSDKFolder/$autorestConfigFile"
224-
$readmefile = (Select-String -Path $file -Pattern ".*readme.md" | ForEach-Object {$_.Matches.Value}) -replace "require *:|- ", ""
225-
if ([string]::IsNullOrEmpty($readmefile)) {
240+
}
241+
else
242+
{
243+
$file = "$rpSDKFolder/$autorestConfigFile"
244+
$readmefile = (Select-String -Path $file -Pattern ".*readme.md" | ForEach-Object { $_.Matches.Value }) -replace "require *:|- ", ""
245+
if ([string]::IsNullOrEmpty($readmefile))
246+
{
226247
Write-Host "Cannot get swagger info"
227248
exit 1
228249
}
@@ -236,10 +257,12 @@ function GetSwaggerInfo() {
236257
$commitID = ""
237258
$readmefile = $readmefile.Trim()
238259

239-
if ($readmefile.StartsWith("http")) {
260+
if ($readmefile.StartsWith("http"))
261+
{
240262
$isRepoUrl = $true
241263
}
242-
if ($isRepoUrl -eq $true) {
264+
if ($isRepoUrl -eq $true)
265+
{
243266
$swaggerInfoRegex = ".*github.*.com\/(?<org>.*)\/azure-rest-api-specs\/blob\/(?<commitID>[0-9a-f]{40})\/specification\/(?<specName>.*)\/resource-manager\/readme.md"
244267
$rawSwaggerInfoRegex = ".*github.*.com\/(?<org>.*)\/azure-rest-api-specs\/(?<commitID>[0-9a-f]{40})\/specification\/(?<specName>.*)\/resource-manager\/readme.md"
245268
$swaggerNoCommitRegex = ".*github.*.com\/(?<org>.*)\/azure-rest-api-specs\/(blob\/)?(?<branch>.*)\/specification\/(?<specName>.*)\/resource-manager\/readme.md"
@@ -251,13 +274,15 @@ function GetSwaggerInfo() {
251274
$specName = $matches["specName"]
252275
$commitID = $matches["commitID"]
253276
$path = "https://github.com/$org/azure-rest-api-specs"
254-
} elseif ($readmefile -match $rawSwaggerInfoRegex)
277+
}
278+
elseif ($readmefile -match $rawSwaggerInfoRegex)
255279
{
256280
$org = $matches["org"]
257281
$specName = $matches["specName"]
258282
$commitID = $matches["commitID"]
259283
$path = "https://github.com/$org/azure-rest-api-specs"
260-
}elseif ($readmefile -match $swaggerNoCommitRegex)
284+
}
285+
elseif ($readmefile -match $swaggerNoCommitRegex)
261286
{
262287
$org = $matches["org"]
263288
$specName = $matches["specName"]
@@ -270,22 +295,25 @@ function GetSwaggerInfo() {
270295
Write-Error "Error parsing swagger info"
271296
Write-Error $_
272297
}
273-
} else {
298+
}
299+
else
300+
{
274301
$paths = $readmefile.split("/");
275302
$len = $paths.count
276-
if ($len -gt 2) {
303+
if ($len -gt 2)
304+
{
277305
$specName = $paths[$len - 3]
278306
$path = ($paths[0..($len - 4)]) -join "/"
279307
}
280308
}
281309

282310
$swaggerInfo = [PSCustomObject]@{
283311
isRepoUrl = $isRepoUrl
284-
path = $path
285-
specName = $specName
286-
org = $org
287-
branch = $branch
288-
commitID = $commitID
312+
path = $path
313+
specName = $specName
314+
org = $org
315+
branch = $branch
316+
commitID = $commitID
289317
}
290318
}
291319

@@ -329,16 +357,18 @@ function JudgeExitCode($errorMsg = "execution error")
329357
}
330358
}
331359

332-
function ExecuteSingleTest($sdk, $needRunMockServer=$true)
360+
function ExecuteSingleTest($sdk, $needRunMockServer = $true)
333361
{
334362
Write-Host "Start mock server"
335-
if ($needRunMockServer -eq $true) {
363+
if ($needRunMockServer -eq $true)
364+
{
336365
StartMockServer -rpSDKFolder $sdk.DirectoryPath
337366
}
338367
Write-Host "Execute mock test for $($sdk.Name)"
339368
TestAndGenerateReport $sdk.DirectoryPath
340369
Write-Host "Stop mock server"
341-
if ($needRunMockServer -eq $true) {
370+
if ($needRunMockServer -eq $true)
371+
{
342372
StopMockServer
343373
}
344374
}

eng/scripts/build.ps1

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ param(
88
[switch]$cleanGenerated,
99
[switch]$format,
1010
[switch]$tidy,
11+
[switch]$alwaysSetBodyParamRequired,
1112
[string]$config = "autorest.md",
1213
[string]$autorestVersion = "3.8.2",
1314
[string]$goExtension = "@autorest/[email protected]",
@@ -30,7 +31,7 @@ function Process-Sdk ()
3031
if ($cleanGenerated)
3132
{
3233
Write-Host "##[command]Cleaning auto-generated files in" $currentDirectory
33-
(Get-ChildItem "*.go" | Where-Object {$_.Name -notlike '*_test.go'} | Select-String -Pattern "Code generated by Microsoft" | Select-Object -ExpandProperty path) | Remove-Item -Force
34+
(Get-ChildItem "*.go" | Where-Object { $_.Name -notlike '*_test.go' } | Select-String -Pattern "Code generated by Microsoft" | Select-Object -ExpandProperty path) | Remove-Item -Force
3435
}
3536

3637
if ($generate)
@@ -42,13 +43,22 @@ function Process-Sdk ()
4243
{
4344
$outputFolder = $currentDirectory
4445
}
46+
47+
$honorBodyPlacement = "false"
48+
if (-not $alwaysSetBodyParamRequired)
49+
{
50+
$honorBodyPlacement = "true"
51+
}
52+
4553
if ($filePrefix)
4654
{
47-
autorest --version=$autorestVersion --use=$goExtension --go --track2 --output-folder=$outputFolder --file-prefix=$filePrefix --clear-output-folder=false --go.clear-output-folder=false $autorestPath
55+
Write-Host "autorest --version=$autorestVersion --use=$goExtension --go --track2 --output-folder=$outputFolder --file-prefix=$filePrefix --clear-output-folder=false --go.clear-output-folder=false --honor-body-placement=$honorBodyPlacement $autorestPath"
56+
autorest --version=$autorestVersion --use=$goExtension --go --track2 --output-folder=$outputFolder --file-prefix=$filePrefix --clear-output-folder=false --go.clear-output-folder=false --honor-body-placement=$honorBodyPlacement $autorestPath
4857
}
4958
else
5059
{
51-
autorest --version=$autorestVersion --use=$goExtension --go --track2 --output-folder=$outputFolder --clear-output-folder=false --go.clear-output-folder=false $autorestPath
60+
Write-Host "autorest --version=$autorestVersion --use=$goExtension --go --track2 --output-folder=$outputFolder --clear-output-folder=false --go.clear-output-folder=false --honor-body-placement=$honorBodyPlacement $autorestPath"
61+
autorest --version=$autorestVersion --use=$goExtension --go --track2 --output-folder=$outputFolder --clear-output-folder=false --go.clear-output-folder=false --honor-body-placement=$honorBodyPlacement $autorestPath
5262
}
5363

5464
if ($LASTEXITCODE)

0 commit comments

Comments
 (0)