1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import org.apache.maven.api.services.Lookup;
26 import org.apache.maven.bridge.MavenRepositorySystem;
27 import org.apache.maven.execution.MavenSession;
28 import org.apache.maven.rtinfo.RuntimeInformation;
29 import org.eclipse.aether.RepositorySystem;
30
31 @Singleton
32 @Named
33 public class DefaultSessionFactory {
34 private final RepositorySystem repositorySystem;
35 private final MavenRepositorySystem mavenRepositorySystem;
36 private final Lookup lookup;
37 private final RuntimeInformation runtimeInformation;
38
39 @Inject
40 @SuppressWarnings("checkstyle:ParameterNumber")
41 public DefaultSessionFactory(
42 RepositorySystem repositorySystem,
43 MavenRepositorySystem mavenRepositorySystem,
44 Lookup lookup,
45 RuntimeInformation runtimeInformation) {
46 this.repositorySystem = repositorySystem;
47 this.mavenRepositorySystem = mavenRepositorySystem;
48 this.lookup = lookup;
49 this.runtimeInformation = runtimeInformation;
50 }
51
52 public InternalSession newSession(MavenSession mavenSession) {
53 InternalSession session = new DefaultSession(
54 mavenSession, repositorySystem, null, mavenRepositorySystem, lookup, runtimeInformation);
55 InternalSession.associate(mavenSession.getRepositorySession(), session);
56 return session;
57 }
58 }