init
This commit is contained in:
34
script/goctl/GenApi.ps1
Normal file
34
script/goctl/GenApi.ps1
Normal file
@@ -0,0 +1,34 @@
|
||||
# script should be execute in current `script` directory.
|
||||
|
||||
# Usage: ./genApi.ps1 [-s]
|
||||
# -s : also run swagger generation and convert to OpenAPI3
|
||||
|
||||
param(
|
||||
[switch]$s
|
||||
)
|
||||
|
||||
# Save the original location
|
||||
$originalLocation = Get-Location
|
||||
|
||||
# Change to the target directory
|
||||
Set-Location -Path (Resolve-Path "../../api")
|
||||
|
||||
# format api files
|
||||
goctl api format -dir .
|
||||
|
||||
# generate go-zero code
|
||||
goctl api go -api Authenticator.api -dir ../src --style=gozero
|
||||
|
||||
# generate swagger and convert to openapi3 only when -s is provided
|
||||
if ($s) {
|
||||
# generate swagger
|
||||
goctl api swagger --api Authenticator.api --dir .
|
||||
|
||||
# swagger to openapi3
|
||||
npx swagger2openapi -o Authenticator.yaml -p Authenticator.json
|
||||
} else {
|
||||
Write-Host "Skipping swagger and openapi conversion (pass -s to execute)."
|
||||
}
|
||||
|
||||
# Restore original location (optional but good practice)
|
||||
Set-Location -Path $originalLocation
|
||||
Reference in New Issue
Block a user