Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
HDDS BadLands
Description
There are two ways to define common dependencies with maven:
1.) put all the dependencies to the parent project and inherit them
2.) get all the dependencies via transitive dependencies
TLDR; I would like to switch from 1 to 2 in hadoop-ozone
My main problem with the first approach that all the child project get a lot of dependencies independent if they need them or not. Let's imagine that I would like to create a new project (for example a java csi implementation) It doesn't need ozone-client, ozone-common etc, in fact it conflicts with ozone-client. But these jars are always added as of now.
Using transitive dependencies is more safe: we can add the dependencies where we need them and all of the other dependent projects will use them.
Attachments
Issue Links
- links to