ASSERT-KTH / depclean

DepClean automatically detects and removes unused dependencies in Maven projects (https://dx.doi.org/10.1007/s10664-020-09914-8)
MIT License
245 stars 28 forks source link

[FEATURE] Differentiating direct transitive and inherited transitive dependencies #124

Closed afillatre closed 1 year ago

afillatre commented 2 years ago

Is your feature request related to a problem? Please describe. Since we can't do much to debloat inherited transitive dependencies, it could be nice to separate them from the ones that come from direct dependencies, for clarity sake.

Describe the solution you'd like Separate both kinds of transitive dependencies in the final report

cesarsotovalero commented 2 years ago

Hi @afillatre,

Inherited dependencies are all the dependencies that come from the parent project. I agree with you that it makes sense to separate "inherited direct" and "inherited transitive" dependencies.

So, I think the change that you're proposing looks as follows:

USED DIRECT DEPENDENCIES [0]: 
USED TRANSITIVE DEPENDENCIES [0]:
- USED INHERITED DEPENDENCIES [0]:
+ USED INHERITED DIRECT DEPENDENCIES [0]: 
+ USED INHERITED TRANSITIVE DEPENDENCIES [0]: 
POTENTIALLY UNUSED DIRECT DEPENDENCIES [0]: 
POTENTIALLY UNUSED TRANSITIVE DEPENDENCIES [0]: 
- POTENTIALLY UNUSED INHERITED DEPENDENCIES [0]:
+ POTENTIALLY UNUSED INHERITED DIRECT DEPENDENCIES [0]: 
+ POTENTIALLY UNUSED INHERITED TRANSITIVE DEPENDENCIES [0]: 
}

Is this correct?

afillatre commented 2 years ago

@cesarsotovalero yes, that's right :)