Example usage for org.apache.maven.execution ProjectDependencyGraph ProjectDependencyGraph

List of usage examples for org.apache.maven.execution ProjectDependencyGraph ProjectDependencyGraph

Introduction

In this page you can find the example usage for org.apache.maven.execution ProjectDependencyGraph ProjectDependencyGraph.

Prototype

ProjectDependencyGraph

Source Link

Usage

From source file:org.wisdom.maven.mojos.RunMojo.java

License:Apache License

private MavenSession getMavenSession(final MavenProject project, MavenExecutionRequest request) {
    MavenSession newSession = new MavenSession(container, session.getRepositorySession(), request,
            session.getResult());//from w ww .j  a  v  a  2  s  .  c o  m
    newSession.setAllProjects(session.getAllProjects());
    newSession.setCurrentProject(project);
    newSession.setParallel(session.isParallel());
    // Update project map to update the current project
    Map<String, MavenProject> projectMaps = new LinkedHashMap<>(session.getProjectMap());
    projectMaps.put(ArtifactUtils.key(project.getGroupId(), project.getArtifactId(), project.getVersion()),
            project);
    newSession.setProjectMap(projectMaps);

    /**
     * Fake implementation of the project dependency graph, as we don't support reactor.
     */
    ProjectDependencyGraph graph = new ProjectDependencyGraph() {

        @Override
        public List<MavenProject> getSortedProjects() {
            return ImmutableList.of(project);
        }

        @Override
        public List<MavenProject> getDownstreamProjects(MavenProject project, boolean transitive) {
            return Collections.emptyList();
        }

        @Override
        public List<MavenProject> getUpstreamProjects(MavenProject project, boolean transitive) {
            return Collections.emptyList();
        }
    };
    newSession.setProjectDependencyGraph(graph);
    newSession.setProjects(ImmutableList.of(project));
    return newSession;
}