unioslo / harborapi

Python async client for the Harbor REST API v2.0.
https://unioslo.github.io/harborapi/
MIT License
28 stars 6 forks source link

Code generation: Add check to detect if a class is removed #87

Open pederhan opened 5 months ago

pederhan commented 5 months ago

When generating code, we don't want to remove any classes, as we want to support more versions than just the most recent one. For example, if Harbor removes support for the Robots V1 API in some new version, we still want to support it for users who are using older versions of Harbor.

Solutions

We can go one of two ways in my mind: Manual or automatic

Manual

The detection needs to find out which classes were removed, if any, and tell the user to add the class definition to the fragments directory so it is added to the final generated file.

Automatic

The code generator finds classes that were removed and automatically creates a fragment containing that class definition. This could be somewhat difficult to implement. We probably need to do it as some separate step prior to running parser.py.