1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.impl;
20
21 import java.util.Collection;
22 import java.util.List;
23 import java.util.function.Function;
24
25 import org.apache.maven.api.Artifact;
26 import org.apache.maven.api.ArtifactCoordinates;
27 import org.apache.maven.api.Dependency;
28 import org.apache.maven.api.DependencyCoordinates;
29 import org.apache.maven.api.LocalRepository;
30 import org.apache.maven.api.Node;
31 import org.apache.maven.api.RemoteRepository;
32 import org.apache.maven.api.Repository;
33 import org.apache.maven.api.Session;
34 import org.apache.maven.api.WorkspaceRepository;
35 import org.apache.maven.api.annotations.Nonnull;
36 import org.apache.maven.api.annotations.Nullable;
37 import org.apache.maven.api.services.Request;
38 import org.apache.maven.api.services.RequestTrace;
39 import org.apache.maven.api.services.Result;
40 import org.eclipse.aether.RepositorySystem;
41 import org.eclipse.aether.RepositorySystemSession;
42
43 import static org.apache.maven.impl.Utils.cast;
44
45 public interface InternalSession extends Session {
46
47 static InternalSession from(Session session) {
48 return cast(InternalSession.class, session, "session should be an " + InternalSession.class);
49 }
50
51 static InternalSession from(org.eclipse.aether.RepositorySystemSession session) {
52 return cast(InternalSession.class, session.getData().get(InternalSession.class), "session");
53 }
54
55 static void associate(org.eclipse.aether.RepositorySystemSession rsession, Session session) {
56 if (!rsession.getData().set(InternalSession.class, null, from(session))) {
57 throw new IllegalStateException("A maven session is already associated with the repository session");
58 }
59 }
60
61
62
63
64
65
66
67
68
69
70
71
72
73 <REQ extends Request<?>, REP extends Result<REQ>> REP request(REQ req, Function<REQ, REP> supplier);
74
75 <REQ extends Request<?>, REP extends Result<REQ>> List<REP> requests(
76 List<REQ> req, Function<List<REQ>, List<REP>> supplier);
77
78 RemoteRepository getRemoteRepository(org.eclipse.aether.repository.RemoteRepository repository);
79
80 LocalRepository getLocalRepository(org.eclipse.aether.repository.LocalRepository repository);
81
82 WorkspaceRepository getWorkspaceRepository(org.eclipse.aether.repository.WorkspaceRepository repository);
83
84 Repository getRepository(org.eclipse.aether.repository.ArtifactRepository repository);
85
86 Node getNode(org.eclipse.aether.graph.DependencyNode node);
87
88 Node getNode(org.eclipse.aether.graph.DependencyNode node, boolean verbose);
89
90 @Nonnull
91 Artifact getArtifact(@Nonnull org.eclipse.aether.artifact.Artifact artifact);
92
93 @Nonnull
94 <T extends Artifact> T getArtifact(@Nonnull Class<T> clazz, @Nonnull org.eclipse.aether.artifact.Artifact artifact);
95
96 @Nonnull
97 Dependency getDependency(@Nonnull org.eclipse.aether.graph.Dependency dependency);
98
99 List<org.eclipse.aether.repository.RemoteRepository> toRepositories(List<RemoteRepository> repositories);
100
101 org.eclipse.aether.repository.RemoteRepository toRepository(RemoteRepository repository);
102
103 org.eclipse.aether.repository.LocalRepository toRepository(LocalRepository repository);
104
105 List<org.eclipse.aether.graph.Dependency> toDependencies(
106 Collection<DependencyCoordinates> dependencies, boolean managed);
107
108 org.eclipse.aether.graph.Dependency toDependency(DependencyCoordinates dependency, boolean managed);
109
110 List<org.eclipse.aether.artifact.Artifact> toArtifacts(Collection<? extends Artifact> artifacts);
111
112 org.eclipse.aether.artifact.Artifact toArtifact(Artifact artifact);
113
114 org.eclipse.aether.artifact.Artifact toArtifact(ArtifactCoordinates coords);
115
116 RepositorySystemSession getSession();
117
118 RepositorySystem getRepositorySystem();
119
120
121
122
123
124
125
126
127
128
129
130 void setCurrentTrace(@Nullable RequestTrace trace);
131
132
133
134
135
136
137
138
139
140 RequestTrace getCurrentTrace();
141 }