Bump parent from 37 to 39 (#36)
diff --git a/pom.xml b/pom.xml
index 0938ed8..fc068ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='UTF-8'?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-components</artifactId>
- <version>37</version>
+ <version>39</version>
<relativePath />
</parent>
@@ -33,11 +33,17 @@
<name>Apache Maven Dependency Tree</name>
<description>A tree-based API for resolution of Maven project dependencies</description>
+ <contributors>
+ <contributor>
+ <name>Tuomas Kiviaho</name>
+ </contributor>
+ </contributors>
+
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/maven-dependency-tree.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-dependency-tree.git</developerConnection>
- <url>https://github.com/apache/maven-dependency-tree/tree/${project.scm.tag}</url>
<tag>HEAD</tag>
+ <url>https://github.com/apache/maven-dependency-tree/tree/${project.scm.tag}</url>
</scm>
<issueManagement>
<system>jira</system>
@@ -61,12 +67,6 @@
<project.build.outputTimestamp>2022-11-16T01:25:26Z</project.build.outputTimestamp>
</properties>
- <contributors>
- <contributor>
- <name>Tuomas Kiviaho</name>
- </contributor>
- </contributors>
-
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorBuilder.java
index 48c0a77..e0fa14a 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.project.ProjectBuildingRequest;
@@ -25,26 +24,24 @@
/**
* Maven project dependency raw dependency collector API, providing an abstraction layer against Maven 3 and Maven 3.1+
* particular Aether implementations.
- *
+ *
* @author Gabriel Belingueres
* @since 3.1.0
*/
-public interface DependencyCollectorBuilder
-{
+public interface DependencyCollectorBuilder {
/**
* collect the project's raw dependency graph, with information to allow the API client to reason on its own about
* dependencies.
- *
+ *
* @param buildingRequest the request with the project to process its dependencies.
* @param filter an artifact filter if not all dependencies are required (can be <code>null</code>)
* @return the raw dependency tree
* @throws DependencyCollectorBuilderException if some of the dependencies could not be collected.
*/
- default DependencyNode collectDependencyGraph( ProjectBuildingRequest buildingRequest, ArtifactFilter filter )
- throws DependencyCollectorBuilderException
- {
- return collectDependencyGraph( new DependencyCollectorRequest( buildingRequest, filter ) );
+ default DependencyNode collectDependencyGraph(ProjectBuildingRequest buildingRequest, ArtifactFilter filter)
+ throws DependencyCollectorBuilderException {
+ return collectDependencyGraph(new DependencyCollectorRequest(buildingRequest, filter));
}
/**
@@ -56,7 +53,6 @@
* @throws DependencyCollectorBuilderException if some of the dependencies could not be collected.
* @since 3.2.1
*/
- DependencyNode collectDependencyGraph( DependencyCollectorRequest dependencyCollectorRequest )
+ DependencyNode collectDependencyGraph(DependencyCollectorRequest dependencyCollectorRequest)
throws DependencyCollectorBuilderException;
-
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorBuilderException.java b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorBuilderException.java
index 866213d..0e53c74 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorBuilderException.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorBuilderException.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,18 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph;
/**
* Indicates an issue with the DependencyCollectorBuilder
- *
+ *
* @author Robert Scholte
* @since 3.1.0
*/
-public class DependencyCollectorBuilderException
- extends Exception
-{
+public class DependencyCollectorBuilderException extends Exception {
/**
- *
+ *
*/
private static final long serialVersionUID = 1305852327231950979L;
@@ -38,17 +35,15 @@
/**
* @param message Message indicating why dependency graph could not be resolved.
*/
- public DependencyCollectorBuilderException( String message )
- {
- super( message );
+ public DependencyCollectorBuilderException(String message) {
+ super(message);
}
/**
* @param message Message indicating why dependency graph could not be resolved.
* @param cause Throwable indicating at which point the graph failed to be resolved.
*/
- public DependencyCollectorBuilderException( String message, Throwable cause )
- {
- super( message, cause );
+ public DependencyCollectorBuilderException(String message, Throwable cause) {
+ super(message, cause);
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorRequest.java b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorRequest.java
index 450650e..a290580 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorRequest.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyCollectorRequest.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.project.ProjectBuildingRequest;
@@ -35,10 +38,6 @@
import org.eclipse.aether.util.graph.transformer.NearestVersionSelector;
import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
-
/**
* <div>
* This class will carry various options used by
@@ -77,8 +76,7 @@
* </div>
* @since 3.2.1
*/
-public class DependencyCollectorRequest
-{
+public class DependencyCollectorRequest {
private final ProjectBuildingRequest buildingRequest;
@@ -87,76 +85,65 @@
private Map<String, Object> configProperties = new HashMap<>();
private DependencySelector dependencySelector = new AndDependencySelector(
- new DirectScopeDependencySelector( JavaScopes.TEST ),
- new DirectScopeDependencySelector( JavaScopes.PROVIDED ),
+ new DirectScopeDependencySelector(JavaScopes.TEST),
+ new DirectScopeDependencySelector(JavaScopes.PROVIDED),
new OptionalDependencySelector(),
- new ExclusionDependencySelector() );
+ new ExclusionDependencySelector());
private DependencyGraphTransformer dependencyGraphTransformer = new ConflictResolver(
new NearestVersionSelector(),
new VerboseJavaScopeSelector(),
new SimpleOptionalitySelector(),
- new JavaScopeDeriver() );
+ new JavaScopeDeriver());
- public DependencyCollectorRequest( ProjectBuildingRequest buildingRequest )
- {
- this( buildingRequest, null );
+ public DependencyCollectorRequest(ProjectBuildingRequest buildingRequest) {
+ this(buildingRequest, null);
}
- public DependencyCollectorRequest( ProjectBuildingRequest buildingRequest, ArtifactFilter filter )
- {
- Objects.requireNonNull( buildingRequest, "ProjectBuildingRequest cannot be null" );
+ public DependencyCollectorRequest(ProjectBuildingRequest buildingRequest, ArtifactFilter filter) {
+ Objects.requireNonNull(buildingRequest, "ProjectBuildingRequest cannot be null");
this.buildingRequest = buildingRequest;
this.filter = filter;
- configProperties.put( ConflictResolver.CONFIG_PROP_VERBOSE, true );
- configProperties.put( DependencyManagerUtils.CONFIG_PROP_VERBOSE, true );
+ configProperties.put(ConflictResolver.CONFIG_PROP_VERBOSE, true);
+ configProperties.put(DependencyManagerUtils.CONFIG_PROP_VERBOSE, true);
}
- public ProjectBuildingRequest getBuildingRequest()
- {
+ public ProjectBuildingRequest getBuildingRequest() {
return buildingRequest;
}
- public ArtifactFilter getFilter()
- {
+ public ArtifactFilter getFilter() {
return filter;
}
- public DependencySelector getDependencySelector()
- {
+ public DependencySelector getDependencySelector() {
return dependencySelector;
}
- public DependencyCollectorRequest dependencySelector( DependencySelector dependencySelector )
- {
+ public DependencyCollectorRequest dependencySelector(DependencySelector dependencySelector) {
this.dependencySelector = dependencySelector;
return this;
}
- public DependencyGraphTransformer getDependencyGraphTransformer()
- {
+ public DependencyGraphTransformer getDependencyGraphTransformer() {
return dependencyGraphTransformer;
}
public DependencyCollectorRequest dependencyGraphTransformer(
- DependencyGraphTransformer dependencyGraphTransformer )
- {
+ DependencyGraphTransformer dependencyGraphTransformer) {
this.dependencyGraphTransformer = dependencyGraphTransformer;
return this;
}
- public Map<String, Object> getConfigProperties()
- {
+ public Map<String, Object> getConfigProperties() {
return this.configProperties;
}
- public void addConfigProperty( String key, Object value )
- {
- this.configProperties.put( key, value );
+ public void addConfigProperty(String key, Object value) {
+ this.configProperties.put(key, value);
}
- public void removeConfigProperty( String key )
- {
- this.configProperties.remove( key );
+ public void removeConfigProperty(String key) {
+ this.configProperties.remove(key);
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java
index cab4ce8..96b9ce3 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,21 +16,21 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph;
+
+import java.util.Collection;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuildingRequest;
-import java.util.Collection;
-
/**
* Maven project dependency graph builder API, neutral against Maven 2 or Maven 3.
*
* @author Hervé Boutemy
* @since 2.0
*/
-public interface DependencyGraphBuilder
-{
+public interface DependencyGraphBuilder {
/**
* Build the dependency graph.
*
@@ -41,8 +39,8 @@
* @return the dependency graph
* @throws DependencyGraphBuilderException if some of the dependencies could not be resolved.
*/
- DependencyNode buildDependencyGraph( ProjectBuildingRequest buildingRequest, ArtifactFilter filter )
- throws DependencyGraphBuilderException;
+ DependencyNode buildDependencyGraph(ProjectBuildingRequest buildingRequest, ArtifactFilter filter)
+ throws DependencyGraphBuilderException;
/**
*
@@ -54,10 +52,9 @@
* @deprecated Use {@link #buildDependencyGraph(ProjectBuildingRequest, ArtifactFilter)} instead
*/
@Deprecated
- default DependencyNode buildDependencyGraph( ProjectBuildingRequest buildingRequest, ArtifactFilter filter,
- Collection<MavenProject> reactorProjects )
- throws DependencyGraphBuilderException
- {
- return buildDependencyGraph( buildingRequest, filter );
+ default DependencyNode buildDependencyGraph(
+ ProjectBuildingRequest buildingRequest, ArtifactFilter filter, Collection<MavenProject> reactorProjects)
+ throws DependencyGraphBuilderException {
+ return buildDependencyGraph(buildingRequest, filter);
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilderException.java b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilderException.java
index 9d92bda..c71f970 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilderException.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilderException.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph;
/**
* Indicates that a Maven project's dependency graph cannot be resolved.
@@ -25,9 +24,7 @@
* @author Hervé Boutemy
* @since 2.0
*/
-public class DependencyGraphBuilderException
- extends Exception
-{
+public class DependencyGraphBuilderException extends Exception {
private static final long serialVersionUID = -7428777046707410949L;
// constructors -----------------------------------------------------------
@@ -35,17 +32,15 @@
/**
* @param message Message indicating why dependency graph could not be resolved.
*/
- public DependencyGraphBuilderException( String message )
- {
- super( message );
+ public DependencyGraphBuilderException(String message) {
+ super(message);
}
/**
* @param message Message indicating why dependency graph could not be resolved.
* @param cause Throwable indicating at which point the graph failed to be resolved.
*/
- public DependencyGraphBuilderException( String message, Throwable cause )
- {
- super( message, cause );
+ public DependencyGraphBuilderException(String message, Throwable cause) {
+ super(message, cause);
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyNode.java b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyNode.java
index e46d6a5..1f925a5 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/DependencyNode.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/DependencyNode.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph;
import java.util.List;
@@ -32,8 +31,7 @@
* @author Hervé Boutemy
* @since 2.0
*/
-public interface DependencyNode
-{
+public interface DependencyNode {
/**
* @return Artifact for this DependencyNode.
*/
@@ -46,30 +44,30 @@
/**
* Applies the specified dependency node visitor to this dependency node and its children.
- *
+ *
* @param visitor the dependency node visitor to use
* @return the visitor result of ending the visit to this node
* @since 1.1
*/
- boolean accept( DependencyNodeVisitor visitor );
+ boolean accept(DependencyNodeVisitor visitor);
/**
* Gets the parent dependency node of this dependency node.
- *
+ *
* @return the parent dependency node
*/
DependencyNode getParent();
/**
* Gets the version or version range for the dependency before dependency management was applied (if any).
- *
+ *
* @return The dependency version before dependency management or {@code null} if the version was not managed.
*/
String getPremanagedVersion();
/**
* Gets the scope for the dependency before dependency management was applied (if any).
- *
+ *
* @return The dependency scope before dependency management or {@code null} if the scope was not managed.
*/
String getPremanagedScope();
@@ -77,14 +75,14 @@
/**
* A constraint on versions for a dependency. A constraint can either consist of one or more version ranges or a
* single version.
- *
+ *
* @return The constraint on the dependency.
*/
String getVersionConstraint();
/**
* Returns a string representation of this dependency node.
- *
+ *
* @return the string representation
*/
String toNodeString();
@@ -93,9 +91,9 @@
* @return true for an optional dependency.
*/
Boolean getOptional();
-
+
/**
- *
+ *
* @return the exclusions of the dependency
*/
List<Exclusion> getExclusions();
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/filter/AncestorOrSelfDependencyNodeFilter.java b/src/main/java/org/apache/maven/shared/dependency/graph/filter/AncestorOrSelfDependencyNodeFilter.java
index f26c4e3..e96684d 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/filter/AncestorOrSelfDependencyNodeFilter.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/filter/AncestorOrSelfDependencyNodeFilter.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.filter;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.filter;
import java.util.Collections;
import java.util.List;
@@ -26,14 +25,12 @@
/**
* A dependency node filter than only accepts nodes that are ancestors of, or equal to, a given list of nodes.
- *
+ *
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
* @version $Id$
* @since 1.1
*/
-public class AncestorOrSelfDependencyNodeFilter
- implements DependencyNodeFilter
-{
+public class AncestorOrSelfDependencyNodeFilter implements DependencyNodeFilter {
// fields -----------------------------------------------------------------
/**
@@ -43,19 +40,17 @@
// constructors -----------------------------------------------------------
- public AncestorOrSelfDependencyNodeFilter( DependencyNode descendantNode )
- {
- this( Collections.singletonList( descendantNode ) );
+ public AncestorOrSelfDependencyNodeFilter(DependencyNode descendantNode) {
+ this(Collections.singletonList(descendantNode));
}
/**
* Creates a dependency node filter that only accepts nodes that are ancestors of, or equal to, the specified list
* of nodes.
- *
+ *
* @param descendantNodes the list of nodes to accept ancestors-or-self of
*/
- public AncestorOrSelfDependencyNodeFilter( List<DependencyNode> descendantNodes )
- {
+ public AncestorOrSelfDependencyNodeFilter(List<DependencyNode> descendantNodes) {
this.descendantNodes = descendantNodes;
}
@@ -65,12 +60,9 @@
* {@inheritDoc}
*/
@Override
- public boolean accept( DependencyNode node )
- {
- for ( DependencyNode descendantNode : descendantNodes )
- {
- if ( isAncestorOrSelf( node, descendantNode ) )
- {
+ public boolean accept(DependencyNode node) {
+ for (DependencyNode descendantNode : descendantNodes) {
+ if (isAncestorOrSelf(node, descendantNode)) {
return true;
}
}
@@ -82,18 +74,16 @@
/**
* Gets whether the first dependency node is an ancestor-or-self of the second.
- *
+ *
* @param ancestorNode the ancestor-or-self dependency node
* @param descendantNode the dependency node to test
* @return <code>true</code> if <code>ancestorNode</code> is an ancestor, or equal to, <code>descendantNode</code>
*/
- private boolean isAncestorOrSelf( DependencyNode ancestorNode, DependencyNode descendantNode )
- {
+ private boolean isAncestorOrSelf(DependencyNode ancestorNode, DependencyNode descendantNode) {
boolean ancestor = false;
- while ( !ancestor && descendantNode != null )
- {
- ancestor = ancestorNode.equals( descendantNode );
+ while (!ancestor && descendantNode != null) {
+ ancestor = ancestorNode.equals(descendantNode);
descendantNode = descendantNode.getParent();
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/filter/AndDependencyNodeFilter.java b/src/main/java/org/apache/maven/shared/dependency/graph/filter/AndDependencyNodeFilter.java
index 84c0829..99b1917 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/filter/AndDependencyNodeFilter.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/filter/AndDependencyNodeFilter.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.filter;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.filter;
import java.util.Arrays;
import java.util.Collections;
@@ -27,14 +26,12 @@
/**
* A dependency node filter that logically ANDs together a number of other dependency node filters.
- *
+ *
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
* @version $Id$
* @since 1.1
*/
-public class AndDependencyNodeFilter
- implements DependencyNodeFilter
-{
+public class AndDependencyNodeFilter implements DependencyNodeFilter {
// fields -----------------------------------------------------------------
/**
@@ -46,23 +43,21 @@
/**
* Creates a dependency node filter that logically ANDs together the two specified dependency node filters.
- *
+ *
* @param filter1 the first dependency node filter to logically AND together
* @param filter2 the second dependency node filter to logically AND together
*/
- public AndDependencyNodeFilter( DependencyNodeFilter filter1, DependencyNodeFilter filter2 )
- {
- this( Arrays.asList( filter1, filter2 ) );
+ public AndDependencyNodeFilter(DependencyNodeFilter filter1, DependencyNodeFilter filter2) {
+ this(Arrays.asList(filter1, filter2));
}
/**
* Creates a dependency node filter that logically ANDs together the specified dependency node filters.
- *
+ *
* @param filters the list of dependency node filters to logically AND together
*/
- public AndDependencyNodeFilter( List<DependencyNodeFilter> filters )
- {
- this.filters = Collections.unmodifiableList( filters );
+ public AndDependencyNodeFilter(List<DependencyNodeFilter> filters) {
+ this.filters = Collections.unmodifiableList(filters);
}
// DependencyNodeFilter methods -------------------------------------------
@@ -71,12 +66,9 @@
* {@inheritDoc}
*/
@Override
- public boolean accept( DependencyNode node )
- {
- for ( DependencyNodeFilter filter : filters )
- {
- if ( !filter.accept( node ) )
- {
+ public boolean accept(DependencyNode node) {
+ for (DependencyNodeFilter filter : filters) {
+ if (!filter.accept(node)) {
return false;
}
}
@@ -88,11 +80,10 @@
/**
* Gets the list of dependency node filters that this filter ANDs together.
- *
+ *
* @return the dependency node filters that this filter ANDs together
*/
- public List<DependencyNodeFilter> getDependencyNodeFilters()
- {
+ public List<DependencyNodeFilter> getDependencyNodeFilters() {
return filters;
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/filter/ArtifactDependencyNodeFilter.java b/src/main/java/org/apache/maven/shared/dependency/graph/filter/ArtifactDependencyNodeFilter.java
index 829f625..6da097d 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/filter/ArtifactDependencyNodeFilter.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/filter/ArtifactDependencyNodeFilter.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.filter;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.filter;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -25,14 +24,12 @@
/**
* A dependency node filter that delegates to an artifact filter.
- *
+ *
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
* @version $Id$
* @since 1.1
*/
-public class ArtifactDependencyNodeFilter
- implements DependencyNodeFilter
-{
+public class ArtifactDependencyNodeFilter implements DependencyNodeFilter {
// fields -----------------------------------------------------------------
/**
@@ -44,11 +41,10 @@
/**
* Creates a dependency node filter that delegates to the specified artifact filter.
- *
+ *
* @param filter the artifact filter to delegate to
*/
- public ArtifactDependencyNodeFilter( ArtifactFilter filter )
- {
+ public ArtifactDependencyNodeFilter(ArtifactFilter filter) {
this.filter = filter;
}
@@ -58,22 +54,20 @@
* {@inheritDoc}
*/
@Override
- public boolean accept( DependencyNode node )
- {
+ public boolean accept(DependencyNode node) {
Artifact artifact = node.getArtifact();
- return filter.include( artifact );
+ return filter.include(artifact);
}
// public methods ---------------------------------------------------------
/**
* Gets the artifact filter this dependency node filter delegates to.
- *
+ *
* @return the artifact filter this dependency node filter delegates to
*/
- public ArtifactFilter getArtifactFilter()
- {
+ public ArtifactFilter getArtifactFilter() {
return filter;
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/filter/DependencyNodeFilter.java b/src/main/java/org/apache/maven/shared/dependency/graph/filter/DependencyNodeFilter.java
index 0d508d0..5949ff4 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/filter/DependencyNodeFilter.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/filter/DependencyNodeFilter.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.filter;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,23 +16,23 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.filter;
import org.apache.maven.shared.dependency.graph.DependencyNode;
/**
* Defines a filter for dependency nodes.
- *
+ *
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
* @version $Id$
* @since 1.1
*/
-public interface DependencyNodeFilter
-{
+public interface DependencyNodeFilter {
/**
* Gets whether this filter accepts the specified dependency node.
- *
+ *
* @param node the dependency node to check
* @return <code>true</code> if this filter accepts the specified dependency node
*/
- boolean accept( DependencyNode node );
+ boolean accept(DependencyNode node);
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/ConflictData.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/ConflictData.java
index 9393c66..1ee9f43 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/ConflictData.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/ConflictData.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.internal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,56 +16,48 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.internal;
/**
- * Excplicit subset of Aethers DependencyNode.getData()
- *
- * @author Robert Scholte
+ * Explicit subset of Aether's DependencyNode.getData().
*
+ * @author Robert Scholte
*/
-public class ConflictData
-{
+public class ConflictData {
private String winnerVersion;
private String originalScope;
-
+
private String ignoredScope;
-
+
private Boolean originaOptionality;
-
- public ConflictData( String winnerVersion, String ignoredScope )
- {
+
+ public ConflictData(String winnerVersion, String ignoredScope) {
this.winnerVersion = winnerVersion;
this.ignoredScope = ignoredScope;
}
-
- public String getWinnerVersion()
- {
+
+ public String getWinnerVersion() {
return winnerVersion;
}
-
- public String getOriginalScope()
- {
+
+ public String getOriginalScope() {
return originalScope;
}
- public void setOriginalScope( String originalScope )
- {
+ public void setOriginalScope(String originalScope) {
this.originalScope = originalScope;
}
- public Boolean getOriginaOptionality()
- {
+ public Boolean getOriginaOptionality() {
return originaOptionality;
}
- public void setOriginaOptionality( Boolean originaOptionality )
- {
+ public void setOriginaOptionality(Boolean originaOptionality) {
this.originaOptionality = originaOptionality;
}
- public String getIgnoredScope()
- {
+ public String getIgnoredScope() {
return ignoredScope;
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyCollectorBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyCollectorBuilder.java
index b30f782..3a436eb 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyCollectorBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyCollectorBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.internal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,15 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.internal;
+
+import javax.inject.Inject;
+import javax.inject.Named;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import javax.inject.Inject;
-import javax.inject.Named;
-
import org.apache.maven.RepositoryUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -56,31 +55,26 @@
/**
* Project dependency raw dependency collector API, abstracting Maven 3.1+'s Aether implementation.
- *
+ *
* @author Gabriel Belingueres
* @since 3.1.0
*/
@Named
-public class DefaultDependencyCollectorBuilder
- implements DependencyCollectorBuilder
-{
- private static final Logger LOGGER = LoggerFactory.getLogger( DefaultDependencyCollectorBuilder.class );
+public class DefaultDependencyCollectorBuilder implements DependencyCollectorBuilder {
+ private static final Logger LOGGER = LoggerFactory.getLogger(DefaultDependencyCollectorBuilder.class);
private final RepositorySystem repositorySystem;
@Inject
- public DefaultDependencyCollectorBuilder( RepositorySystem repositorySystem )
- {
+ public DefaultDependencyCollectorBuilder(RepositorySystem repositorySystem) {
this.repositorySystem = repositorySystem;
}
@Override
- public DependencyNode collectDependencyGraph( DependencyCollectorRequest dependencyCollectorRequest )
- throws DependencyCollectorBuilderException
- {
+ public DependencyNode collectDependencyGraph(DependencyCollectorRequest dependencyCollectorRequest)
+ throws DependencyCollectorBuilderException {
DefaultRepositorySystemSession session = null;
- try
- {
+ try {
ProjectBuildingRequest buildingRequest = dependencyCollectorRequest.getBuildingRequest();
MavenProject project = buildingRequest.getProject();
@@ -89,177 +83,160 @@
RepositorySystemSession repositorySession = buildingRequest.getRepositorySession();
- session = new DefaultRepositorySystemSession( repositorySession );
+ session = new DefaultRepositorySystemSession(repositorySession);
- session.setDependencyGraphTransformer( dependencyCollectorRequest.getDependencyGraphTransformer() );
+ session.setDependencyGraphTransformer(dependencyCollectorRequest.getDependencyGraphTransformer());
- session.setDependencySelector( dependencyCollectorRequest.getDependencySelector() );
+ session.setDependencySelector(dependencyCollectorRequest.getDependencySelector());
- for ( Map.Entry<String, Object> entry : dependencyCollectorRequest.getConfigProperties().entrySet() )
- {
- session.setConfigProperty( entry.getKey(), entry.getValue() );
+ for (Map.Entry<String, Object> entry :
+ dependencyCollectorRequest.getConfigProperties().entrySet()) {
+ session.setConfigProperty(entry.getKey(), entry.getValue());
}
- org.eclipse.aether.artifact.Artifact aetherArtifact = RepositoryUtils.toArtifact( projectArtifact );
+ org.eclipse.aether.artifact.Artifact aetherArtifact = RepositoryUtils.toArtifact(projectArtifact);
List<org.eclipse.aether.repository.RemoteRepository> aetherRepos =
- RepositoryUtils.toRepos( remoteArtifactRepositories );
+ RepositoryUtils.toRepos(remoteArtifactRepositories);
CollectRequest collectRequest = new CollectRequest();
- collectRequest.setRootArtifact( aetherArtifact );
- collectRequest.setRepositories( aetherRepos );
+ collectRequest.setRootArtifact(aetherArtifact);
+ collectRequest.setRepositories(aetherRepos);
org.eclipse.aether.artifact.ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry();
- collectDependencyList( collectRequest, project, stereotypes );
- collectManagedDependencyList( collectRequest, project, stereotypes );
+ collectDependencyList(collectRequest, project, stereotypes);
+ collectManagedDependencyList(collectRequest, project, stereotypes);
- CollectResult collectResult = repositorySystem.collectDependencies( session, collectRequest );
+ CollectResult collectResult = repositorySystem.collectDependencies(session, collectRequest);
org.eclipse.aether.graph.DependencyNode rootNode = collectResult.getRoot();
- if ( LOGGER.isDebugEnabled() )
- {
- logTree( rootNode );
+ if (LOGGER.isDebugEnabled()) {
+ logTree(rootNode);
}
- return buildDependencyNode( null, rootNode, projectArtifact, dependencyCollectorRequest.getFilter() );
- }
- catch ( DependencyCollectionException e )
- {
- throw new DependencyCollectorBuilderException( "Could not collect dependencies: " + e.getResult(), e );
- }
- finally
- {
- if ( session != null )
- {
+ return buildDependencyNode(null, rootNode, projectArtifact, dependencyCollectorRequest.getFilter());
+ } catch (DependencyCollectionException e) {
+ throw new DependencyCollectorBuilderException("Could not collect dependencies: " + e.getResult(), e);
+ } finally {
+ if (session != null) {
session.setReadOnly();
}
}
}
- private void logTree( org.eclipse.aether.graph.DependencyNode rootNode )
- {
+ private void logTree(org.eclipse.aether.graph.DependencyNode rootNode) {
// print the node tree with its associated data Map
- rootNode.accept( new TreeDependencyVisitor( new DependencyVisitor()
- {
+ rootNode.accept(new TreeDependencyVisitor(new DependencyVisitor() {
String indent = "";
@Override
- public boolean visitEnter( org.eclipse.aether.graph.DependencyNode dependencyNode )
- {
- LOGGER.debug( "{}Aether node: {} data map: {}", indent, dependencyNode, dependencyNode.getData() );
+ public boolean visitEnter(org.eclipse.aether.graph.DependencyNode dependencyNode) {
+ LOGGER.debug("{}Aether node: {} data map: {}", indent, dependencyNode, dependencyNode.getData());
indent += " ";
return true;
}
@Override
- public boolean visitLeave( org.eclipse.aether.graph.DependencyNode dependencyNode )
- {
- indent = indent.substring( 0, indent.length() - 4 );
+ public boolean visitLeave(org.eclipse.aether.graph.DependencyNode dependencyNode) {
+ indent = indent.substring(0, indent.length() - 4);
return true;
}
- } ) );
+ }));
}
- private void collectManagedDependencyList( CollectRequest collectRequest, MavenProject project,
- ArtifactTypeRegistry stereotypes )
- {
- if ( project.getDependencyManagement() != null )
- {
- for ( Dependency dependency : project.getDependencyManagement().getDependencies() )
- {
- org.eclipse.aether.graph.Dependency aetherDep = RepositoryUtils.toDependency( dependency, stereotypes );
- collectRequest.addManagedDependency( aetherDep );
+ private void collectManagedDependencyList(
+ CollectRequest collectRequest, MavenProject project, ArtifactTypeRegistry stereotypes) {
+ if (project.getDependencyManagement() != null) {
+ for (Dependency dependency : project.getDependencyManagement().getDependencies()) {
+ org.eclipse.aether.graph.Dependency aetherDep = RepositoryUtils.toDependency(dependency, stereotypes);
+ collectRequest.addManagedDependency(aetherDep);
}
}
}
- private void collectDependencyList( CollectRequest collectRequest, MavenProject project,
- org.eclipse.aether.artifact.ArtifactTypeRegistry stereotypes )
- {
- for ( Dependency dependency : project.getDependencies() )
- {
- org.eclipse.aether.graph.Dependency aetherDep = RepositoryUtils.toDependency( dependency, stereotypes );
- collectRequest.addDependency( aetherDep );
+ private void collectDependencyList(
+ CollectRequest collectRequest,
+ MavenProject project,
+ org.eclipse.aether.artifact.ArtifactTypeRegistry stereotypes) {
+ for (Dependency dependency : project.getDependencies()) {
+ org.eclipse.aether.graph.Dependency aetherDep = RepositoryUtils.toDependency(dependency, stereotypes);
+ collectRequest.addDependency(aetherDep);
}
}
- private Artifact getDependencyArtifact( org.eclipse.aether.graph.Dependency dep )
- {
+ private Artifact getDependencyArtifact(org.eclipse.aether.graph.Dependency dep) {
org.eclipse.aether.artifact.Artifact artifact = dep.getArtifact();
- Artifact mavenArtifact = RepositoryUtils.toArtifact( artifact );
- mavenArtifact.setScope( dep.getScope() );
- mavenArtifact.setOptional( dep.isOptional() );
+ Artifact mavenArtifact = RepositoryUtils.toArtifact(artifact);
+ mavenArtifact.setScope(dep.getScope());
+ mavenArtifact.setOptional(dep.isOptional());
return mavenArtifact;
}
- private DependencyNode buildDependencyNode( DependencyNode parent, org.eclipse.aether.graph.DependencyNode node,
- Artifact artifact, ArtifactFilter filter )
- {
- String premanagedVersion = DependencyManagerUtils.getPremanagedVersion( node );
- String premanagedScope = DependencyManagerUtils.getPremanagedScope( node );
+ private DependencyNode buildDependencyNode(
+ DependencyNode parent,
+ org.eclipse.aether.graph.DependencyNode node,
+ Artifact artifact,
+ ArtifactFilter filter) {
+ String premanagedVersion = DependencyManagerUtils.getPremanagedVersion(node);
+ String premanagedScope = DependencyManagerUtils.getPremanagedScope(node);
Boolean optional = null;
- if ( node.getDependency() != null )
- {
+ if (node.getDependency() != null) {
optional = node.getDependency().isOptional();
}
-
+
List<org.apache.maven.model.Exclusion> exclusions = null;
- if ( node.getDependency() != null )
- {
- exclusions = new ArrayList<>( node.getDependency().getExclusions().size() );
- for ( Exclusion exclusion : node.getDependency().getExclusions() )
- {
+ if (node.getDependency() != null) {
+ exclusions = new ArrayList<>(node.getDependency().getExclusions().size());
+ for (Exclusion exclusion : node.getDependency().getExclusions()) {
org.apache.maven.model.Exclusion modelExclusion = new org.apache.maven.model.Exclusion();
- modelExclusion.setGroupId( exclusion.getGroupId() );
- modelExclusion.setArtifactId( exclusion.getArtifactId() );
- exclusions.add( modelExclusion );
+ modelExclusion.setGroupId(exclusion.getGroupId());
+ modelExclusion.setArtifactId(exclusion.getArtifactId());
+ exclusions.add(modelExclusion);
}
}
org.eclipse.aether.graph.DependencyNode winner =
- (org.eclipse.aether.graph.DependencyNode) node.getData().get( ConflictResolver.NODE_DATA_WINNER );
+ (org.eclipse.aether.graph.DependencyNode) node.getData().get(ConflictResolver.NODE_DATA_WINNER);
String winnerVersion = null;
String ignoredScope = null;
- if ( winner != null )
- {
+ if (winner != null) {
winnerVersion = winner.getArtifact().getBaseVersion();
+ } else {
+ ignoredScope = (String) node.getData().get(VerboseJavaScopeSelector.REDUCED_SCOPE);
}
- else
- {
- ignoredScope = (String) node.getData().get( VerboseJavaScopeSelector.REDUCED_SCOPE );
- }
-
- ConflictData data = new ConflictData( winnerVersion, ignoredScope );
-
- VerboseDependencyNode current =
- new VerboseDependencyNode( parent, artifact, premanagedVersion, premanagedScope,
- getVersionSelectedFromRange( node.getVersionConstraint() ), optional,
- exclusions, data );
- List<DependencyNode> nodes = new ArrayList<>( node.getChildren().size() );
- for ( org.eclipse.aether.graph.DependencyNode child : node.getChildren() )
- {
- Artifact childArtifact = getDependencyArtifact( child.getDependency() );
+ ConflictData data = new ConflictData(winnerVersion, ignoredScope);
- if ( ( filter == null ) || filter.include( childArtifact ) )
- {
- nodes.add( buildDependencyNode( current, child, childArtifact, filter ) );
+ VerboseDependencyNode current = new VerboseDependencyNode(
+ parent,
+ artifact,
+ premanagedVersion,
+ premanagedScope,
+ getVersionSelectedFromRange(node.getVersionConstraint()),
+ optional,
+ exclusions,
+ data);
+
+ List<DependencyNode> nodes = new ArrayList<>(node.getChildren().size());
+ for (org.eclipse.aether.graph.DependencyNode child : node.getChildren()) {
+ Artifact childArtifact = getDependencyArtifact(child.getDependency());
+
+ if ((filter == null) || filter.include(childArtifact)) {
+ nodes.add(buildDependencyNode(current, child, childArtifact, filter));
}
}
- current.setChildren( Collections.unmodifiableList( nodes ) );
+ current.setChildren(Collections.unmodifiableList(nodes));
return current;
}
- private String getVersionSelectedFromRange( VersionConstraint constraint )
- {
- if ( ( constraint == null ) || ( constraint.getVersion() != null ) )
- {
+ private String getVersionSelectedFromRange(VersionConstraint constraint) {
+ if ((constraint == null) || (constraint.getVersion() != null)) {
return null;
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java
index 599f5a5..955dc3d 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.internal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,16 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.internal;
-import static org.eclipse.aether.util.graph.manager.DependencyManagerUtils.NODE_DATA_PREMANAGED_VERSION;
+import javax.inject.Inject;
+import javax.inject.Named;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import javax.inject.Inject;
-import javax.inject.Named;
-
import org.apache.maven.RepositoryUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -49,6 +46,8 @@
import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
import org.eclipse.aether.version.VersionConstraint;
+import static org.eclipse.aether.util.graph.manager.DependencyManagerUtils.NODE_DATA_PREMANAGED_VERSION;
+
/**
* Wrapper around Eclipse Aether dependency resolver, used in Maven 3.1.
*
@@ -57,14 +56,11 @@
* @since 2.1
*/
@Named
-public class DefaultDependencyGraphBuilder
- implements DependencyGraphBuilder
-{
+public class DefaultDependencyGraphBuilder implements DependencyGraphBuilder {
private final ProjectDependenciesResolver resolver;
@Inject
- public DefaultDependencyGraphBuilder( ProjectDependenciesResolver resolver )
- {
+ public DefaultDependencyGraphBuilder(ProjectDependenciesResolver resolver) {
this.resolver = resolver;
}
@@ -77,105 +73,98 @@
* @throws DependencyGraphBuilderException if some of the dependencies could not be resolved.
*/
@Override
- public DependencyNode buildDependencyGraph( ProjectBuildingRequest buildingRequest, ArtifactFilter filter )
- throws DependencyGraphBuilderException
- {
+ public DependencyNode buildDependencyGraph(ProjectBuildingRequest buildingRequest, ArtifactFilter filter)
+ throws DependencyGraphBuilderException {
MavenProject project = buildingRequest.getProject();
RepositorySystemSession session = buildingRequest.getRepositorySession();
-
- if ( Boolean.TRUE != session.getConfigProperties().get( NODE_DATA_PREMANAGED_VERSION ) )
- {
- DefaultRepositorySystemSession newSession = new DefaultRepositorySystemSession( session );
- newSession.setConfigProperty( NODE_DATA_PREMANAGED_VERSION, true );
+
+ if (Boolean.TRUE != session.getConfigProperties().get(NODE_DATA_PREMANAGED_VERSION)) {
+ DefaultRepositorySystemSession newSession = new DefaultRepositorySystemSession(session);
+ newSession.setConfigProperty(NODE_DATA_PREMANAGED_VERSION, true);
session = newSession;
- }
+ }
final DependencyResolutionRequest request = new DefaultDependencyResolutionRequest();
- request.setMavenProject( project );
- request.setRepositorySession( session );
+ request.setMavenProject(project);
+ request.setRepositorySession(session);
// only download the poms, not the artifacts
- DependencyFilter collectFilter = ( node, parents ) -> false;
- request.setResolutionFilter( collectFilter );
+ DependencyFilter collectFilter = (node, parents) -> false;
+ request.setResolutionFilter(collectFilter);
- final DependencyResolutionResult result = resolveDependencies( request );
+ final DependencyResolutionResult result = resolveDependencies(request);
org.eclipse.aether.graph.DependencyNode graph = result.getDependencyGraph();
- return buildDependencyNode( null, graph, project.getArtifact(), filter );
+ return buildDependencyNode(null, graph, project.getArtifact(), filter);
}
- private DependencyResolutionResult resolveDependencies( DependencyResolutionRequest request )
- throws DependencyGraphBuilderException
- {
- try
- {
- return resolver.resolve( request );
- }
- catch ( DependencyResolutionException e )
- {
- throw new DependencyGraphBuilderException( "Could not resolve following dependencies: "
- + e.getResult().getUnresolvedDependencies(), e );
+ private DependencyResolutionResult resolveDependencies(DependencyResolutionRequest request)
+ throws DependencyGraphBuilderException {
+ try {
+ return resolver.resolve(request);
+ } catch (DependencyResolutionException e) {
+ throw new DependencyGraphBuilderException(
+ "Could not resolve following dependencies: " + e.getResult().getUnresolvedDependencies(), e);
}
}
- private Artifact getDependencyArtifact( Dependency dep )
- {
+ private Artifact getDependencyArtifact(Dependency dep) {
org.eclipse.aether.artifact.Artifact artifact = dep.getArtifact();
- Artifact mavenArtifact = RepositoryUtils.toArtifact( artifact );
+ Artifact mavenArtifact = RepositoryUtils.toArtifact(artifact);
- mavenArtifact.setScope( dep.getScope() );
- mavenArtifact.setOptional( dep.isOptional() );
+ mavenArtifact.setScope(dep.getScope());
+ mavenArtifact.setOptional(dep.isOptional());
return mavenArtifact;
}
- private DependencyNode buildDependencyNode( DependencyNode parent, org.eclipse.aether.graph.DependencyNode node,
- Artifact artifact, ArtifactFilter filter )
- {
- String premanagedVersion = DependencyManagerUtils.getPremanagedVersion( node );
- String premanagedScope = DependencyManagerUtils.getPremanagedScope( node );
+ private DependencyNode buildDependencyNode(
+ DependencyNode parent,
+ org.eclipse.aether.graph.DependencyNode node,
+ Artifact artifact,
+ ArtifactFilter filter) {
+ String premanagedVersion = DependencyManagerUtils.getPremanagedVersion(node);
+ String premanagedScope = DependencyManagerUtils.getPremanagedScope(node);
List<org.apache.maven.model.Exclusion> exclusions = null;
Boolean optional = null;
- if ( node.getDependency() != null )
- {
- exclusions = new ArrayList<>( node.getDependency().getExclusions().size() );
- for ( Exclusion exclusion : node.getDependency().getExclusions() )
- {
+ if (node.getDependency() != null) {
+ exclusions = new ArrayList<>(node.getDependency().getExclusions().size());
+ for (Exclusion exclusion : node.getDependency().getExclusions()) {
org.apache.maven.model.Exclusion modelExclusion = new org.apache.maven.model.Exclusion();
- modelExclusion.setGroupId( exclusion.getGroupId() );
- modelExclusion.setArtifactId( exclusion.getArtifactId() );
- exclusions.add( modelExclusion );
+ modelExclusion.setGroupId(exclusion.getGroupId());
+ modelExclusion.setArtifactId(exclusion.getArtifactId());
+ exclusions.add(modelExclusion);
}
}
- DefaultDependencyNode current =
- new DefaultDependencyNode( parent, artifact, premanagedVersion, premanagedScope,
- getVersionSelectedFromRange( node.getVersionConstraint() ),
- optional, exclusions );
+ DefaultDependencyNode current = new DefaultDependencyNode(
+ parent,
+ artifact,
+ premanagedVersion,
+ premanagedScope,
+ getVersionSelectedFromRange(node.getVersionConstraint()),
+ optional,
+ exclusions);
- List<DependencyNode> nodes = new ArrayList<>( node.getChildren().size() );
- for ( org.eclipse.aether.graph.DependencyNode child : node.getChildren() )
- {
- Artifact childArtifact = getDependencyArtifact( child.getDependency() );
+ List<DependencyNode> nodes = new ArrayList<>(node.getChildren().size());
+ for (org.eclipse.aether.graph.DependencyNode child : node.getChildren()) {
+ Artifact childArtifact = getDependencyArtifact(child.getDependency());
- if ( ( filter == null ) || filter.include( childArtifact ) )
- {
- nodes.add( buildDependencyNode( current, child, childArtifact, filter ) );
+ if ((filter == null) || filter.include(childArtifact)) {
+ nodes.add(buildDependencyNode(current, child, childArtifact, filter));
}
}
- current.setChildren( Collections.unmodifiableList( nodes ) );
+ current.setChildren(Collections.unmodifiableList(nodes));
return current;
}
- private String getVersionSelectedFromRange( VersionConstraint constraint )
- {
- if ( ( constraint == null ) || ( constraint.getVersion() != null ) )
- {
+ private String getVersionSelectedFromRange(VersionConstraint constraint) {
+ if ((constraint == null) || (constraint.getVersion() != null)) {
return null;
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyNode.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyNode.java
index 218bea1..1c2d712 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyNode.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyNode.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.internal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.internal;
import java.util.List;
@@ -29,10 +28,9 @@
/**
* Default implementation of a DependencyNode.
*/
-public class DefaultDependencyNode implements DependencyNode
-{
+public class DefaultDependencyNode implements DependencyNode {
private final Artifact artifact;
-
+
private final DependencyNode parent;
private final String premanagedVersion;
@@ -56,9 +54,12 @@
* @param premanagedScope the premanaged scope, may be {@code null}.
* @param versionConstraint the version constraint, may be {@code null.}
*/
- public DefaultDependencyNode( DependencyNode parent, Artifact artifact, String premanagedVersion,
- String premanagedScope, String versionConstraint )
- {
+ public DefaultDependencyNode(
+ DependencyNode parent,
+ Artifact artifact,
+ String premanagedVersion,
+ String premanagedScope,
+ String versionConstraint) {
this.parent = parent;
this.artifact = artifact;
this.premanagedVersion = premanagedVersion;
@@ -66,10 +67,14 @@
this.versionConstraint = versionConstraint;
}
- public DefaultDependencyNode( DependencyNode parent, Artifact artifact, String premanagedVersion,
- String premanagedScope, String versionConstraint, Boolean optional,
- List<Exclusion> exclusions )
- {
+ public DefaultDependencyNode(
+ DependencyNode parent,
+ Artifact artifact,
+ String premanagedVersion,
+ String premanagedScope,
+ String versionConstraint,
+ Boolean optional,
+ List<Exclusion> exclusions) {
this.parent = parent;
this.artifact = artifact;
this.premanagedVersion = premanagedVersion;
@@ -78,10 +83,9 @@
this.optional = optional;
this.exclusions = exclusions;
}
-
+
// user to refer to winner
- public DefaultDependencyNode( Artifact artifact )
- {
+ public DefaultDependencyNode(Artifact artifact) {
this.artifact = artifact;
this.parent = null;
this.premanagedScope = null;
@@ -91,34 +95,29 @@
/**
* Applies the specified dependency node visitor to this dependency node and its children.
- *
+ *
* @param visitor the dependency node visitor to use
* @return the visitor result of ending the visit to this node
* @since 1.1
*/
@Override
- public boolean accept( DependencyNodeVisitor visitor )
- {
- if ( visitor.visit( this ) )
- {
- for ( DependencyNode child : getChildren() )
- {
- if ( !child.accept( visitor ) )
- {
+ public boolean accept(DependencyNodeVisitor visitor) {
+ if (visitor.visit(this)) {
+ for (DependencyNode child : getChildren()) {
+ if (!child.accept(visitor)) {
break;
}
}
}
- return visitor.endVisit( this );
+ return visitor.endVisit(this);
}
/**
* @return Artifact for this DependencyNode.
*/
@Override
- public Artifact getArtifact()
- {
+ public Artifact getArtifact() {
return artifact;
}
@@ -126,8 +125,7 @@
*
* @param children List of DependencyNode to set as child nodes.
*/
- public void setChildren( List<DependencyNode> children )
- {
+ public void setChildren(List<DependencyNode> children) {
this.children = children;
}
@@ -135,8 +133,7 @@
* @return List of child nodes for this DependencyNode.
*/
@Override
- public List<DependencyNode> getChildren()
- {
+ public List<DependencyNode> getChildren() {
return children;
}
@@ -144,38 +141,32 @@
* @return Parent of this DependencyNode.
*/
@Override
- public DependencyNode getParent()
- {
+ public DependencyNode getParent() {
return parent;
}
@Override
- public String getPremanagedVersion()
- {
+ public String getPremanagedVersion() {
return premanagedVersion;
}
@Override
- public String getPremanagedScope()
- {
+ public String getPremanagedScope() {
return premanagedScope;
}
@Override
- public String getVersionConstraint()
- {
+ public String getVersionConstraint() {
return versionConstraint;
}
@Override
- public Boolean getOptional()
- {
+ public Boolean getOptional() {
return optional;
}
@Override
- public List<Exclusion> getExclusions()
- {
+ public List<Exclusion> getExclusions() {
return exclusions;
}
@@ -183,8 +174,7 @@
* @return Stringified representation of this DependencyNode.
*/
@Override
- public String toNodeString()
- {
- return String.valueOf( artifact );
+ public String toNodeString() {
+ return String.valueOf(artifact);
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/DirectScopeDependencySelector.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/DirectScopeDependencySelector.java
index 2e6fc0a..63e2df5 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/DirectScopeDependencySelector.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/DirectScopeDependencySelector.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.internal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.internal;
import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencySelector;
@@ -26,29 +25,24 @@
/**
* A dependency selector that excludes dependencies of an specific Scope which occur beyond level one of the dependency
* graph.
- *
+ *
* @see Dependency#getScope()
* @author Gabriel Belingueres
* @since 3.1.0
*/
-public class DirectScopeDependencySelector
- implements DependencySelector
-{
+public class DirectScopeDependencySelector implements DependencySelector {
private final String scope;
private final int depth;
- public DirectScopeDependencySelector( String scope )
- {
- this( scope, 0 );
+ public DirectScopeDependencySelector(String scope) {
+ this(scope, 0);
}
- private DirectScopeDependencySelector( String scope, int depth )
- {
- if ( scope == null )
- {
- throw new IllegalArgumentException( "scope is null!" );
+ private DirectScopeDependencySelector(String scope, int depth) {
+ if (scope == null) {
+ throw new IllegalArgumentException("scope is null!");
}
this.scope = scope;
this.depth = depth;
@@ -56,77 +50,63 @@
/**
* Decides whether the specified dependency should be included in the dependency graph.
- *
+ *
* @param dependency The dependency to check, must not be {@code null}.
* @return {@code false} if the dependency should be excluded from the children of the current node, {@code true}
* otherwise.
*/
@Override
- public boolean selectDependency( Dependency dependency )
- {
- return depth < 2 || !scope.equals( dependency.getScope() );
+ public boolean selectDependency(Dependency dependency) {
+ return depth < 2 || !scope.equals(dependency.getScope());
}
/**
* Derives a dependency selector for the specified collection context. When calculating the child selector,
* implementors are strongly advised to simply return the current instance if nothing changed to help save memory.
- *
+ *
* @param context The dependency collection context, must not be {@code null}.
* @return The dependency selector for the target node, must not be {@code null}.
*/
@Override
- public DependencySelector deriveChildSelector( DependencyCollectionContext context )
- {
- if ( depth >= 2 )
- {
+ public DependencySelector deriveChildSelector(DependencyCollectionContext context) {
+ if (depth >= 2) {
return this;
}
- return new DirectScopeDependencySelector( scope, depth + 1 );
+ return new DirectScopeDependencySelector(scope, depth + 1);
}
@Override
- public int hashCode()
- {
+ public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + depth;
- result = prime * result + ( ( scope == null ) ? 0 : scope.hashCode() );
+ result = prime * result + ((scope == null) ? 0 : scope.hashCode());
return result;
}
@Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
+ public boolean equals(Object obj) {
+ if (this == obj) {
return true;
}
- if ( obj == null )
- {
+ if (obj == null) {
return false;
}
- if ( getClass() != obj.getClass() )
- {
+ if (getClass() != obj.getClass()) {
return false;
}
DirectScopeDependencySelector other = (DirectScopeDependencySelector) obj;
- if ( depth != other.depth )
- {
+ if (depth != other.depth) {
return false;
}
- if ( scope == null )
- {
- if ( other.scope != null )
- {
+ if (scope == null) {
+ if (other.scope != null) {
return false;
}
- }
- else if ( !scope.equals( other.scope ) )
- {
+ } else if (!scope.equals(other.scope)) {
return false;
}
return true;
}
-
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/VerboseDependencyNode.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/VerboseDependencyNode.java
index d13b623..b96d3e8 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/VerboseDependencyNode.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/VerboseDependencyNode.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.internal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.internal;
import java.util.List;
@@ -25,81 +24,73 @@
import org.apache.maven.model.Exclusion;
import org.apache.maven.shared.dependency.graph.DependencyNode;
-class VerboseDependencyNode
- extends DefaultDependencyNode
-{
+class VerboseDependencyNode extends DefaultDependencyNode {
private final ConflictData data;
-
- VerboseDependencyNode( DependencyNode parent, Artifact artifact, String premanagedVersion,
- String premanagedScope, String versionConstraint, Boolean optional,
- List<Exclusion> exclusions, ConflictData data )
- {
- super( parent, artifact, premanagedVersion, premanagedScope, versionConstraint, optional, exclusions );
+
+ VerboseDependencyNode(
+ DependencyNode parent,
+ Artifact artifact,
+ String premanagedVersion,
+ String premanagedScope,
+ String versionConstraint,
+ Boolean optional,
+ List<Exclusion> exclusions,
+ ConflictData data) {
+ super(parent, artifact, premanagedVersion, premanagedScope, versionConstraint, optional, exclusions);
this.data = data;
}
-
+
@Override
- public String toNodeString()
- {
+ public String toNodeString() {
StringBuilder buffer = new StringBuilder();
- boolean included = ( data.getWinnerVersion() == null );
+ boolean included = (data.getWinnerVersion() == null);
- if ( !included )
- {
- buffer.append( '(' );
+ if (!included) {
+ buffer.append('(');
}
- buffer.append( getArtifact() );
+ buffer.append(getArtifact());
- ItemAppender appender = new ItemAppender( buffer, included ? " (" : " - ", "; ", included ? ")" : "" );
+ ItemAppender appender = new ItemAppender(buffer, included ? " (" : " - ", "; ", included ? ")" : "");
- if ( getPremanagedVersion() != null )
- {
- appender.append( "version managed from ", getPremanagedVersion() );
+ if (getPremanagedVersion() != null) {
+ appender.append("version managed from ", getPremanagedVersion());
}
- if ( getPremanagedScope() != null )
- {
- appender.append( "scope managed from ", getPremanagedScope() );
+ if (getPremanagedScope() != null) {
+ appender.append("scope managed from ", getPremanagedScope());
}
- if ( data.getOriginalScope() != null )
- {
- appender.append( "scope updated from ", data.getOriginalScope() );
+ if (data.getOriginalScope() != null) {
+ appender.append("scope updated from ", data.getOriginalScope());
}
- if ( data.getIgnoredScope() != null )
- {
- appender.append( "scope not updated to ", data.getIgnoredScope() );
+ if (data.getIgnoredScope() != null) {
+ appender.append("scope not updated to ", data.getIgnoredScope());
}
-// if ( getVersionSelectedFromRange() != null )
-// {
-// appender.append( "version selected from range ", getVersionSelectedFromRange().toString() );
-// appender.append( "available versions ", getAvailableVersions().toString() );
-// }
+ // if ( getVersionSelectedFromRange() != null )
+ // {
+ // appender.append( "version selected from range ", getVersionSelectedFromRange().toString() );
+ // appender.append( "available versions ", getAvailableVersions().toString() );
+ // }
- if ( !included )
- {
- String winnerVersion = data.getWinnerVersion();
- if ( winnerVersion.equals( getArtifact().getVersion() ) )
- {
- appender.append( "omitted for duplicate" );
- }
- else
- {
- appender.append( "omitted for conflict with ", winnerVersion );
+ if (!included) {
+ String winnerVersion = data.getWinnerVersion();
+ if (winnerVersion.equals(getArtifact().getVersion())) {
+ appender.append("omitted for duplicate");
+ } else {
+ appender.append("omitted for conflict with ", winnerVersion);
}
}
appender.flush();
- if ( !included )
- {
- buffer.append( ')' );
+ if (!included) {
+ buffer.append(')');
}
return buffer.toString();
@@ -108,8 +99,7 @@
/**
* Utility class to concatenate a number of parameters with separator tokens.
*/
- private static class ItemAppender
- {
+ private static class ItemAppender {
private StringBuilder buffer;
private String startToken;
@@ -120,8 +110,7 @@
private boolean appended;
- ItemAppender( StringBuilder buffer, String startToken, String separatorToken, String endToken )
- {
+ ItemAppender(StringBuilder buffer, String startToken, String separatorToken, String endToken) {
this.buffer = buffer;
this.startToken = startToken;
this.separatorToken = separatorToken;
@@ -130,37 +119,32 @@
appended = false;
}
- public ItemAppender append( String item1 )
- {
+ public ItemAppender append(String item1) {
appendToken();
- buffer.append( item1 );
+ buffer.append(item1);
return this;
}
- public ItemAppender append( String item1, String item2 )
- {
+ public ItemAppender append(String item1, String item2) {
appendToken();
- buffer.append( item1 ).append( item2 );
+ buffer.append(item1).append(item2);
return this;
}
- public void flush()
- {
- if ( appended )
- {
- buffer.append( endToken );
+ public void flush() {
+ if (appended) {
+ buffer.append(endToken);
appended = false;
}
}
- private void appendToken()
- {
- buffer.append( appended ? separatorToken : startToken );
+ private void appendToken() {
+ buffer.append(appended ? separatorToken : startToken);
appended = true;
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/VerboseJavaScopeSelector.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/VerboseJavaScopeSelector.java
index b5cd5ee..7cf2194 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/VerboseJavaScopeSelector.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/VerboseJavaScopeSelector.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.internal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,48 +16,43 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.internal;
+
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
import org.eclipse.aether.RepositoryException;
import org.eclipse.aether.util.graph.transformer.ConflictResolver.ConflictContext;
import org.eclipse.aether.util.graph.transformer.ConflictResolver.ScopeSelector;
import org.eclipse.aether.util.graph.transformer.JavaScopeSelector;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
/**
- * A JavaScopeSelector that keeps track of reduced scopes
- *
+ * A JavaScopeSelector that keeps track of reduced scopes.
*/
-public class VerboseJavaScopeSelector extends ScopeSelector
-{
+public class VerboseJavaScopeSelector extends ScopeSelector {
public static final String REDUCED_SCOPE = "REDUCED_SCOPE";
-
+
private final ScopeSelector scopeSelector = new JavaScopeSelector();
@Override
- public void selectScope( ConflictContext context )
- throws RepositoryException
- {
- scopeSelector.selectScope( context );
-
+ public void selectScope(ConflictContext context) throws RepositoryException {
+ scopeSelector.selectScope(context);
+
context.getItems().stream()
- .flatMap( i -> i.getScopes().stream() )
- .distinct()
- .max( new ScopeComparator() )
- .filter( s -> s != context.getScope() )
- .ifPresent( s -> context.getWinner().getNode().setData( REDUCED_SCOPE, s ) );
+ .flatMap(i -> i.getScopes().stream())
+ .distinct()
+ .max(new ScopeComparator())
+ .filter(s -> s != context.getScope())
+ .ifPresent(s -> context.getWinner().getNode().setData(REDUCED_SCOPE, s));
}
-
- static class ScopeComparator implements Comparator<String>
- {
- List<String> orderedScopes = Arrays.asList( "compile", "runtime", "provided", "test" );
+
+ static class ScopeComparator implements Comparator<String> {
+ List<String> orderedScopes = Arrays.asList("compile", "runtime", "provided", "test");
@Override
- public int compare( String lhs, String rhs )
- {
- return orderedScopes.indexOf( rhs ) - orderedScopes.indexOf( lhs );
+ public int compare(String lhs, String rhs) {
+ return orderedScopes.indexOf(rhs) - orderedScopes.indexOf(lhs);
}
- }
+ }
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/BuildingDependencyNodeVisitor.java b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/BuildingDependencyNodeVisitor.java
index 159e9e9..e2f3537 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/BuildingDependencyNodeVisitor.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/BuildingDependencyNodeVisitor.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.traversal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.traversal;
import java.util.ArrayList;
import java.util.Stack;
@@ -28,12 +27,10 @@
/**
* A dependency node visitor that clones visited nodes into a new dependency tree. This can be used in conjunction with
* a dependency node filter to construct subtrees.
- *
+ *
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
*/
-public class BuildingDependencyNodeVisitor
- implements DependencyNodeVisitor
-{
+public class BuildingDependencyNodeVisitor implements DependencyNodeVisitor {
// fields -----------------------------------------------------------------
/**
@@ -56,20 +53,18 @@
/**
* Creates a dependency node visitor that clones visited nodes into a new dependency tree.
*/
- public BuildingDependencyNodeVisitor()
- {
- this( null );
+ public BuildingDependencyNodeVisitor() {
+ this(null);
}
/**
* Creates a dependency node visitor that clones visited nodes into a new dependency tree, and then applies the
* specified dependency node visitor on the resultant dependency tree.
- *
+ *
* @param visitor the dependency node visitor to apply on the resultant dependency tree, or <code>null</code> for
* none
*/
- public BuildingDependencyNodeVisitor( DependencyNodeVisitor visitor )
- {
+ public BuildingDependencyNodeVisitor(DependencyNodeVisitor visitor) {
this.visitor = visitor;
parentNodes = new Stack<>();
@@ -81,27 +76,26 @@
* {@inheritDoc}
*/
@Override
- public boolean visit( DependencyNode node )
- {
+ public boolean visit(DependencyNode node) {
// clone the node
- DefaultDependencyNode newNode =
- new DefaultDependencyNode( parentNodes.isEmpty() ? null : parentNodes.peek(), node.getArtifact(),
- node.getPremanagedVersion(), node.getPremanagedScope(),
- node.getVersionConstraint(),
- node.getOptional(), node.getExclusions() );
- newNode.setChildren( new ArrayList<>() );
+ DefaultDependencyNode newNode = new DefaultDependencyNode(
+ parentNodes.isEmpty() ? null : parentNodes.peek(),
+ node.getArtifact(),
+ node.getPremanagedVersion(),
+ node.getPremanagedScope(),
+ node.getVersionConstraint(),
+ node.getOptional(),
+ node.getExclusions());
+ newNode.setChildren(new ArrayList<>());
- if ( parentNodes.empty() )
- {
+ if (parentNodes.empty()) {
rootNode = newNode;
- }
- else
- {
+ } else {
DependencyNode parentNode = parentNodes.peek();
- parentNode.getChildren().add( newNode );
+ parentNode.getChildren().add(newNode);
}
- parentNodes.push( newNode );
+ parentNodes.push(newNode);
return true;
}
@@ -110,14 +104,12 @@
* {@inheritDoc}
*/
@Override
- public boolean endVisit( DependencyNode node )
- {
+ public boolean endVisit(DependencyNode node) {
parentNodes.pop();
// apply the visitor to the resultant tree on the last visit
- if ( parentNodes.empty() && visitor != null )
- {
- rootNode.accept( visitor );
+ if (parentNodes.empty() && visitor != null) {
+ rootNode.accept(visitor);
}
return true;
@@ -127,21 +119,19 @@
/**
* Gets the dependency node visitor that this visitor applies on the resultant dependency tree.
- *
+ *
* @return the dependency node visitor, or <code>null</code> for none
*/
- public DependencyNodeVisitor getDependencyNodeVisitor()
- {
+ public DependencyNodeVisitor getDependencyNodeVisitor() {
return visitor;
}
/**
* Gets the root node of the resultant dependency tree constructed by this visitor.
- *
+ *
* @return the root node, or <code>null</code> if the source tree has not yet been visited
*/
- public DependencyNode getDependencyTree()
- {
+ public DependencyNode getDependencyTree() {
return rootNode;
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/CollectingDependencyNodeVisitor.java b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/CollectingDependencyNodeVisitor.java
index 129e2d5..49fa9c2 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/CollectingDependencyNodeVisitor.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/CollectingDependencyNodeVisitor.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.traversal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.traversal;
import java.util.ArrayList;
import java.util.Collections;
@@ -27,14 +26,12 @@
/**
* A dependency node visitor that collects visited nodes for further processing.
- *
+ *
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
* @version $Id$
* @since 1.1
*/
-public class CollectingDependencyNodeVisitor
- implements DependencyNodeVisitor
-{
+public class CollectingDependencyNodeVisitor implements DependencyNodeVisitor {
// fields -----------------------------------------------------------------
/**
@@ -47,8 +44,7 @@
/**
* Creates a dependency node visitor that collects visited nodes for further processing.
*/
- public CollectingDependencyNodeVisitor()
- {
+ public CollectingDependencyNodeVisitor() {
nodes = new ArrayList<>();
}
@@ -58,10 +54,9 @@
* {@inheritDoc}
*/
@Override
- public boolean visit( DependencyNode node )
- {
+ public boolean visit(DependencyNode node) {
// collect node
- nodes.add( node );
+ nodes.add(node);
return true;
}
@@ -70,8 +65,7 @@
* {@inheritDoc}
*/
@Override
- public boolean endVisit( DependencyNode node )
- {
+ public boolean endVisit(DependencyNode node) {
return true;
}
@@ -79,11 +73,10 @@
/**
* Gets the list of collected dependency nodes.
- *
+ *
* @return the list of collected dependency nodes
*/
- public List<DependencyNode> getNodes()
- {
- return Collections.unmodifiableList( nodes );
+ public List<DependencyNode> getNodes() {
+ return Collections.unmodifiableList(nodes);
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/DependencyNodeVisitor.java b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/DependencyNodeVisitor.java
index f50a8ae..550d848 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/DependencyNodeVisitor.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/DependencyNodeVisitor.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.traversal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,33 +16,33 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.traversal;
import org.apache.maven.shared.dependency.graph.DependencyNode;
/**
* Defines a hierarchical visitor for processing dependency node trees.
- *
+ *
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
* @version $Id$
* @since 1.1
*/
-public interface DependencyNodeVisitor
-{
+public interface DependencyNodeVisitor {
/**
* Starts the visit to the specified dependency node.
- *
+ *
* @param node the dependency node to visit
* @return <code>true</code> to visit the specified dependency node's children, <code>false</code> to skip the
* specified dependency node's children and proceed to its next sibling
*/
- boolean visit( DependencyNode node );
+ boolean visit(DependencyNode node);
/**
* Ends the visit to to the specified dependency node.
- *
+ *
* @param node the dependency node to visit
* @return <code>true</code> to visit the specified dependency node's next sibling, <code>false</code> to skip the
* specified dependency node's next siblings and proceed to its parent
*/
- boolean endVisit( DependencyNode node );
+ boolean endVisit(DependencyNode node);
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/FilteringDependencyNodeVisitor.java b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/FilteringDependencyNodeVisitor.java
index 6c11fa6..e530344 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/FilteringDependencyNodeVisitor.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/FilteringDependencyNodeVisitor.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.traversal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,20 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.traversal;
import org.apache.maven.shared.dependency.graph.DependencyNode;
import org.apache.maven.shared.dependency.graph.filter.DependencyNodeFilter;
/**
* A dependency node visitor that filters nodes and delegates to another visitor.
- *
+ *
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
* @version $Id$
* @since 1.1
*/
-public class FilteringDependencyNodeVisitor
- implements DependencyNodeVisitor
-{
+public class FilteringDependencyNodeVisitor implements DependencyNodeVisitor {
// fields -----------------------------------------------------------------
/**
@@ -49,12 +46,11 @@
/**
* Creates a dependency node visitor that delegates nodes that are accepted by the specified filter to the specified
* visitor.
- *
+ *
* @param visitor the dependency node visitor to delegate to
* @param filter the dependency node filter to apply before delegation
*/
- public FilteringDependencyNodeVisitor( DependencyNodeVisitor visitor, DependencyNodeFilter filter )
- {
+ public FilteringDependencyNodeVisitor(DependencyNodeVisitor visitor, DependencyNodeFilter filter) {
this.visitor = visitor;
this.filter = filter;
}
@@ -65,16 +61,12 @@
* {@inheritDoc}
*/
@Override
- public boolean visit( DependencyNode node )
- {
+ public boolean visit(DependencyNode node) {
boolean visit;
- if ( filter.accept( node ) )
- {
- visit = visitor.visit( node );
- }
- else
- {
+ if (filter.accept(node)) {
+ visit = visitor.visit(node);
+ } else {
visit = true;
}
@@ -85,16 +77,12 @@
* {@inheritDoc}
*/
@Override
- public boolean endVisit( DependencyNode node )
- {
+ public boolean endVisit(DependencyNode node) {
boolean visit;
- if ( filter.accept( node ) )
- {
- visit = visitor.endVisit( node );
- }
- else
- {
+ if (filter.accept(node)) {
+ visit = visitor.endVisit(node);
+ } else {
visit = true;
}
@@ -105,21 +93,19 @@
/**
* Gets the dependency node visitor that this visitor delegates to.
- *
+ *
* @return the dependency node visitor
*/
- public DependencyNodeVisitor getDependencyNodeVisitor()
- {
+ public DependencyNodeVisitor getDependencyNodeVisitor() {
return visitor;
}
/**
* Gets the dependency node filter that this visitor applies before delegation.
- *
+ *
* @return the dependency node filter
*/
- public DependencyNodeFilter getDependencyNodeFilter()
- {
+ public DependencyNodeFilter getDependencyNodeFilter() {
return filter;
}
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/SerializingDependencyNodeVisitor.java b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/SerializingDependencyNodeVisitor.java
index 526aff0..ce4f321 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/traversal/SerializingDependencyNodeVisitor.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/traversal/SerializingDependencyNodeVisitor.java
@@ -1,5 +1,3 @@
-package org.apache.maven.shared.dependency.graph.traversal;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -9,7 +7,7 @@
* "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
+ * 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
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.maven.shared.dependency.graph.traversal;
import java.io.PrintWriter;
import java.io.Writer;
@@ -27,19 +26,16 @@
/**
* A dependency node visitor that serializes visited nodes to a writer.
- *
+ *
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
*/
-public class SerializingDependencyNodeVisitor
- implements DependencyNodeVisitor
-{
+public class SerializingDependencyNodeVisitor implements DependencyNodeVisitor {
// classes ----------------------------------------------------------------
/**
* Provides tokens to use when serializing the dependency graph.
*/
- public static class GraphTokens
- {
+ public static class GraphTokens {
private final String nodeIndent;
private final String lastNodeIndent;
@@ -48,21 +44,18 @@
private final String lastFillIndent;
- public GraphTokens( String nodeIndent, String lastNodeIndent, String fillIndent, String lastFillIndent )
- {
+ public GraphTokens(String nodeIndent, String lastNodeIndent, String fillIndent, String lastFillIndent) {
this.nodeIndent = nodeIndent;
this.lastNodeIndent = lastNodeIndent;
this.fillIndent = fillIndent;
this.lastFillIndent = lastFillIndent;
}
- public String getNodeIndent( boolean last )
- {
+ public String getNodeIndent(boolean last) {
return last ? lastNodeIndent : nodeIndent;
}
- public String getFillIndent( boolean last )
- {
+ public String getFillIndent(boolean last) {
return last ? lastFillIndent : fillIndent;
}
}
@@ -72,18 +65,18 @@
/**
* Whitespace tokens to use when outputing the dependency graph.
*/
- public static final GraphTokens WHITESPACE_TOKENS = new GraphTokens( " ", " ", " ", " " );
+ public static final GraphTokens WHITESPACE_TOKENS = new GraphTokens(" ", " ", " ", " ");
/**
* The standard ASCII tokens to use when outputing the dependency graph.
*/
- public static final GraphTokens STANDARD_TOKENS = new GraphTokens( "+- ", "\\- ", "| ", " " );
+ public static final GraphTokens STANDARD_TOKENS = new GraphTokens("+- ", "\\- ", "| ", " ");
/**
* The extended ASCII tokens to use when outputing the dependency graph.
*/
- public static final GraphTokens EXTENDED_TOKENS = new GraphTokens( "\u251C\u2500 ", "\u2514\u2500 ", "\u2502 ",
- " " );
+ public static final GraphTokens EXTENDED_TOKENS =
+ new GraphTokens("\u251C\u2500 ", "\u2514\u2500 ", "\u2502 ", " ");
// fields -----------------------------------------------------------------
@@ -106,30 +99,25 @@
/**
* Creates a dependency node visitor that serializes visited nodes to the specified writer using whitespace tokens.
- *
+ *
* @param writer the writer to serialize to
*/
- public SerializingDependencyNodeVisitor( Writer writer )
- {
- this( writer, WHITESPACE_TOKENS );
+ public SerializingDependencyNodeVisitor(Writer writer) {
+ this(writer, WHITESPACE_TOKENS);
}
/**
* Creates a dependency node visitor that serializes visited nodes to the specified writer using the specified
* tokens.
- *
+ *
* @param writer the writer to serialize to
* @param tokens the tokens to use when serializing the dependency graph
*/
- public SerializingDependencyNodeVisitor( Writer writer, GraphTokens tokens )
- {
- if ( writer instanceof PrintWriter )
- {
+ public SerializingDependencyNodeVisitor(Writer writer, GraphTokens tokens) {
+ if (writer instanceof PrintWriter) {
this.writer = (PrintWriter) writer;
- }
- else
- {
- this.writer = new PrintWriter( writer, true );
+ } else {
+ this.writer = new PrintWriter(writer, true);
}
this.tokens = tokens;
@@ -143,11 +131,10 @@
* {@inheritDoc}
*/
@Override
- public boolean visit( DependencyNode node )
- {
- indent( node );
+ public boolean visit(DependencyNode node) {
+ indent(node);
- writer.println( node.toNodeString() );
+ writer.println(node.toNodeString());
depth++;
@@ -158,8 +145,7 @@
* {@inheritDoc}
*/
@Override
- public boolean endVisit( DependencyNode node )
- {
+ public boolean endVisit(DependencyNode node) {
depth--;
return true;
@@ -169,45 +155,38 @@
/**
* Writes the necessary tokens to indent the specified dependency node to this visitor's writer.
- *
+ *
* @param node the dependency node to indent
*/
- private void indent( DependencyNode node )
- {
- for ( int i = 1; i < depth; i++ )
- {
- writer.write( tokens.getFillIndent( isLast( node, i ) ) );
+ private void indent(DependencyNode node) {
+ for (int i = 1; i < depth; i++) {
+ writer.write(tokens.getFillIndent(isLast(node, i)));
}
- if ( depth > 0 )
- {
- writer.write( tokens.getNodeIndent( isLast( node ) ) );
+ if (depth > 0) {
+ writer.write(tokens.getNodeIndent(isLast(node)));
}
}
/**
* Gets whether the specified dependency node is the last of its siblings.
- *
+ *
* @param node the dependency node to check
* @return <code>true</code> if the specified dependency node is the last of its last siblings
*/
- private boolean isLast( DependencyNode node )
- {
+ private boolean isLast(DependencyNode node) {
// TODO: remove node argument and calculate from visitor calls only
DependencyNode parent = node.getParent();
boolean last;
- if ( parent == null )
- {
+ if (parent == null) {
last = true;
- }
- else
- {
+ } else {
List<DependencyNode> siblings = parent.getChildren();
- last = ( siblings.indexOf( node ) == siblings.size() - 1 );
+ last = (siblings.indexOf(node) == siblings.size() - 1);
}
return last;
@@ -215,22 +194,20 @@
/**
* Gets whether the specified dependency node ancestor is the last of its siblings.
- *
+ *
* @param node the dependency node whose ancestor to check
* @param ancestorDepth the depth of the ancestor of the specified dependency node to check
* @return <code>true</code> if the specified dependency node ancestor is the last of its siblings
*/
- private boolean isLast( DependencyNode node, int ancestorDepth )
- {
+ private boolean isLast(DependencyNode node, int ancestorDepth) {
// TODO: remove node argument and calculate from visitor calls only
int distance = depth - ancestorDepth;
- while ( distance-- > 0 )
- {
+ while (distance-- > 0) {
node = node.getParent();
}
- return isLast( node );
+ return isLast(node);
}
}