diff --git a/daemon/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java b/daemon/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java index e8a9e397..8794a625 100644 --- a/daemon/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java +++ b/daemon/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java @@ -1,3 +1,18 @@ +/* + * Copyright 2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.apache.maven.graph; /* @@ -18,7 +33,6 @@ package org.apache.maven.graph; * specific language governing permissions and limitations * under the License. */ - import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -26,7 +40,6 @@ import java.util.HashSet; import java.util.List; import java.util.Objects; import java.util.Set; - import org.apache.maven.execution.ProjectDependencyGraph; import org.apache.maven.project.DuplicateProjectException; import org.apache.maven.project.MavenProject; @@ -39,8 +52,7 @@ import org.codehaus.plexus.util.dag.CycleDetectedException; * @author Benjamin Bentmann */ public class DefaultProjectDependencyGraph - implements ProjectDependencyGraph -{ + implements ProjectDependencyGraph { private ProjectSorter sorter; @@ -49,103 +61,88 @@ public class DefaultProjectDependencyGraph /** * Creates a new project dependency graph based on the specified projects. * - * @param projects The projects to create the dependency graph with + * @param projects The projects to create the dependency graph with * @throws DuplicateProjectException * @throws CycleDetectedException */ - public DefaultProjectDependencyGraph( Collection projects ) - throws CycleDetectedException, DuplicateProjectException - { + public DefaultProjectDependencyGraph(Collection projects) + throws CycleDetectedException, DuplicateProjectException { super(); - this.allProjects = Collections.unmodifiableList( new ArrayList<>( projects ) ); - this.sorter = new ProjectSorter( projects ); + this.allProjects = Collections.unmodifiableList(new ArrayList<>(projects)); + this.sorter = new ProjectSorter(projects); } /** * Creates a new project dependency graph based on the specified projects. * - * @param allProjects All collected projects. - * @param projects The projects to create the dependency graph with. + * @param allProjects All collected projects. + * @param projects The projects to create the dependency graph with. * * @throws DuplicateProjectException * @throws CycleDetectedException - * @since 3.5.0 + * @since 3.5.0 */ - public DefaultProjectDependencyGraph( final List allProjects, - final Collection projects ) - throws CycleDetectedException, DuplicateProjectException - { + public DefaultProjectDependencyGraph(final List allProjects, + final Collection projects) + throws CycleDetectedException, DuplicateProjectException { super(); - this.allProjects = Collections.unmodifiableList( new ArrayList<>( allProjects ) ); - this.sorter = new ProjectSorter( projects ); + this.allProjects = Collections.unmodifiableList(new ArrayList<>(allProjects)); + this.sorter = new ProjectSorter(projects); } /** * @since 3.5.0 */ - public List getAllProjects() - { + public List getAllProjects() { return this.allProjects; } - public List getSortedProjects() - { - return new ArrayList<>( sorter.getSortedProjects() ); + public List getSortedProjects() { + return new ArrayList<>(sorter.getSortedProjects()); } - public List getDownstreamProjects( MavenProject project, boolean transitive ) - { - Objects.requireNonNull( project, "project cannot be null" ); + public List getDownstreamProjects(MavenProject project, boolean transitive) { + Objects.requireNonNull(project, "project cannot be null"); Set projectIds = new HashSet<>(); - getDownstreamProjects( ProjectSorter.getId( project ), projectIds, transitive ); + getDownstreamProjects(ProjectSorter.getId(project), projectIds, transitive); - return getSortedProjects( projectIds ); + return getSortedProjects(projectIds); } - private void getDownstreamProjects( String projectId, Set projectIds, boolean transitive ) - { - for ( String id : sorter.getDependents( projectId ) ) - { - if ( projectIds.add( id ) && transitive ) - { - getDownstreamProjects( id, projectIds, transitive ); + private void getDownstreamProjects(String projectId, Set projectIds, boolean transitive) { + for (String id : sorter.getDependents(projectId)) { + if (projectIds.add(id) && transitive) { + getDownstreamProjects(id, projectIds, transitive); } } } - public List getUpstreamProjects( MavenProject project, boolean transitive ) - { - Objects.requireNonNull( project, "project cannot be null" ); + public List getUpstreamProjects(MavenProject project, boolean transitive) { + Objects.requireNonNull(project, "project cannot be null"); Set projectIds = new HashSet<>(); - getUpstreamProjects( ProjectSorter.getId( project ), projectIds, transitive ); + getUpstreamProjects(ProjectSorter.getId(project), projectIds, transitive); - return getSortedProjects( projectIds ); + return getSortedProjects(projectIds); } - private void getUpstreamProjects( String projectId, Collection projectIds, boolean transitive ) - { - for ( String id : sorter.getDependencies( projectId ) ) - { - if ( projectIds.add( id ) && transitive ) - { - getUpstreamProjects( id, projectIds, transitive ); + private void getUpstreamProjects(String projectId, Collection projectIds, boolean transitive) { + for (String id : sorter.getDependencies(projectId)) { + if (projectIds.add(id) && transitive) { + getUpstreamProjects(id, projectIds, transitive); } } } - private List getSortedProjects( Set projectIds ) - { - List result = new ArrayList<>( projectIds.size() ); + private List getSortedProjects(Set projectIds) { + List result = new ArrayList<>(projectIds.size()); - for ( MavenProject mavenProject : sorter.getSortedProjects() ) - { - if ( projectIds.contains( ProjectSorter.getId( mavenProject ) ) ) - { - result.add( mavenProject ); + for (MavenProject mavenProject : sorter.getSortedProjects()) { + if (projectIds.contains(ProjectSorter.getId(mavenProject))) { + result.add(mavenProject); } } @@ -153,8 +150,7 @@ public class DefaultProjectDependencyGraph } @Override - public String toString() - { + public String toString() { return sorter.getSortedProjects().toString(); }