Simplified dhis-core maven module structure #342
Replies: 2 comments 2 replies
-
To me I am not aware of how our types might be consumed by others. Meaning to me |
Beta Was this translation helpful? Give feedback.
-
Update: We had a conversation today with tracker and platform present where we concluded that we might want to make an even simple module structure where there is basically one Java module per team which also is one maven module. We then can utilize the features of the Java module system to expose API and hide implementation. Until we get there we just make this clear using packages (as the unit that |
Beta Was this translation helpful? Give feedback.
-
Problems
A collection of the issues experienced with the current maven modularisation.
Goals
Immediate
Long term
Proposal
Layers
Layers are allowed to depend on all layers above:
api
service
web
Modules
Modules in below tree may only depend on parents in the tree, except
dhis-service-*
may all depend ondhis-service-common
dhis-web-*
may all depend ondhis-web-common
:Module Tree (test modules excluded):
dhis-api-common
(or justdhis-api
): common model and utilitiesdhis-service-common
: shared service implementation utilities (roughly all of what now isdhis-support-*
)dhis-web-common
: shared web base classes and utilitiesdhis-api-platform
: platform only model and utilitiesdhis-service-platform
: platform only API implementationdhis-web-platform
: platform only web implementationdhis-api-tracker
: tracker only model and utilitiesdhis-service-tracker
: tracker only API implementationdhis-web-tracker
: tracker only web implementationdhis-api-analytics
: analytics only model and utilitiesdhis-service-analytics
: analytics only API implementationdhis-web-analytics
: analytics only web implementationAdditionally
dhis-web-applciation
depends on alldhis-web-*
dependencies to join everything to a web application.Optionally,
dhis-utils
could be extracted fromdhis-api
containing utilities that only depend on JDK types, like date/time helpers or string helpersQuestions
dhis-web-application
(packaging issues?)Transition
A step by step transition in a dozen or so PRs.
Beta Was this translation helpful? Give feedback.
All reactions