Abstract away from OpenAPI via transformation.
Description
We have abstractions such as CodegenModel
, CodegenOperation
, CodegenProperty
, etc. which represent abstractions away from OpenAPI for the sake of generation. This currently creates tight coupling between different versions of OpenAPI specifications and the underlying templating (examples: CodegenOperation#vendorExtensions
, CodegenOperation#externalDocs
)
Suggest a fix/enhancement
Create a representation of an API which is not tightly bound to OpenAPI specifications in general. Transform from OpenAPI specification to this data type via transform phase and inject this transform into the workflow (either DefaultGenerator
or Executor
(tbd #841).
This will unblock us to eventually allow configurable input specification parsers as well as configurable transforms (effectively opening us to code generation for all specification formats).