Last active
February 17, 2021 13:53
-
-
Save tjquinno/179c130519cbcbebb5009823bc83d74c to your computer and use it in GitHub Desktop.
Discussion of module interdependencies and class inheritance highlighted by Micrometer support
Thanks for the notes.
In the structure you proposed, splitting apart the lower-level common
and rest
submodules does seem to make sense.
So the proposed new modules would be:
common/
service-support/
common/ - common types for xxxSupport in SE without REST (maybe not needed until later)
rest/ - common types for xxxSupport in SE with REST
microprofile/
common/
common/ - common types for xxxCdiExtension in MP without REST
rest/ - common types for xxxCdiExtension in MP with REST
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The reason for limiting submodules under root modules (except for
integration
,microprofile
andexamples
to SE only:Microprofile was built on top of Helidon SE, so all code related to it was in a separate directory (and package structure), to make this distinction clear.
I do realize this may be outdated now, as we have decided to move parts of Helidon together in a single module (supporting both SE and MP).
I think the important question now would be - "Do we want to merge together
core
modules of Helidon?" - such as metrics, tracing...If the answer is "YES, we want to merge them for 3.x" - then we can start building a
common/mp
module to be used by these modules.If the answer is "NO, only integrations may be MP/SE" - then we should have an
microprofile/common
module.I think this deserves a POC to see how it changes size of Helidon, and if it is feasible at all. Until then I would prefer to have
microprofile/common
Regarding the hierarchy - in SE, there is no "server without REST" - so there is no need to create a non-rest service support.
Suggestion for MP:
HelidonCdiExtension
) - in modulemicroprofile/common/common
HelidonRestCdiExtension
) - in modulemicroprofile/common/rest
Please do not change it yet, let's first make sure this is OK for us (and others).