AlignmentTask in order to perform the alignmentAlignmentService.Request before it is handed to
the AlignmentServiceAlignmentService.Response after it is returned by
the AlignmentServicemanipulation.json file for the whole project
(whether it's a single or multi module project)AlignmentService that uses the Dependency Analyzer service
in order to get the proper aligned versions of dependencies (as well as the version of the project itself)
The heavy lifting is done by DefaultTranslatorAlignmentService.RequestCustomizer that removes dependencies from a
AlignmentService.Request
The idea is that this class will be created with a predicate (which can of course be the product of multiple predicates)
that will match dependencies that are supposed to be excluded.AlignmentService.ResponseCustomizer that changes the versions of
aligned dependencies
The implementation is very simple and takes Map as a constructor argument and uses the map keys to check
if a dependency matches.AlignmentService.ResponseCustomizer that changes the project version
The heavy lifting is actually done by VersionCalculatorAlignmentService that
delegates to another AlignmentService.