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