1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.api.services;
20
21 import java.util.List;
22
23 import org.apache.maven.api.DependencyCoordinate;
24 import org.apache.maven.api.Node;
25 import org.apache.maven.api.Project;
26 import org.apache.maven.api.ResolutionScope;
27 import org.apache.maven.api.Service;
28 import org.apache.maven.api.Session;
29 import org.apache.maven.api.annotations.Experimental;
30 import org.apache.maven.api.annotations.Nonnull;
31
32
33
34
35 @Experimental
36 public interface DependencyResolver extends Service {
37
38 List<Node> flatten(Session session, Node node, ResolutionScope scope) throws DependencyResolverException;
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 DependencyResolverResult resolve(DependencyResolverRequest request)
54 throws DependencyCollectorException, DependencyResolverException, ArtifactResolverException;
55
56 @Nonnull
57 default DependencyResolverResult resolve(@Nonnull Session session, @Nonnull Project project) {
58 return resolve(DependencyResolverRequest.build(session, project));
59 }
60
61 @Nonnull
62 default DependencyResolverResult resolve(
63 @Nonnull Session session, @Nonnull Project project, @Nonnull ResolutionScope scope) {
64 return resolve(DependencyResolverRequest.build(session, project, scope));
65 }
66
67 @Nonnull
68 default DependencyResolverResult resolve(@Nonnull Session session, @Nonnull DependencyCoordinate dependency) {
69 return resolve(DependencyResolverRequest.build(session, dependency));
70 }
71
72 @Nonnull
73 default DependencyResolverResult resolve(
74 @Nonnull Session session, @Nonnull DependencyCoordinate dependency, @Nonnull ResolutionScope scope) {
75 return resolve(DependencyResolverRequest.build(session, dependency, scope));
76 }
77
78 @Nonnull
79 default DependencyResolverResult resolve(
80 @Nonnull Session session, @Nonnull List<DependencyCoordinate> dependencies) {
81 return resolve(DependencyResolverRequest.build(session, dependencies));
82 }
83
84 @Nonnull
85 default DependencyResolverResult resolve(
86 @Nonnull Session session,
87 @Nonnull List<DependencyCoordinate> dependencies,
88 @Nonnull ResolutionScope scope) {
89 return resolve(DependencyResolverRequest.build(session, dependencies, scope));
90 }
91 }