equinix-labs / metal-go

[Deprecated] Golang client for Equinix Metal
https://deploy.equinix.com/labs/equinix-sdk-go/
MIT License
3 stars 2 forks source link

WIP comparing swagger-codegen-cli-v3 to openapi-generator-cli #141

Closed ctreatma closed 1 year ago

ctreatma commented 1 year ago

I don't have context on the original decision to adopt openapi-generator instead of swagger-codegen; the former started out as a fork of the latter, and they're both actively developed and source-available (I don't know current licensing off-hand, so I can't say if either or both are Open Source).

This is just a draft PR that we can look at to see how code generated with swagger-codegen differs from code generated with openapi-generator.

github-actions[bot] commented 1 year ago

Hey there and thank you for opening this pull request! 👋🏼

We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted.

Details:

No release type found in pull request title "WIP comparing swagger-codegen-cli-v3 to openapi-generator-cli". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit
displague commented 1 year ago

Prior to openapi-generator, we were using go-swagger generator. go-swagger wasn't OAS3 ready and we were moving from Swagger to OAS3.

I don't recall how deeply swagger-codegen was considered at the time. I was aware of the split and Github liveliness may have been part of the decision. OAS3 features between swagger-codegen and openapi-generator may have been at different maturity levels. It's possible the legacy protocol name scared me off.

Check out https://github.com/equinix-labs/metal-go/pull/31 for the diff from that exploration. As a result, we lost #26 which the go-swagger generator offered.

ctreatma commented 1 year ago

Closing this; it only exists to compare the results of the generators, not as a real proposal. The feature sets of the 2 generators seem roughly identical, and the differences seem largely stylistic.