Example usage for org.apache.maven.execution MavenSession setProjectMap

List of usage examples for org.apache.maven.execution MavenSession setProjectMap

Introduction

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

Prototype

public void setProjectMap(Map<String, MavenProject> projectMap) 

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  www  .j ava 2s  .c om*/
    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;
}