Closed josor001 closed 1 year ago
Hi.
Thank you for the effort you put into making OpenAPI support mergeable into LEMMA's main
branch!
I finally came to review the PR. Instead of having another round of review, I decided to just fix the remaining issues myself. To this end, I created a new branch openapi-merge-prep
at https://github.com/SeelabFhdo/lemma/tree/openapi-merge-prep. It applies the three commits of your PR on top of LEMMA's current main
branch and, starting with commit d15173a, comprises ~20 additional commits to fix remaining issues. Additionally, I left some ~30 TODO
comments at places in the Xtend code where I couldn't decide for a solution myself or where I was unsure about the correctness of a particular refactoring.
So, to get the highly-desired OpenAPI support finally into LEMMA's main
branch it would be great if you could...
openapi-merge-prep
starting with commit d15173a; andTODO
comments (maybe except for the picocli-related TODO
comment at https://github.com/SeelabFhdo/lemma/blob/236372eece2d68595528293f32f1bd3311f31350/de.fhdo.lemma.service.openapi/src/de/fhdo/lemma/service/openapi/LemmaGenerator.xtend#L115 because this could take some time).After that, the OpenAPI support should finally be ready for LEMMA's main
branch.
Thanks!
P. S.: I'll also open two issues whose future solution could improve the integration of OpenAPI support even further.
Note that I rebased the prep branch at https://github.com/SeelabFhdo/lemma/tree/openapi-merge-prep atop of main, which with commits c61003b and 13cac5a dropped the deprecated "list" type in favor of the "collection" type. To make the prep branch cope with the "list" type's removal, I added commit d3c6fa2, which makes the prep branch compile again. Please consider d3c6fa2 in your testing to make sure that the OpenAPI transformation handles "collection" types correctly, i.e., in the same way as it handled "list" types in the past.
It took my quite a while, but I finally managed to rework the previous PR 31. I addressed all the feedback to the best of my ability. Because the changes ended up being rather huge, I decided to create a complete need branch and PR. Most notable is probably that I was able to bundle the UI changes in a separate
de.fhdo.lemma.service.openapi.eclipse.ui
project which makes the whole functionality completely non-invasive to the existing LEMMA projects. I.e., I only touched the various.txt
files in the build folder regarding integration into the build pipeline, the rest are new plugin-projects. Shipped with this PR also come two minor bug fixes in the technology and service extractors. Feedback appreciated.