Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cmd/oapi-codegen/oapi-codegen.go
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,8 @@ func generationTargets(cfg *codegen.Configuration, targets []string) error {
opts.FiberServer = true
case "server", "echo-server", "echo":
opts.EchoServer = true
case "echo5", "echo5-server":
opts.Echo5Server = true
case "gin", "gin-server":
opts.GinServer = true
case "gorilla", "gorilla-server":
Expand Down
16 changes: 7 additions & 9 deletions configuration-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@
"type": "boolean",
"description": "EchoServer specifies whether to generate echo server boilerplate"
},
"echo5-server": {
"type": "boolean",
"description": "Echo5Server specifies whether to generate echo v5 server boilerplate"
},
"gin-server": {
"type": "boolean",
"description": "GinServer specifies whether to generate gin server boilerplate"
Expand Down Expand Up @@ -197,9 +201,7 @@
"description": "DisableTypeAliasesForType allows defining which OpenAPI `type`s will explicitly not use type aliases",
"items": {
"type": "string",
"enum": [
"array"
]
"enum": ["array"]
}
},
"name-normalizer": {
Expand All @@ -226,9 +228,7 @@
"default": true
}
},
"required": [
"path"
]
"required": ["path"]
},
"yaml-tags": {
"type": "boolean",
Expand Down Expand Up @@ -299,9 +299,7 @@
"type": "string"
}
},
"required": [
"package"
]
"required": ["package"]
},
"description": "AdditionalImports defines any additional Go imports to add to the generated code"
},
Expand Down
30 changes: 30 additions & 0 deletions examples/petstore-expanded/echo-v5/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This module requires Go 1.25+ (for echo/v5). Skip gracefully on older versions.
GO_VERSION := $(shell go version | sed 's/.*go\([0-9]*\)\.\([0-9]*\).*/\1\2/')
GO_125_OR_LATER := $(shell [ "$(GO_VERSION)" -ge 125 ] 2>/dev/null && echo yes || echo no)

ifeq ($(GO_125_OR_LATER),yes)

lint:
$(GOBIN)/golangci-lint run ./...

lint-ci:
$(GOBIN)/golangci-lint run ./... --output.text.path=stdout --timeout=5m

generate:
go generate ./...

test:
go test -cover ./...

tidy:
go mod tidy

tidy-ci:
tidied -verbose

else

lint generate test tidy lint-ci tidy-ci:
@echo "Skipping echo-v5 example: requires Go 1.25+ (found $(shell go version))"

endif
5 changes: 5 additions & 0 deletions examples/petstore-expanded/echo-v5/api/models.cfg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# yaml-language-server: $schema=../../../../configuration-schema.json
package: models
generate:
models: true
output: models/models.gen.go
46 changes: 46 additions & 0 deletions examples/petstore-expanded/echo-v5/api/models/models.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

247 changes: 247 additions & 0 deletions examples/petstore-expanded/echo-v5/api/petstore-server.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading