Make Kiota.Builder.Plugins.PluginsGenerationService
generic over the output kind
#5254
Labels
status:waiting-for-triage
An issue that is yet to be reviewed or assigned
How the class works now:
The
Kiota.Builder.Plugins.PluginsGenerationService
is used to generate a plugin manifest from an OpenAPI document. It receives a working directory path as a string and generates plugin files into that path.Why I want to change it
The current strategy works well but I see it becoming harder to maintain and test as more features are added to the type. It also makes it hard to test logic of individual units. For example, writing a test independent of the file system is currently not possible. That means that unit tests are effectively integration tests and require a lot of boilerplate code to write. This increases the development time of features in the class. I think this makes the class brittle and increases the maintainers' technical debt.
How I want to change it
I would like to split the type into multiple modular types that serve specific purposes. I haven't come up with a broken down design yet, but I would imagine the first big win is separating out the file IO from the type. This will unlock the possibility of using tests that work on in-memory data. An integration test could then be created to test the file system access.
How I would implement it
TBD
The text was updated successfully, but these errors were encountered: