Java源码示例:org.apache.maven.execution.ProjectDependencyGraph

示例1
public static MavenSession get(Path workDir, Properties topLevelProjectProperties) throws Exception {
    PomFinder finder = new PomFinder();
    Files.walkFileTree(workDir, finder);
    List<MavenProject> projects = finder.projects.stream()
            .sorted()
            .map(MavenSessionMock::createProject)
            .collect(Collectors.toList());

    MavenProject topLevelProject = projects.get(0);
    topLevelProject.getModel().setProperties(topLevelProjectProperties);
    MavenSession mavenSession = mock(MavenSession.class, withSettings().lenient());
    when(mavenSession.getCurrentProject()).thenReturn(topLevelProject);
    MavenExecutionRequest request = mock(MavenExecutionRequest.class);
    when(mavenSession.getRequest()).thenReturn(request);
    when(mavenSession.getAllProjects()).thenReturn(projects);
    when(mavenSession.getProjects()).thenReturn(projects);
    when(mavenSession.getTopLevelProject()).thenReturn(topLevelProject);
    ProjectDependencyGraph dependencyGraphMock = mock(ProjectDependencyGraph.class);
    when(mavenSession.getProjectDependencyGraph()).thenReturn(dependencyGraphMock);
    return mavenSession;
}
 
示例2
public ReactorBuildQueue(Collection<MavenProject> projects,
    ProjectDependencyGraph dependencyGraph) {
  this.dependencyGraph = dependencyGraph;

  final Set<MavenProject> rootProjects = new HashSet<MavenProject>();

  for (MavenProject project : projects) {
    if (dependencyGraph.getUpstreamProjects(project, false).isEmpty()) {
      rootProjects.add(project);
    } else {
      blockedProjects.add(project);
    }
  }

  this.rootProjects = ImmutableSet.copyOf(rootProjects);
  this.projects = ImmutableSet.copyOf(projects);
}
 
示例3
IncrementalModuleBuilderImpl( List<MavenProject> selectedProjects, LifecycleModuleBuilder lifecycleModuleBuilder,
                              MavenSession session, ReactorContext reactorContext, List<TaskSegment> taskSegments )
{

    this.lifecycleModuleBuilder =
        Objects.requireNonNull( lifecycleModuleBuilder, "lifecycleModuleBuilder is not allowed to be null." );
    this.mavenSession = Objects.requireNonNull( session, "session is not allowed to be null." );
    this.taskSegments = Objects.requireNonNull( taskSegments, "taskSegements is not allowed to be null" );
    this.reactorContext = Objects.requireNonNull( reactorContext, "reactorContext is not allowed to be null." );

    ProjectDependencyGraph projectDependencyGraph = session.getProjectDependencyGraph();

    List<MavenProject> intermediateResult = new LinkedList<>();

    for ( MavenProject selectedProject : selectedProjects )
    {
        intermediateResult.add( selectedProject );
        // Up or downstream ? (-amd)
        intermediateResult.addAll( projectDependencyGraph.getDownstreamProjects( selectedProject, true ) );
        // TODO: Need to think about this? -am ?
        // intermediateResult.addAll(projectDependencyGraph.getUpstreamProjects(selectedProject,
        // true));
    }

    List<MavenProject> result = new LinkedList<>();

    for ( MavenProject project : intermediateResult )
    {
        if ( !result.contains( project ) )
        {
            result.add( project );
        }
    }

    this.projects = result;

}
 
示例4
@BeforeEach
void before() {
    MavenProject mockTLProject = mock(MavenProject.class);
    when(mockTLProject.getProperties()).thenReturn(projectProperties);
    when(mavenSessionMock.getTopLevelProject()).thenReturn(mockTLProject);

    when(mavenSessionMock.getRequest()).thenReturn(mock(MavenExecutionRequest.class));

    when(mavenSessionMock.getProjectDependencyGraph()).thenReturn(mock(ProjectDependencyGraph.class));

    Whitebox.setInternalState(underTest, new Configuration.Provider(mavenSessionMock));
}
 
示例5
public String renderCriticalPath(ProjectDependencyGraph graph) {
  return renderCriticalPath(DependencyGraph.fromMaven(graph), p -> projectGA(p));
}
 
示例6
public static Comparator<MavenProject> create(MavenSession session) {
  final ProjectDependencyGraph dependencyGraph = session.getProjectDependencyGraph();
  return create0(DependencyGraph.fromMaven(dependencyGraph), ImmutableMap.of(), p -> id(p));
}