Skip to content

Reduce coupling in the MjResolve #4989

@volodya-lombrozo

Description

@volodya-lombrozo

Currently MjResolve is hardly testable God class that does the following:

  1. Serves as an entry point for Maven.
  2. Handles logic with resolving dependencies

Moreover, logic in the MjResolve requires MavenPlugin in order to download and resolve dependencies. Thus it makes it hard to move internals of MjResolve to a separate class.

It would be nice to decouple the logic in MjResolve on two separate classes:

  1. MjResolve - a thin maven endpoint for using resolving logic in a maven project.
  2. Resolve - a core resolving logic.

Also, it's important to find out if it's possible to remove the dependency of Resolve on MavenProject. Most probably, without it, refactoring won't make any sense.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions