Инициализировать полное дерево зависимостей в модуле агрегатора Maven - PullRequest
0 голосов
/ 28 августа 2018

У меня есть плагин агрегатора в Maven с добавленным DependencyGraphBuilder. Моя цель - разрешить DependencyNode текущего проекта со всеми инициализированными дочерними узлами.

@Mojo(name = "mojo", defaultPhase = LifecyclePhase.SITE,
  requiresDependencyResolution = ResolutionScope.COMPILE, aggregator = true)
public class MyMojo extends AbstractMojo {

    @Component(hint = "default")
    private DependencyGraphBuilder dependencyGraphBuilder;

    @Parameter(defaultValue = "${reactorProjects}", readonly = true, required = true)
    private List<MavenProject> reactorProjects;       

}

В настоящее время, если я пытаюсь разрешить доступ к корневому узлу, я могу получить только зависимости текущего проекта. Я предполагаю, что Maven не разрешил эти зависимости (только для текущего проекта).

dependencyGraphBuilder.buildDependencyGraph(project, null, reactorProjects);

Подводя итог:

Как разрешить дочерние узлы для построения в полном дереве зависимостей использование DependencyGraphBuilder в проекте реактора Maven или это невозможно для агрегаторных проектов?

Дополнительная информация:

Я смотрел на подобные вопросы, но все они не предполагали агрегаторный проект.

1 Ответ

0 голосов
/ 28 августа 2018

Поскольку вы пытаетесь реализовать mvn dependency:tree, почему бы не скопировать решение из подключаемого модуля зависимостей Maven. Взгляните на TreeMojo , который также использует DependencyGraphBuilder с DependencyNodeVisitor .

...